Well first of all it is a bug in the ddk that these new functions are
not documented. So you should enter a bug, if you can figure out how.
You can use a variety of mechanisms for dealing with multiple os
versions. The conditional compilation approach ends up with you having N
binaries, and is in my opinion not the way to go. The simplest approach
is to only use functionality defined for your lowest version target
platform. In this particular example, you have some debugger api stuff
that doesn’t exist in XP. Get rid of it. It is debugging code. Replace
it with something both documented and present in XP. The intermediate
approach is to do runtime checks for api presence and use up rev apis on
up rev platforms and substitutes where the apis are not available.
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of S. Drasnin
Sent: Wednesday, November 15, 2006 4:38 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Why doesn’t WDK 6000 sample pnpi8042 driver build
in WDK XP 0x86 build window?
Thanks for everyone’s responses.
As Tim suggested, I removed the check in the makefile and was able to
build.
However, I got an error complaining about KdChangeOption being undefined
(it’s only defined in wdm.h for NTDDI_VERSION >= NTDDI_WS03SP1).
I can’t find any documentation on KdChangeOption()- it’s being called in
I8xProcessCrashDump. What happens if it’s not called under XP (I was
going to add a #if (NTDDI_VERSION > NTDDI_WINXP) around the call? What
do you suggest I do to get around this?
if (DeviceExtension->CurrentCrashFlags == debugFlags) {
BOOLEAN Enable = FALSE;
DeviceExtension->CurrentCrashFlags = 0x0;
//
// Enable the debugger
//
KdChangeOption(KD_OPTION_SET_BLOCK_ENABLE,
sizeof(Enable), &Enable, 0, NULL, NULL);
KdEnableDebugger();
}
I based a driver on this pnpi8042 sample and I’m in the process of
updating it to build under the WDK for both XP and Vista. I picked up
the new WDK version and rolled-in my changes because there has been
significant changes to the sample driver since the last Windows 2003
Server DDK release.
thanks
----- Original Message -----
From: Doron Holan mailto:xxxxx
To: Windows System Software Devs Interest List
mailto:xxxxx
Sent: November 15, 2006 11:57 AM
Subject: RE: [ntdev] Why doesn’t WDK 6000 sample pnpi8042 driver
build in WDK XP 0x86 build window?
Pnpi8042 is not a KMDF driver, no need to install KMDF.
Besides, the WDK ships with KMDF already in it 
d
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of S. Drasnin
Sent: Wednesday, November 15, 2006 11:20 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Why doesn’t WDK 6000 sample pnpi8042 driver
build in WDK XP 0x86 build window?
Regarding my email below, is the build failing for XP because I
don’t have KMDF installed?
Is KMDF the latest version, btw? That’s what I could find on
MSDN.
I found a doc on MSDN “An Introduction to How to Build, Install,
Test and Debug KMDF Drivers”. If anybody knows this is out of date,
please let me know.
I’m using WDF for the first time and I’m trying to figure out
everything I need to do.
thanks
----- Original Message -----
From: S. Drasnin
To: Windows System Software Devs Interest List
Sent: November 15, 2006 10:36 AM
Subject: [ntdev] Why doesn’t WDK 6000 sample pnpi8042 driver
build in WDK XP 0x86 build window?
hi
I tried building (build -c) winddk\6000\src\input\pnpi8042 in
the WDK 6000 XP build window on a PC that was running XP SP2 and another
that was running Vista. It never generates a *.sys file on neither of
the machines.
However, if I build under the Vista x86 window on either of the
the XP or the Vista machine, it builds the *.sys file fine.
Is the pnpi8042 not supported under XP? Or what am I missing?
C:\WINDDK\6000\src\input\pnpi8042>build -c
BUILD: Compile and Link for x86
BUILD: Loading c:\winddk\6000\build.dat…
BUILD: Computing Include file dependencies:
BUILD: Start time: Wed Nov 15 10:29:26 2006
BUILD: Examining c:\winddk\6000\src\input\pnpi8042 directory
tree for files to c
ompile.
BUILD: Saving c:\winddk\6000\build.dat…
BUILD: Compiling and Linking
c:\winddk\6000\src\input\pnpi8042\daytona directory
BUILD: Finish time: Wed Nov 15 10:29:27 2006
BUILD: Done
Here’s buildchk_wxp_x86.log:
BUILD: Computing Include file dependencies:
BUILD: Examining c:\winddk\6000\src\input\pnpi8042 directory
tree for files to compile.
before AssemblyIdentity_AfterReadAllSources
after AssemblyIdentity_AfterReadAllSources
skipping post pass 0 command
Compiling and Linking c:\winddk\6000\src\input\pnpi8042\daytona
*************
‘nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS2 LINKONLY=1
NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR=src\input\pnpi8042\daytona
MAKEDIR_LOWERCASE=c:\winddk\6000\src\input\pnpi8042\daytona’
thanks in advance
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx>