阅读:1498回复:2
控制台程序用DeviceIoContro实现Vendor请求求助!!]
我用DeviceIoControl实现获得描述符,配置等都没有问题,但是
用它实现Vendor请求就不行,返回false;下面是我的代码,各位大虾 帮帮忙,小弟vc不行,谢谢! 如果有原码提供给我吧!感谢! void VendorRequest() { VENDOR_OR_CLASS_REQUEST_CONTROL myRequest; char *buffer; HANDLE hDevice; ULONG bufferSize = 0; BOOLEAN bResult = FALSE; int nBytes = 0; // Open the driver hDevice = CreateFile(\"\\\\\\\\.\\\\Ezusb-0\", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0); if(hDevice==INVALID_HANDLE_VALUE) printf(\"Open usb: is Error!\\n\"); else printf(\"Open usb: is Ok!\\n\"); myRequest.request = (UCHAR) 0xB3; myRequest.value = (USHORT) 0x0000; myRequest.index = (USHORT) 0xBEFF; myRequest.direction = 0x0; bufferSize = 0x07; buffer = (char *)0x0; myRequest.requestType=2; myRequest.recepient=0; if (hDevice != INVALID_HANDLE_VALUE) { bResult = DeviceIoControl (hDevice, IOCTL_EZUSB_VENDOR_OR_CLASS_REQUEST, &myRequest, sizeof(VENDOR_OR_CLASS_REQUEST_CONTROL), buffer, bufferSize, (unsigned long *)&nBytes, NULL); }/* if valid driver handle */ if (bResult==TRUE) { printf(\"all right \\n\"); } CloseHandle (hDevice); } |
|
沙发#
发布于:2005-03-22 17:27
myRequest.request = (UCHAR) 0xB3;
myRequest.value = (USHORT) 0x0000; myRequest.index = (USHORT) 0xBEFF; myRequest.direction = 0x0; 就是这几句了,上面有,因为它提供的例子比较复杂,没太看懂 感觉这一段好像差不多完成相应功能,就试验,可惜不行, 希望能指点一下,我qq:57525159,非常感谢 |
|
板凳#
发布于:2005-03-21 14:52
如何得到myRequest?
可以看以下源代码? |
|