Re: GetOverlappedResult() call in overlay I/O



I did fill the value of "Irp->IoStatus.Information" before calling
IoCompleteRequest.

"Maxim S. Shatskih" <maxim@xxxxxxxxxxxxxxxx> wrote in message
news:%23ToDpL7VIHA.4740@xxxxxxxxxxxxxxxxxxxxxxx
Be sure you fill Irp->IoStatus.Information properly before calling
IoCompleteRequest.

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@xxxxxxxxxxxxxxxx
http://www.storagecraft.com

"Angie" <kimojolin@xxxxxxxxx> wrote in message
news:OP%230976VIHA.4684@xxxxxxxxxxxxxxxxxxxxxxx
In the application, I tried to find out how many bytes was written by the
driver by calling GetOverlappedResult() API.
I do not know why this API alwaysreturn 0 in length. Before calliing
GetOverlappedResult(), the application does wait the following API

dwRet = WaitForMultipleObjects(2, h, FALSE, INFINITE);

Does anybody have such problem in calling GetOverlappedResult()?


-----------------------Get the number of bytes written by
driver ---------------------------------------------------------

DWORD
UVPNDriverHelper::GetReturnedBytes(HANDLE hEvent)
{
OVERLAPPED Overlapped;
DWORD NumberOfBytesTransferred;

memset(&Overlapped, 0, sizeof(OVERLAPPED));
Overlapped.hEvent=hEvent;
if (!GetOverlappedResult(m_hDevice, &Overlapped,
&NumberOfBytesTransferred,
TRUE))
{
ERRORLOGLEVEL0(_T("GetOverlappedResult() fail
error=%x\n"),GetLastError());
return 0;
}
ERRORLOGLEVEL0(TEXT("GetReturnedBytes(): NumberOfBytesTransferred(%d)
error=%d!!!\n"),NumberOfBytesTransferred, GetLastError());
return NumberOfBytesTransferred;
}





.



Relevant Pages

  • Re: GetOverlappedResult() call in overlay I/O
    ... Be sure you fill Irp->IoStatus.Information properly before calling ... driver by calling GetOverlappedResult() API. ... I do not know why this API alwaysreturn 0 in length. ...
    (microsoft.public.development.device.drivers)
  • GetOverlappedResult() call in overlay I/O
    ... driver by calling GetOverlappedResult() API. ... I do not know why this API alwaysreturn 0 in length. ... ERRORLOGLEVEL0fail ...
    (microsoft.public.development.device.drivers)
  • Re: GetOverlappedResult() call in overlay I/O
    ... I don't modify my driver. ... The following API can get the correct value but GetOverlappedResult() ... driver by calling GetOverlappedResult() API. ...
    (microsoft.public.development.device.drivers)