iStreamAsync::ReadAsync 方法 (shobjidl.h)
以異步方式從數據流讀取資訊。 例如,Shell 會在以異步方式傳輸檔案專案時,在檔案項目上實作這個介面。
語法
HRESULT ReadAsync(
[out] void *pv,
[in] DWORD cb,
[out, optional] LPDWORD pcbRead,
[in] LPOVERLAPPED lpOverlapped
);
參數
[out] pv
類型: void*
當這個方法成功傳回時,會傳回 長度為 cb 位元組的緩衝區,並包含讀取作業中的資訊 之 cbRead 位元組。
[in] cb
類型: DWORD
要從數據流讀取的位元組數目。
[out, optional] pcbRead
類型: LPDWORD
DWORD 值的指標,當這個方法成功傳回時,會指出實際讀取到 pv 所指向緩衝區的位元組數目。 此值可以是 NULL。
[in] lpOverlapped
類型: LPOVERLAPPED
重迭結構的指標,其中包含異步讀取作業中使用的資訊。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
IStreamAsync::ReadAsync 應該在開始輸入/輸出 (I/O) 作業時,將 OVERLAPPED 結構的 hEvent 成員所指定的事件重設為非簽署狀態。
這個方法已在Shell中實作為公用 ReadFile API的精簡包裝函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shobjidl.h |