Microsoft KB Archive/184072

From BetaArchive Wiki
Knowledge Base


HasOverlappedIoCompleted Returns TRUE While GetOverlappedResult() Returns 0 Bytes Transferred

Article ID: 184072

Article Last Modified on 11/1/2006



APPLIES TO

  • Microsoft Windows NT Server 4.0, Terminal Server Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Enterprise Edition



This article was previously published under Q184072


SYMPTOMS

After an application (such as Microsoft SQL Server) issues asynchronous I/O to the hard disk, HasOverlappedIoCompleted returns TRUE and GetOverlappedResult() returns 0 bytes transferred.

NOTE: After a few microseconds, GetOverlappedResult() returns the correct value.

CAUSE

This problem has primarily been observed on symmetric multiprocessing (SMP) computers, where I/O completion updates fields in the OVERLAPPED structure in the wrong order.

RESOLUTION

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 the Microsoft Knowledge Base:

152734 How to Obtain the Latest Windows NT 4.0 Service Pack




STATUS

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.

Keywords: kbhotfixserver kbqfe kbbug kbfix KB184072