Hello,
I have a wait queue in my IODeviceControl to wait for interrupt happen. When
I need to wait, I will forward my IOCTL request to the queue, when interrupt
happen, in DPC, I retrieve the request, and call:
WdfRequestCompleteWithInformation(request,
STATUS_SUCCESS,
outputBufferLenght);
to complete request. My application is C++ with Java native interface. I
found that if I call above function with outputBufferLenght, Exception will
happen in Java object which is If I call above function with 0 lenght,
everything is OK except I didn't get my return data from IOCTL.
My I/O type is buffered, my buffer is not big, about 48 bytes.
My question is what above function did to my output buffer in two cases? How
come it cause Java exception?
Thanks,
May