IStreamAsync::ReadAsync メソッド (shobjidl.h)

ストリームから非同期的に情報を読み取ります。 たとえば、シェルは、ファイル項目を非同期に転送するときに、このインターフェイスを実装します。

構文

HRESULT ReadAsync(
  [out]           void         *pv,
  [in]            DWORD        cb,
  [out, optional] LPDWORD      pcbRead,
  [in]            LPOVERLAPPED lpOverlapped
);

パラメーター

[out] pv

型: void*

このメソッドが正常に返されると、 cb バイト長のバッファーを返し、読み取り操作からの 情報の pcbRead バイトを格納します。

[in] cb

型: DWORD

ストリームから読み取るバイト数。

[out, optional] pcbRead

型: LPDWORD

このメソッドが正常に返されるときに、pv が指すバッファーに読み取られた実際のバイト数を示す DWORD 値へのポインター。 この値は NULL にすることができます

[in] lpOverlapped

種類: LPOVERLAPPED

非同期読み取り操作で使用される情報を含む OVERLAPPED 構造体へのポインター。

戻り値

種類: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

IStreamAsync::ReadAsync は、入出力 (I/O) 操作を開始するときに、OVERLAPPED 構造体の hEvent メンバーによって指定されたイベントを非署名状態にリセットする必要があります。

このメソッドは、パブリック ReadFile API のシン ラッパーとしてシェルに実装されています。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl.h