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 |