VB聲明 |
|
Declare Function ReadFile Lib "kernel32" Alias "ReadFile" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long |
|
說(shuō)明 |
|
從文件中讀出數(shù)據(jù)。與lread函數(shù)相比,這個(gè)函數(shù)要明顯靈活的多。該函數(shù)能夠操作通信設(shè)備、管道、套接字以及郵槽 |
|
返回值 |
|
Long,非零表示成功,零表示失敗。會(huì)設(shè)置GetLastError。如啟動(dòng)的是一次異步讀操作,則函數(shù)會(huì)返回零值,并將ERROR_IO_PENDING設(shè)置成GetLastError的結(jié)果。如結(jié)果不是零值,但讀入的字節(jié)數(shù)小于nNumberOfBytesToRead參數(shù)指定的值,表明早已抵達(dá)了文件的結(jié)尾 |
|
參數(shù)表 |
|
參數(shù) |
類型及說(shuō)明 |
hFile |
Long,文件的句柄 |
lpBuffer |
Any,用于保存讀入數(shù)據(jù)的一個(gè)緩沖區(qū) |
nNumberOfBytesToRead |
Long,要讀入的字符數(shù) |
lpNumberOfBytesRead |
Long,從文件中實(shí)際讀入的字符數(shù) |
lpOverlapped |
OVERLAPPED,如文件打開(kāi)時(shí)指定了FILE_FLAG_OVERLAPPED,那么必須用這個(gè)參數(shù)引用一個(gè)特殊的結(jié)構(gòu)。那個(gè)結(jié)構(gòu)定義了一次異步讀取操作。否則,應(yīng)將這個(gè)參數(shù)設(shè)為NULL(將函數(shù)聲明成ByVal As Long,并傳遞零值) |
注解 |
|
并非每種操作系統(tǒng)都支持對(duì)每種設(shè)備進(jìn)行異步操作。Windows 95不支持對(duì)一個(gè)磁盤文件進(jìn)行異步讀操作(重復(fù)讀) |