- usbiodev.h vs usbiodef.h
- Posted by HyperEngineer on May 14th, 2008
What is the difference between usbiodev.h and usbiodef.h? I have sample code
that calls for usbiodev.h. I have installed WDK and it has usbiodef.h.
Should I change the #include statement to call for usbiodef.h?
thanks,
--
If it aint broke, it probably needs improvement.
- Posted by Doron Holan [MSFT] on May 14th, 2008
what build errors do you get if you make the switch?
--
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.
"HyperEngineer" <HyperEngineer(at)comcast(dot)net> wrote in message
news:77339E4C-FC02-495C-B3DC-7CC7A842D902@microsoft.com...
- Posted by HyperEngineer on May 14th, 2008
If I keep the usbiodev.h I get an error that it can't find the file, because
the file is not on my machine. When I use usbiodef.h I get an error saying
that _In_opt_ is an undeclared identifier in new.h line 60.
--
If it aint broke, it probably needs improvement.
"Doron Holan [MSFT]" wrote:
- Posted by Doron Holan [MSFT] on May 14th, 2008
_In_opt_ only shows up if you are using the VS 2008 C++ compiler and headers
to compile code. the error would be coming from some other header though,
usbiodef.h does not contain any SAL whatsoever.
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.
"HyperEngineer" <HyperEngineer(at)comcast(dot)net> wrote in message
news:B688270C-11D5-405B-9FB1-E84160E6262E@microsoft.com...
- Posted by HyperEngineer on May 15th, 2008
Nolan,
Yes, I am using the VS 2008 C++ compiler. I have installed the WDK versiion
6001.18001. This gave me usbiodef.h. If I need usbiodev.h, where do I get
it? The _In_opt_ identifier is used in "new.h", which is not my header but a
Microsoft header. It has #include <crtdefs.h>. Where is _In_opt_ declared?
How do I fix this problem?
Thanks for your help,
Dennis
--
If it aint broke, it probably needs improvement.
"Doron Holan [MSFT]" wrote:
- Posted by Tim Roberts on May 16th, 2008
HyperEngineer <HyperEngineer(at)comcast(dot)net> wrote:
Have you done any research on this? usbiodev.h was an old name, apparently
a very long time ago (NT 4 DDK). The symbols formerly in usbiodev.h are
now in usbiodef.h.
Again, 15 seconds with findstr would have answered this question. These
symbols are defined in sal.h in the DDK.
If you are building a kernel-mode application, you should be using the WDK
build environment. If you are building a user-mode application, then you
have to adapt the WDK files.
--
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
- Posted by HyperEngineer on May 16th, 2008
Tim,
Thanks for the info. I googled usbiodev.h and it only had three entries.
None of which said anything about it being outdated and/or replaced by
usbiodef.h, that I saw. But I had an inkling this was the case.
The findstr was a function I was not aware of unitl now. It is a handy
thing to have in my tool chest. However, when I used it on the WINDDK
directory it only found occurrences of _In_opt_ in the rpcsal.h files. But
they were RPC_In_opt_ flavor. I checked the sal.h file and did not find
_In_opt_ but found __in_opt. The directories under WINDDK are \2600 for DDK
and \6001.18001 for WDK.
I am using it in a user mode. So I moved the files I needed to another
directory and recompiled with out an error. But I have another problem that
I will post in another thread.
Thanks for you help
HyperEngineer
--
If it aint broke, it probably needs improvement.
"Tim Roberts" wrote:
- Posted by Tim Roberts on May 18th, 2008
HyperEngineer <HyperEngineer(at)comcast(dot)net> wrote:
Well, that was my mistake. I assumed you were simply mistyping __in_opt.
--
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
- Posted by Pavel A. on May 18th, 2008
"Tim Roberts" <timr@probo.com> wrote in message
news:076v24l4pbipoica2ac1r1r8k3f76pnu04@4ax.com...
The _In_opt, _Out_opt etc. annotations (uppercase first letter) are found in
the SDK & Visual C++ include files.
Define all missing annotation stuff in your code.
If the trouble goes away, you're done - otherwise there's other problem,
you're using
wrong set of include files for kernel mode (wrong include paths, or just use
..h
files not intended for kernel environment).
Regards,
--PA

