From: Kevin on
Hi, I'm rather new to developing drivers for windows and I'd appreciate a bit
of help with what I've got going.
I've installed the latest Windows driver development kit on an x64 machine.
What I'm trying to do is to get the GenPrint print processor example from the
WinDDK to run on a Windows 2003 (x64) machine. If I run the "Windows Server
2003 x64 Checked Build Environment" and run the "build" command, it fails
with the message:
"BUILDMSG: Warning : The sample c:\winddk\6001.18001\print\genprint is not
valid for the current OS target."
I've been able to successfully compile and run a print processor compiled
with the Windows Vista/Server 2008 x64 Checked build environment running
Vista, but the dll file generated is unrecognized by the Windows Server 2003
x64. (I tried adding the dll manually and with AddPrintProcessor, neither of
which worked.) So, is there any way that I can compile the genprint example
with the server 2003 x64 compiler or to make the dll from the server 2008 x64
compiler work on server 2003?

Thanks for any help
From: Maxim S. Shatskih on
> "BUILDMSG: Warning : The sample c:\winddk\6001.18001\print\genprint is not
> valid for the current OS target."

Probably they removed the 2003-compat genprint at all from the kit. Try XP-compatible (if any).

You cannot run the binaries built by newer env on the older OS, this just does not work.

--
Maxim S. Shatskih
Windows DDK MVP
maxim(a)storagecraft.com
http://www.storagecraft.com

From: Tim Roberts on
Kevin <Kevin(a)discussions.microsoft.com> wrote:
>
>I've installed the latest Windows driver development kit on an x64 machine.

Actually, you haven't. The Windows 7 WDK (build 7600) is the latest.

>What I'm trying to do is to get the GenPrint print processor example from the
>WinDDK to run on a Windows 2003 (x64) machine. If I run the "Windows Server
>2003 x64 Checked Build Environment" and run the "build" command, it fails
>with the message:
>"BUILDMSG: Warning : The sample c:\winddk\6001.18001\print\genprint is not
>valid for the current OS target."
>
>...So, is there any way that I can compile the genprint example
>with the server 2003 x64 compiler...

Yes, although you're on your own a bit. This check is coming from the
"makefile". If you bring it up in an editor, you'll see
MINIMUM_NT_TARGET_VERSION = 0x600

You can comment that out by inserting a pound sign:
#MINIMUM_NT_TARGET_VERSION = 0x600

After you do so, the sample WILL build in the 2003 x64 environment.
However, I do not believe the resulting binary will actually work in 2003.
Several of the functions use the ATTRIBUTE_INFO_4 and PRINTPROCESSOR_CAPS_2
structures, which were first introduced in Vista.
--
Tim Roberts, timr(a)probo.com
Providenza & Boekelheide, Inc.