ddk & sdk header files

Hi,
Is it safe to mix header files from ddk and sdk in same project space? I
remember seeing something to this effect that there are not compatible with
each other.

thanks

-----Original Message-----
From: Chris Dore [mailto:xxxxx@connecttech.com]
Sent: Wednesday, August 28, 2002 10:29 AM
To: NT Developers Interest List
Subject: [ntdev] Re: setting up .netstudio for ddk

Only the source batch file is available. I’ve never setup VS to use a DDK
before, is there a good description of how to do this somewhere?

Thanks, Chris

“Mark J. Cariddi” wrote in message news:xxxxx@ntdev…
>
> We recently wrote and NTINSIDER article about how to integrate with visual
> studio.net. And I believe that the explanation is available on
> www.osr.com.
>
>
>
> –
> Mark Cariddi
> Open Systems Resources, Inc.
> www.osr.com
> wrote in message news:xxxxx@ntdev…
> >
> > All,
> >
> > What is the secret to setting up .net studio for driver development?
> > I can’t seem to make the makefile environment work, I source
> > setenv.bat, cd to $(TARGETDIR) and run build - but the it switches
> > back to winddk\2600\src and starts a build there. Sheesh!
> >
> > edge
> >
> > –
> > B r i a n E d g i n t o n
> > e d g e @ e d g i n t o n . n e t
> > ( 8 0 1 ) 5 8 0 - 7 9 0 3
> > “I’d love to go out with you, but I have to floss my cat.”
> >
> >
> >
>
>
>
>


You are currently subscribed to ntdev as: xxxxx@Legato.COM
To unsubscribe send a blank email to %%email.unsub%%

ddk & sdk header filesIn general its not safe. The Types used by drivers are not the same ones exported to user mode.


Nar Ganapathy
Windows Core OS group
This posting is provided “AS IS” with no warranties, and confers no rights.

“Pashupati Kumar” wrote in message news:xxxxx@ntdev…
Hi,
Is it safe to mix header files from ddk and sdk in same project space? I remember seeing something to this effect that there are not compatible with each other.

thanks

-----Original Message-----
From: Chris Dore [mailto:xxxxx@connecttech.com]
Sent: Wednesday, August 28, 2002 10:29 AM
To: NT Developers Interest List
Subject: [ntdev] Re: setting up .netstudio for ddk

Only the source batch file is available. I’ve never setup VS to use a DDK
before, is there a good description of how to do this somewhere?

Thanks, Chris

“Mark J. Cariddi” wrote in message news:xxxxx@ntdev…
>
> We recently wrote and NTINSIDER article about how to integrate with visual
> studio.net. And I believe that the explanation is available on
> www.osr.com.
>
>
>
> –
> Mark Cariddi
> Open Systems Resources, Inc.
> www.osr.com
> wrote in message news:xxxxx@ntdev…
> >
> > All,
> >
> > What is the secret to setting up .net studio for driver development?
> > I can’t seem to make the makefile environment work, I source
> > setenv.bat, cd to $(TARGETDIR) and run build - but the it switches
> > back to winddk\2600\src and starts a build there. Sheesh!
> >
> > edge
> >
> > –
> > B r i a n E d g i n t o n
> > e d g e @ e d g i n t o n . n e t
> > ( 8 0 1 ) 5 8 0 - 7 9 0 3
> > “I’d love to go out with you, but I have to floss my cat.”
> >
> >
> >
>
>
>
>


You are currently subscribed to ntdev as: xxxxx@Legato.COM
To unsubscribe send a blank email to %%email.unsub%%

ddk & sdk header filesIt is NOT safe.

Details if you are interested:

The kernel mode headers and interfaces are NOT versioned per OS release, as
the user mode APIs are.

There are many files which contain kernel to user mode interfaces, and cross
between the API set and the DDIs. Some of these ship in both the SDK and
the DDK. Some of these cross over in non-intuitive manners, such as
#include paths.

Thus, if you get the SDK in path, and have your versioning set per Visual
Studio standards, you are getting OS version based #ifdef’s to get the
correct version of APIs, structures, typedefs, etc. *For the subset of
content which is versioned* For the rest, you get the actual live content
from whatever build of VC and the SDK you happen to have installed. No
guarantees on which OS release you are going to get interfaces for.

One complication here is that include path settings will impact this
overall - once you have the SDK and/or VC in your overall include path for
the driver build, you being taking risks here. Once the included file
search moves up on a build, it stays there and continues up. So, the
compile will continue to pick up from that location, even if there are
existing/correct versions in the DDK path structure. This is rather
difficult to track, and the reason you see various duplication of headers
under the DDK’s /inc directory structure is to account for this build
behavior.

If you stick with the DDK, you get separate file versions for each supported
OS, set in defined paths, to handle these differences based on Build
Environment settings.

Examples of some results if mix and match:

Some obvious build errors - easy identify once you know what you are looking
for.

Driver failure to load - often caused by standard inclusion of something not
available on platform - in dependant #include’d headers

Random corruption / bug check in driver at runtime - hard to track down. I
have seen various oddness here - structure and typedef size changes
mismatched to APIs is an example.

Hope this helps.
Jean


This posting is provided “AS IS” with no warranties, and confers no rights.

“Pashupati Kumar” wrote in message news:xxxxx@ntdev…
Hi,
Is it safe to mix header files from ddk and sdk in same project space? I
remember seeing something to this effect that there are not compatible with
each other.
thanks

-----Original Message-----
From: Chris Dore [mailto:xxxxx@connecttech.com]
Sent: Wednesday, August 28, 2002 10:29 AM
To: NT Developers Interest List
Subject: [ntdev] Re: setting up .netstudio for ddk

Only the source batch file is available. I’ve never setup VS to use a DDK
before, is there a good description of how to do this somewhere?
Thanks, Chris
“Mark J. Cariddi” wrote in message news:xxxxx@ntdev…
>
> We recently wrote and NTINSIDER article about how to integrate with visual
> studio.net. And I believe that the explanation is available on
> www.osr.com.
>
>
>
> –
> Mark Cariddi
> Open Systems Resources, Inc.
> www.osr.com
> wrote in message news:xxxxx@ntdev…
> >
> > All,
> >
> > What is the secret to setting up .net studio for driver development?
> > I can’t seem to make the makefile environment work, I source
> > setenv.bat, cd to $(TARGETDIR) and run build - but the it switches
> > back to winddk\2600\src and starts a build there. Sheesh!
> >
> > edge
> >
> > –
> > B r i a n E d g i n t o n
> > e d g e @ e d g i n t o n . n e t
> > ( 8 0 1 ) 5 8 0 - 7 9 0 3
> > “I’d love to go out with you, but I have to floss my cat.”
> >
> >
> >
>
>
>
>


You are currently subscribed to ntdev as: xxxxx@Legato.COM
To unsubscribe send a blank email to %%email.unsub%%

Jean,
Thanks for the detailed info. It really helped.
appreciated.

pash

-----Original Message-----
From: Jean Valentine [MS] [mailto:xxxxx@microsoft.com]
Sent: Saturday, September 14, 2002 12:07 AM
To: NT Developers Interest List
Subject: [ntdev] Re: ddk & sdk header files

ddk & sdk header filesIt is NOT safe.

Details if you are interested:

The kernel mode headers and interfaces are NOT versioned per OS release, as
the user mode APIs are.

There are many files which contain kernel to user mode interfaces, and cross
between the API set and the DDIs. Some of these ship in both the SDK and
the DDK. Some of these cross over in non-intuitive manners, such as
#include paths.

Thus, if you get the SDK in path, and have your versioning set per Visual
Studio standards, you are getting OS version based #ifdef’s to get the
correct version of APIs, structures, typedefs, etc. *For the subset of
content which is versioned* For the rest, you get the actual live content
from whatever build of VC and the SDK you happen to have installed. No
guarantees on which OS release you are going to get interfaces for.

One complication here is that include path settings will impact this
overall - once you have the SDK and/or VC in your overall include path for
the driver build, you being taking risks here. Once the included file
search moves up on a build, it stays there and continues up. So, the
compile will continue to pick up from that location, even if there are
existing/correct versions in the DDK path structure. This is rather
difficult to track, and the reason you see various duplication of headers
under the DDK’s /inc directory structure is to account for this build
behavior.

If you stick with the DDK, you get separate file versions for each supported
OS, set in defined paths, to handle these differences based on Build
Environment settings.

Examples of some results if mix and match:

Some obvious build errors - easy identify once you know what you are looking
for.

Driver failure to load - often caused by standard inclusion of something not
available on platform - in dependant #include’d headers

Random corruption / bug check in driver at runtime - hard to track down. I
have seen various oddness here - structure and typedef size changes
mismatched to APIs is an example.

Hope this helps.
Jean


This posting is provided “AS IS” with no warranties, and confers no rights.

“Pashupati Kumar” wrote in message news:xxxxx@ntdev…
Hi,
Is it safe to mix header files from ddk and sdk in same project space? I
remember seeing something to this effect that there are not compatible with
each other.
thanks

-----Original Message-----
From: Chris Dore [mailto:xxxxx@connecttech.com]
Sent: Wednesday, August 28, 2002 10:29 AM
To: NT Developers Interest List
Subject: [ntdev] Re: setting up .netstudio for ddk

Only the source batch file is available. I’ve never setup VS to use a DDK
before, is there a good description of how to do this somewhere?
Thanks, Chris
“Mark J. Cariddi” wrote in message news:xxxxx@ntdev…
>
> We recently wrote and NTINSIDER article about how to integrate with visual
> studio.net. And I believe that the explanation is available on
> www.osr.com.
>
>
>
> –
> Mark Cariddi
> Open Systems Resources, Inc.
> www.osr.com
> wrote in message news:xxxxx@ntdev…
> >
> > All,
> >
> > What is the secret to setting up .net studio for driver development?
> > I can’t seem to make the makefile environment work, I source
> > setenv.bat, cd to $(TARGETDIR) and run build - but the it switches
> > back to winddk\2600\src and starts a build there. Sheesh!
> >
> > edge
> >
> > –
> > B r i a n E d g i n t o n
> > e d g e @ e d g i n t o n . n e t
> > ( 8 0 1 ) 5 8 0 - 7 9 0 3
> > “I’d love to go out with you, but I have to floss my cat.”
> >
> >
> >
>
>
>
>


You are currently subscribed to ntdev as: xxxxx@Legato.COM
To unsubscribe send a blank email to %%email.unsub%%


You are currently subscribed to ntdev as: xxxxx@Legato.COM
To unsubscribe send a blank email to %%email.unsub%%