WriteFileEx

WriteFileEx是一個Windows API函式。它與WriteFile類似,只是它只能用於異步寫操作,並包括了一個完整的回調。

基本介紹

  • 外文名:WriteFileEx
  • 庫檔案:Kernel32.lib
  • DLL:需要Kernel32.dll
  • 頭檔案:在Winbase.h中聲明
  • 屬性:是一個Windows API函式
語法,VB聲明,參數,返回值,註解,需求,

語法

BOOL WINAPIWriteFileEx(
HANDLEhFile,
LPCVOIDlpBuffer,
DWORDnNumberOfBytesToWrite,
LPOVERLAPPEDlpOverlapped,
LPOVERLAPPED_COMPLETION_ROUTINElpCompletionRoutine
);

VB聲明

Declare Function WriteFileEx Lib "kernel32" Alias "WriteFileEx" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpOverlapped As OVERLAPPED, ByVal lpCompletionRoutine As Long) As Long

參數

hFile
檔案的句柄。這個參數可以是任何一個由帶有FILE_FLAG_OVERLAPPED參數的CreateFile函式打開的句柄。這個句柄同時也需要有GENERIC_WRITE訪問許可權。
lpBuffer
指定一個緩衝區,其中包含了要寫入的數據。除非寫操作完成,否則不要訪問這個緩衝區 。
nNumberOfBytesToWrite
要寫入數據的位元組量。
lpOverlapped
一個指向OVERLAPPED類型的結構體指針,定義了一次異步寫操作的結構。使用這個函式時,結構中的hEvent欄位會被忽略。
lpCompletionRoutine
回調函式的值。

返回值

非零表示成功,否則返回零。要得到額外的錯誤信息,調用GetLastError

註解

並不是每種作業系統都支持在任何類型的設備上進行異步操作。windows 95不支持對磁碟檔案的重疊讀取操作。
在Windows 8和Windows Server 2012中,這個函式也被下列技術所支持:
技術支持
Server Message Block(SMB) 3.0 protocol

SMB 3.0 Transparent Failover (TFO)

SMB 3.0 with Scale-out File Shares (SO)

Cluster Shared Volume File System (CsvFS)

彈性檔案系統 (ReFS)

需求

客戶端
需要Windows XP、Windows 2000 Professional、Windows NT Workstation、Windows Me、Windows 98或Windows 95。
伺服器
需要Windows Server 2003、Windows 2000 Server或Windows NT Server。
頭檔案
在Winbase.h中聲明,包含於Windows.h。
庫檔案
Kernel32.lib。
DLL
需要Kernel32.dll。

相關詞條

熱門詞條

聯絡我們