473,378 Members | 1,377 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

using SetupDiGetDeviceInterfaceDetail

Hello,
This is my first attempt at posting to the newsgroup. My apologies if I
have directed this question to the wrong bunch.

I am trying to use SetupDiGetDeviceInterfaceDetail function in order to get
a handle to a USB HID device so that I can open it using CreateFile.
After struggling with this function for a couple of days, I feel that I
finally understand what it does and what I have to provide it. However,
when I run my program, I get an arcane error message which says "the user
supplied buffer is not valid for the requested operation". I called the
function once to get the required size and that worked telling me I needed
170 bytes. I allocated that much TCHAR for the DevicePath buffer. Then I
cast the buffer as the structure called for in the function parameter list.
Can anyone help me figure out what I'm doing wronb? Shall I post my source
code? Can you point me to a reference that might help me out.
Thanks,
Joe
Dec 11 '06 #1
2 5449

"Joe B." <jo*********@comcast.netwrote in message
news:uC**************@TK2MSFTNGP06.phx.gbl...
Hello,
This is my first attempt at posting to the newsgroup. My apologies if I
have directed this question to the wrong bunch.

I am trying to use SetupDiGetDeviceInterfaceDetail function in order to
get
a handle to a USB HID device so that I can open it using CreateFile.
After struggling with this function for a couple of days, I feel that I
finally understand what it does and what I have to provide it. However,
when I run my program, I get an arcane error message which says "the user
supplied buffer is not valid for the requested operation". I called the
function once to get the required size and that worked telling me I needed
170 bytes. I allocated that much TCHAR for the DevicePath buffer. Then I
cast the buffer as the structure called for in the function parameter
list.
Can anyone help me figure out what I'm doing wronb? Shall I post my
source
code? Can you point me to a reference that might help me out.
Make sure that you properly initialize the buffer, setting
cbSize = sizeof (SP_DEVICE_INTERFACE_DETAIL_DATA)
and not the allocated size, because the cbSize field is used by Win32 API as
a kind of version number. The fourth parameter should be the allocated size
(170).
Thanks,
Joe


Dec 11 '06 #2
Ben,
Many thanks. That seems to have gotten me past the invalid buffer thing.
Joe

"Ben Voigt" <rb*@nospam.nospamwrote in message
news:uD**************@TK2MSFTNGP06.phx.gbl...
>
"Joe B." <jo*********@comcast.netwrote in message
news:uC**************@TK2MSFTNGP06.phx.gbl...
>Hello,
This is my first attempt at posting to the newsgroup. My apologies if I
have directed this question to the wrong bunch.

I am trying to use SetupDiGetDeviceInterfaceDetail function in order to
get
a handle to a USB HID device so that I can open it using CreateFile.
After struggling with this function for a couple of days, I feel that I
finally understand what it does and what I have to provide it. However,
when I run my program, I get an arcane error message which says "the user
supplied buffer is not valid for the requested operation". I called the
function once to get the required size and that worked telling me I
needed
170 bytes. I allocated that much TCHAR for the DevicePath buffer. Then
I
cast the buffer as the structure called for in the function parameter
list.
Can anyone help me figure out what I'm doing wronb? Shall I post my
source
code? Can you point me to a reference that might help me out.

Make sure that you properly initialize the buffer, setting
cbSize = sizeof (SP_DEVICE_INTERFACE_DETAIL_DATA)
and not the allocated size, because the cbSize field is used by Win32 API
as a kind of version number. The fourth parameter should be the allocated
size (170).
>Thanks,
Joe



Dec 11 '06 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: rawCoder | last post by:
Hi All, I have a *.cer file, a public key of some one and I want to encrypt some thing using this public key. Can someone point me to a sample code for Encrypting some file using...
1
by: Mike | last post by:
When trying to compile (using Visual Web Developer 2005 Express Beta; frameworkv2.0.50215 ) the source code below I get errors (listed below due to the use of ICallBackEventHandler. Ultimately I...
10
by: Christopher Benson-Manica | last post by:
Why can't I use a class destructor in a using declaration: using MyClass::~MyClass; ? -- Christopher Benson-Manica | I *should* know what I'm talking about - if I ataru(at)cyberspace.org ...
17
by: beliavsky | last post by:
Many of my C++ programs have the line using namespace std; but the "Accelerated C++" book of Koenig and Moo has many examples where the library names are included one at a time, for example ...
8
by: Petter Reinholdtsen | last post by:
I ran into a problem on HP-UX 11.00 the other day, where it refused to compile a program using 'using namespace std;' at the top. The reason seem to be that the compiler refuses to accept 'using...
14
by: john.burton.email | last post by:
I've done some extensive searching and can't seem to find an answer to this - Is it correct to using "using" with templates, for example: using std::vector; Or do I need to specify the type...
5
by: Enos Meroka | last post by:
Hallo, I am a student doing my project in the university.. I have been trying to compile the program using HP -UX aCC compiler, however I keep on getting the following errors. ...
3
by: JDeats | last post by:
I have some .NET 1.1 code that utilizes this technique for encrypting and decrypting a file. http://support.microsoft.com/kb/307010 In .NET 2.0 this approach is not fully supported (a .NET 2.0...
0
by: saurabh143 | last post by:
Hello All I am trying to read HID numpad using VB programme of Mr. Jan Axelson named as " usbhidio.vb ", available on HID page of www.lvr.com. But its not giving me succesful output....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.