In this particular case, I don’t think that should be an issue as the
request is from within the WinUsb_Initialize call (thus unmanaged code).
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Wednesday, January 17, 2007 3:13 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] WinUsb_Initialize returns with
ERROR_INSUFFICIENT_BUFFER
You also said this was managed code, make sure that the size and layout
of the buffer in the managed assembly matches the layout/size in the
unmanaged world.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Randy Aull
Sent: Wednesday, January 17, 2007 2:21 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] WinUsb_Initialize returns with
ERROR_INSUFFICIENT_BUFFER
It looks to me that the this could happen if the device is setting the
bLength field of the device descriptor to 19 instead of 18. Is this
possible?
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@interacoustics.dk
Sent: Wednesday, January 17, 2007 5:29 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] WinUsb_Initialize returns with
ERROR_INSUFFICIENT_BUFFER
After a few attempts I got a log, that made some sense:
958: FxPkgGeneral::Dispatch - WDFDEVICE 0x7A8BEFE8 !devobj 0x85828818
0x00000000(IRP_MJ_CREATE) IRP 0x8597AB68
959: FxDevice::AllocateRequestMemory - Allocating FxRequest* 86153DD8,
WDFREQUEST 79EAC220
960: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x79EAC220 on WDFQUEUE
0x7A8357E8
961: FxIoQueue::DispatchEvents - Thread 85819328 is processing WDFQUEUE
0x7A8357E8
962: FxIoQueue::DispatchEvents - Driver has configured WDFQUEUE
0x7A8357E8 for WdfIoQueueDispatchManual
963: imp_WdfRequestComplete - Completing WDFREQUEST 0x79EAC220,
STATUS_SUCCESS
964: FxRequest::Complete - Completing WDFREQUEST 0x79EAC220 for IRP
0x8597AB68 with Information 0x0, STATUS_SUCCESS
965: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7A8357E8,
WDFREQUEST 0x79EAC220
966: FxIoQueue::DispatchEvents - Thread 85819328 is processing WDFQUEUE
0x7A8357E8
967: FxIoQueue::DispatchEvents - Driver has configured WDFQUEUE
0x7A8357E8 for WdfIoQueueDispatchManual
968: FxDevice::FreeRequestMemory - Free FxRequest* 86153DD8 memory
969: FxPkgIo::Dispatch - WDFDEVICE 0x7A8BEFE8 !devobj 0x85828818
0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x85C8E470
970: FxDevice::AllocateRequestMemory - Allocating FxRequest* 86153DD8,
WDFREQUEST 79EAC220
971: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x79EAC220 on WDFQUEUE
0x7A7E96A8
972: FxIoQueue::DispatchEvents - Thread 85819328 is processing WDFQUEUE
0x7A7E96A8
973: FxIoQueue::DispatchRequestToDriver - Calling driver
EvtIoDeviceControl for WDFREQUEST 0x79EAC220
974: imp_WdfRequestRetrieveInputBuffer - Enter: WDFREQUEST 0x79EAC220
975: imp_WdfRequestRetrieveOutputBuffer - Enter: WDFREQUEST 0x79EAC220
976: imp_WdfRequestComplete - Completing WDFREQUEST 0x79EAC220,
STATUS_SUCCESS
977: FxRequest::Complete - Completing WDFREQUEST 0x79EAC220 for IRP
0x85C8E470 with Information 0x0, STATUS_SUCCESS
978: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7A7E96A8,
WDFREQUEST 0x79EAC220
979: FxDevice::FreeRequestMemory - Free FxRequest* 86153DD8 memory
980: FxIoQueue::DispatchRequestToDriver - WDFREQUEST 0x79EAC220
dispatched to driver
981: FxIoQueue::DispatchEvents - No requests on WDFQUEUE 0x7A7E96A8
982: FxPkgIo::Dispatch - WDFDEVICE 0x7A8BEFE8 !devobj 0x85828818
0x0000000e(IRP_MJ_DEVICE_CONTROL), IRP_MN 0, IRP 0x85C8E470
983: FxDevice::AllocateRequestMemory - Allocating FxRequest* 86153DD8,
WDFREQUEST 79EAC220
984: FxIoQueue::QueueRequest - Queuing WDFREQUEST 0x79EAC220 on WDFQUEUE
0x7A7E96A8
985: FxIoQueue::DispatchEvents - Thread 85819328 is processing WDFQUEUE
0x7A7E96A8
986: FxIoQueue::DispatchRequestToDriver - Calling driver
EvtIoDeviceControl for WDFREQUEST 0x79EAC220
987: imp_WdfRequestRetrieveInputBuffer - Enter: WDFREQUEST 0x79EAC220
988: imp_WdfRequestRetrieveOutputBuffer - Enter: WDFREQUEST 0x79EAC220
989: imp_WdfRequestRetrieveOutputBuffer - WDFREQUEST 0x79EAC220 buffer
size 18 is less than RequiredLength 19,
0xc0000023(STATUS_BUFFER_TOO_SMALL)
990: imp_WdfRequestComplete - Completing WDFREQUEST 0x79EAC220,
0xc0000023(STATUS_BUFFER_TOO_SMALL)
991: FxRequest::Complete - Completing WDFREQUEST 0x79EAC220 for IRP
0x85C8E470 with Information 0x0, 0xc0000023(STATUS_BUFFER_TOO_SMALL)
992: FxIoQueue::RequestCompletedCallback - Enter: WDFQUEUE 0x7A7E96A8,
WDFREQUEST 0x79EAC220
993: FxDevice::FreeRequestMemory - Free FxRequest* 86153DD8 memory
994: FxIoQueue::DispatchRequestToDriver - WDFREQUEST 0x79EAC220
dispatched to driver
995: FxIoQueue::DispatchEvents - No requests on WDFQUEUE 0x7A7E96A8
Line 989 seems to be were the whole thing breaks down.
Hope this makes more sense to you than it does to me.
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer