基本介紹
語法,VB聲明,參數,返回值,備註,需求,
語法
BOOLReadFileEx(
HANDLEhFile, //檔案的句柄
LPVOIDlpBuffer, //用於接收數據的緩衝區
DWORDnNumberOfByteToRead, //允許接收的最大位元組數
LPOVERLAPPEDlpOverlapped, //一個OVERLAPPED結構的指針
LPOVERLAPPED_COMPLETION_ROUTINElpCompletionRoutine //異步讀取完成後調用的回調函式
);
VB聲明
Declare Function ReadFileEx Lib "kernel32" Alias "ReadFileEx" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpOverlapped As OVERLAPPED, ByVal lpCompletionRoutine As Long) As Long
參數
hFile
檔案的句柄。這個參數可以是任何一個由帶有FILE_FLAG_OVERLAPPED參數的CreateFile函式打開的句柄。這個句柄同時也需要有GENERIC_WRITE訪問許可權。
lpBuffer
指定容納讀入數據的一個緩衝區。除非讀操作執行完畢,否則不要訪問這個緩衝區。
nNumberOfBytesToRead
要讀入的位元組數。
lpOverlapped
一個指向OVERLAPPED類型的結構體指針,定義了一個異步操作的結構。使用這個函式時,結構中的hEvent欄位會被忽略
lpCompletionRoutine
回調函式的返回值。
返回值
返回非零表示成功,返回零表示失敗,並可用GetLastError得到錯誤代碼。
備註
在Windows 8和Windows Server 2012中,這個函式也被下列技術所支持:
技術 | 支持 |
---|---|
Server Message Block(SMB) 3.0 protocol | 是 |
SMB 3.0 Transparent Failover (TFO) | 是 |
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。 |