InternetReadFile

函式介紹指從一個由InternetOpenUrl,FtpOpenFile, 或HttpOpenRequest函式打開的句柄中讀取數據。

軟體參數,返回值,備註,要求,

軟體參數

Syntax
C++
BOOL InternetReadFile( __in HINTERNET hFile,
__out LPVOID lpBuffer,
__in DWORD dwNumberOfBytesToRead,
__out LPDWORD lpdwNumberOfBytesRead
);
Parameters
  • hFile[in]
  • InternetOpenUrl,FtpOpenFile, 或HttpOpenRequest函式返回的句柄.
  • lpBuffer[out]
  • 緩衝器指針
  • dwNumberOfBytesToRead[in]
  • 欲讀數據的位元組量。
  • lpdwNumberOfBytesRead[out]
  • 接收讀取位元組量的變數。該函式在做任何工作或錯誤檢查之前都設定該值為零

返回值

成功:返回TRUE,失敗,返回FALSE

備註

該函式的操作非常類似於ReadFile函式。典型情況下,該函式從一個作為位元組順序流的HINTERNET句柄中返回數據。每次函式讀取的數據量都由dwNumberOfBytesToRead參數指定,並且數據返回到lp
Buffer參數裡。一個正常讀取將持續到檔案結束時為止。為了確保所有數據被接收,應用程式必須繼續使用該函式直到函式返回TRUE且lpdwNumberOfBytesRead參數等於零值。此舉在請求的數據被寫入快取中尤為重要,因為如不這樣的話,快取將不會正常的更新且下載的檔案也將不會被允許寫入到快取中。注意:除了原始請求的命令設定為INTERNET_FLAG_NO_CACHE_WRITE標識的情況外,快取操作都會自動進行。
當應用程式使用InternetOpenUrl函式獲得一個句柄時,WinINet試圖將所有的數據都變得如同檔案下載一樣。
WinINet試圖每次向lpBuffer緩衝中寫入一行HTML。如果應用程式的緩衝區太小以至於不能承載一行的HTML數據,錯誤代碼ERROR_INSUFFICIENT_BUFFER 將傳送給應用程式,通知它需要更大的緩衝區。同樣,轉換的行數也不一定和緩衝區的大小匹配,所以該函式可以返回比lpBuffer緩衝少的數據。接下來的讀取工作將返回所有的HTML數據。應用程式必須再次檢查所有數據是否都被接收。

要求

Minimum supported client
Windows 2000 Professional
Minimum supported server
Windows 2000 Server
Version
Internet Explorer 3.0 or later
Header
Wininet.h
Library
Wininet.lib
DLL
Wininet.dll

相關詞條

熱門詞條

聯絡我們