Hi,

i am trying to switch a driver i am writing from using KdPrintEx() to WPP.

I would like to still be able to switch to KdPrintEx, so i defined a -func
DbgTrace(FLAGS,MSG,...) if i want to use KdPrintEx i basically just disable
WPP and #define DbgTrace as KdPrintEx. ( i just read, that i could maybe use
WPP_DEBUG to dump to debugger instead... will investigate)

Anyway, my prints include %llx to print a ULONG64... if i build, i get errors:
"error : (ParsedFormatString::init)Type 'll' not found." and the .tmh file
is not generated...
If i replace %llx with %lx, i don't get the error anymore, but a warning
about the type mismatch (unsigned long vs. ULONG64)...

It seems to me the WPP preprocessor does not understand %llx... is there any
way, i can circumvent this???

Best Regards, Pattrick

Re: using %llx in WPP Message by Don

Don
Wed Jul 23 06:30:30 CDT 2008

The syntax for a ULONG64 is %I64x not %llx.


--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply



"phueper" <phueper@discussions.microsoft.com> wrote in message
news:EF03DC9F-9DCC-4494-BCA3-C34C1CFD9E1C@microsoft.com...
> Hi,
>
> i am trying to switch a driver i am writing from using KdPrintEx() to WPP.
>
> I would like to still be able to switch to KdPrintEx, so i defined a -func
> DbgTrace(FLAGS,MSG,...) if i want to use KdPrintEx i basically just
> disable
> WPP and #define DbgTrace as KdPrintEx. ( i just read, that i could maybe
> use
> WPP_DEBUG to dump to debugger instead... will investigate)
>
> Anyway, my prints include %llx to print a ULONG64... if i build, i get
> errors:
> "error : (ParsedFormatString::init)Type 'll' not found." and the .tmh file
> is not generated...
> If i replace %llx with %lx, i don't get the error anymore, but a warning
> about the type mismatch (unsigned long vs. ULONG64)...
>
> It seems to me the WPP preprocessor does not understand %llx... is there
> any
> way, i can circumvent this???
>
> Best Regards, Pattrick



Re: using %llx in WPP Message by Pavel

Pavel
Wed Jul 23 12:39:13 CDT 2008

Don Burn wrote:
> The syntax for a ULONG64 is %I64x not %llx.

The I64 format exists in both kernel and usermode for

quite long time; %ll has been added much later - in VS2005 SP1 or VS
2008, IIRC.


Regards,
--PA

Re: using %llx in WPP Message by Mai

Mai
Wed Jul 23 14:37:50 CDT 2008

In article <48876CC1.5070204@NOfastmailNO.fm>, pavel says...
> Don Burn wrote:
> > The syntax for a ULONG64 is %I64x not %llx.
>
> The I64 format exists in both kernel and usermode for
>
> quite long time; %ll has been added much later - in VS2005 SP1 or VS
> 2008, IIRC.

yeah, and this is pretty bad, because %ll is part of the Standard
ANSI/ISO/IEC C99. Microsoft seems to not beeing interested in following
standards. :-(

--
Mai Kee Reiss

Re: using %llx in WPP Message by Don

Don
Wed Jul 23 16:13:05 CDT 2008

C99 is a standard many firms do not follow. Microsoft has added %ll in
Visual Studio and some day it will work its way into the compiler that is
certified for kernel development. Even then, this also requires a kernel
change and I know of no ANSI standard for Windows kernels.

There are a lot of things one can complain about in the Windows kernel with
justification, but this is not one of them.

--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply






"Mai Kee Reiss" <MaiK_NOSPAM_reiss@yahoo.de> wrote in message
news:MPG.22f1a6fdc5dea5399896d5@mail.home...
> In article <48876CC1.5070204@NOfastmailNO.fm>, pavel says...
>> Don Burn wrote:
>> > The syntax for a ULONG64 is %I64x not %llx.
>>
>> The I64 format exists in both kernel and usermode for
>>
>> quite long time; %ll has been added much later - in VS2005 SP1 or VS
>> 2008, IIRC.
>
> yeah, and this is pretty bad, because %ll is part of the Standard
> ANSI/ISO/IEC C99. Microsoft seems to not beeing interested in following
> standards. :-(
>
> --
> Mai Kee Reiss



Re: using %llx in WPP Message by Doron

Doron
Wed Jul 23 23:22:17 CDT 2008

i forwarded this thread on to the owners of WPP. I hope that we can add
support for %ll in the next WDK release

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Don Burn" <burn@stopspam.windrvr.com> wrote in message
news:OmsOojQ7IHA.5440@TK2MSFTNGP02.phx.gbl...
> C99 is a standard many firms do not follow. Microsoft has added %ll in
> Visual Studio and some day it will work its way into the compiler that is
> certified for kernel development. Even then, this also requires a kernel
> change and I know of no ANSI standard for Windows kernels.
>
> There are a lot of things one can complain about in the Windows kernel
> with justification, but this is not one of them.
>
> --
> Don Burn (MVP, Windows DDK)
> Windows 2k/XP/2k3 Filesystem and Driver Consulting
> Website: http://www.windrvr.com
> Blog: http://msmvps.com/blogs/WinDrvr
> Remove StopSpam to reply
>
>
>
>
>
>
> "Mai Kee Reiss" <MaiK_NOSPAM_reiss@yahoo.de> wrote in message
> news:MPG.22f1a6fdc5dea5399896d5@mail.home...
>> In article <48876CC1.5070204@NOfastmailNO.fm>, pavel says...
>>> Don Burn wrote:
>>> > The syntax for a ULONG64 is %I64x not %llx.
>>>
>>> The I64 format exists in both kernel and usermode for
>>>
>>> quite long time; %ll has been added much later - in VS2005 SP1 or VS
>>> 2008, IIRC.
>>
>> yeah, and this is pretty bad, because %ll is part of the Standard
>> ANSI/ISO/IEC C99. Microsoft seems to not beeing interested in following
>> standards. :-(
>>
>> --
>> Mai Kee Reiss
>
>


Re: using %llx in WPP Message by Maxim

Maxim
Fri Jul 25 09:33:59 CDT 2008

> Anyway, my prints include %llx to print a ULONG64... if i build, i get
errors:

Try %I64x

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@storagecraft.com
http://www.storagecraft.com