Freigeben über


IStreamAsync::ReadAsync-Methode (shobjidl.h)

Liest Informationen aus einem Stream asynchron. Beispielsweise implementiert die Shell diese Schnittstelle für Dateielemente, wenn sie asynchron übertragen werden.

Syntax

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

Parameter

[out] pv

Typ: void*

Wenn diese Methode erfolgreich zurückgegeben wird, wird ein Puffer zurückgegeben, der cb Bytes lang ist und pcbRead-Bytes mit Informationen aus dem Lesevorgang enthält.

[in] cb

Art: DWORD

Die Anzahl der Bytes, die aus dem Stream gelesen werden sollen.

[out, optional] pcbRead

Typ: LPDWORD

Zeiger auf einen DWORD-Wert , der bei erfolgreicher Rückgabe dieser Methode die tatsächliche Anzahl von Bytes angibt, die in den Puffer gelesen werden, auf den von pv verwiesen wird. Dieser Wert kann NULL sein.

[in] lpOverlapped

Typ: LPOVERLAPPED

Ein Zeiger auf eine OVERLAPPED-Struktur , die Informationen enthält, die im asynchronen Lesevorgang verwendet werden.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

IStreamAsync::ReadAsync sollte das vom hEvent-Member der OVERLAPPED-Struktur angegebene Ereignis auf einen nicht signalierten Zustand zurücksetzen, wenn der Eingabe-/Ausgabevorgang (E/A) gestartet wird.

Diese Methode wurde in der Shell als dünner Wrapper um die öffentliche ReadFile-API implementiert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shobjidl.h