WriteFileEx 和 ReadFileEx

來源:互聯網
上載者:User

BOOL WriteFileEx(
  HANDLE hFile,
  LPCVOID lpBuffer,
  DWORD nNumberOfBytesToWrite,
  LPOVERLAPPED lpOverlapped,
  LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);

說明:將資料寫入檔案。該函數只能用於非同步I/O操作,即overlapped I/O。 註:WriteFile()可以用於同步和非同步I/O操作。

hFile:file控制代碼,可以使用CreateFile()函數建立,且只有使用FILE_FLAG_OVERLAPPED標識建立的file控制代碼才可以調用此函數。
lpBuffer:指向資料的指標
nNumberOfBytesToWrite:需要寫入的位元組數。
lpOverlapped:OVERLAPPED變數的指標。
lpCompletionRoutine :函數指標。此可以稱為非同步程序呼叫(Asynchronous Procedure Calls,APCs)。函數原型為
VOID CALLBACK FileIOCompletionRoutine(
  DWORD dwErrorCode,
  DWORD dwNumberOfBytesTransfered,
  LPOVERLAPPED lpOverlapped
);
需要注意以下兩點:
1.非同步程序呼叫中只能使用"Ex"版的ReadFile()和WriteFile()。
2.在ReadFileEx()和WriteFileEx()。指定的OVERLAPPED中的hEvent欄位不需要用來放置一個event handle。可以自由運用。一般
可以在此放置有用的指標。

BOOL ReadFileEx(
  HANDLE hFile,
  LPVOID lpBuffer,
  DWORD nNumberOfBytesToRead,
  LPOVERLAPPED lpOverlapped,
  LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
說明:讀入資料。參數與上同。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.