HasOverlappedIoCompleted Returns TRUE While GetOverlappedResult() Returns 0 Bytes Transferred
This article was previously published under Q184072
This article has been archived. It is offered "as is" and will no longer be updated.
After an application (such as Microsoft SQL Server) issues asynchronousI/O to the hard disk, HasOverlappedIoCompleted returns TRUE andGetOverlappedResult() returns 0 bytes transferred.
NOTE: After a few microseconds, GetOverlappedResult() returns the correctvalue.
This problem has primarily been observed on symmetric multiprocessing(SMP) computers, where I/O completion updates fields in the OVERLAPPEDstructure in the wrong order.
To resolve this problem, obtain the latest service pack for Windows NT 4.0 or Windows NT Server 4.0, Terminal Server Edition. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
152734 How to Obtain the Latest Windows NT 4.0 Service Pack
Microsoft has confirmed that this is a problem in Windows NT 4.0 and Windows NT Server 4.0, Terminal Server Edition. This problem was first corrected in Windows NT 4.0 Service Pack 4.0 and Windows NT Server 4.0, Terminal Server Edition Service Pack 4.
Article ID: 184072 - Last Review: 10/26/2013 01:54:00 - Revision: 2.0
Microsoft Windows NT Server 4.0 Standard Edition, Microsoft Windows NT Workstation 4.0 Developer Edition, Microsoft Windows NT Server 4.0 Enterprise Edition
- kbnosurvey kbarchive kbhotfixserver kbqfe kbbug kbfix KB184072