您的位置:首页 > 移动开发

IOBYFILE.C---overlapped I/O with a signaled file handle

2015-07-25 09:58 274 查看
#include<windows.h>

int ReadSometion()

{

BOOL rc;

HANDLE hFile;

DWORD numread;

OVERLAPPED overlap;

char buf[512];

//open the file for overlapped reads

hFile = CreateFile("C:\\WINDOWS\\WINFILE.EXE",

GENERIC_READ,

FILE_SHARE_READ | FILE_SHARE_WRITE,

NULL, OPEN_EXISTING,

FILE_FLAG_OVERLAPPED, NULL);

if (hFile == INVALID_HANDLE_VALUE)

{

return -1;

}

//initialize the overlapped structure

memset(&overlap, 0, sizeof(overlap));

overlap.Offset = 1500;

//request the data

rc = ReadFile(hFile, buf, 300,

&numread, &overlap);

if (rc)

{

//the data was read successfully

}

else

{

//Was the operation queued?

if (GetLastError() == ERROR_IO_PENDING)

{

//we could do something else for awhile here....

WaitForSingleObject(hFile, INFINITE);

rc = GetOverlappedResult(hFile, &overlap, &numread, FALSE);

}

else

{

//Something went wrong

}

}

CloseHandle(hFile);

return TRUE;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: