Windows NT ( 2)


         

,


ovRead.OffsetHigh = 0;

ovRead.hEvent = NULL;



//

ovWrite.Offset = 0;

ovWrite.OffsetHigh = 0;

ovWrite.hEvent = NULL;

//

while(TRUE)

{

//

bResult = ReadFile(hSrcFile, cBuf, sizeof(cBuf),

&dwBytesRead, &ovRead);



//

if(!bResult)

{

// ,

switch (dwError = GetLastError())

{

//

//

case ERROR_HANDLE_EOF:

{

return;

}

//

case ERROR_IO_PENDING:

{

// ,

//

//

//

// IdleWork();



//

// ,

//

WaitForSingleObject(hSrcFile, INFINITE);

//

//

bResult = GetOverlappedResult(hSrcFile, &ovRead,

&dwBytesRead, FALSE);



if(!bResult)

{

switch (dwError = GetLastError())

{

//

//

case ERROR_HANDLE_EOF:

{

return;

}

default:

break;

}

}

}

default:

break;

}

}

//

//