Hi,
I’m trying to send an IOCTL to my device.
The code is similar to the code of sendinf the ioctl IOCTL_OSRUSBFX2_SET_7_SEGMENT_DISPLAY in the FX2 device.
When I try to send my request synchronically,
the following code, which is the same is in the FX2, retrieves (in hr) error codes which I could not interpert.
hr = pWdfRequest->Send( m_pIUsbTargetDevice,
WDF_REQUEST_SEND_OPTION_SYNCHRONOUS,
0); //Timeout
}
if (SUCCEEDED(hr))
{
pWdfRequest->GetCompletionParams(&FxComplParams);
hr = FxComplParams->GetCompletionStatus();
}
If I send an empty request (just a setup packet with no data buffer), I get HRESULT = 0xD0000001. It there is a buffer with data, I get HRESULT = 0x800703E6 (which I think is equql to error 998 - Invalid access to memory location, but I’m not sure).
When I try to do the same operation, but asynchronically, the driver crashes and stops (External Error 0x4000000000000 if the flag is zero, and 0x4030000000002c6 if the flag is WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET).
Any idea what I’m doing wrong and where can I find info about unusual error codes?
Thanks,
Gadi