Title-defined function called by XACT to determine the status of pending overlapped operations.
typedef BOOL (__stdcall *XACT_GETOVERLAPPEDRESULT_CALLBACK)( HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, BOOL bWait );
If the function succeeds, the return value is TRUE.
If the function fails, the return value is FALSE. To get extended error information, call GetLastError.
This function is analogous to the system GetOverlappedResult function. When determining the status of pending overlapped operations, the XACT engine calls the title's overlapped result callback instead of the system GetOverlappedResult function. The advantage of registering a callback is that the title can manage XACT's disk input to prioritize it along with the game's other I/O.
The simplest implementation of this callback function is to call GetOverlappedResult and return its return value.
The XACT makes extensive use of the HasOverlappedIoCompleted macro, which references the Internal member of the OVERLAPPED structure passed in lpOverlapped. Titles must properly set this flag to indicate the status of the overlapped operation. The HasOverlappedIoCompleted macro is defined as follows:
#define HasOverlappedIoCompleted( lpOverlapped ) ( (lpOverlapped)->Internal != STATUS_PENDING )
Header: Declared in Xact.h.