Share via


Metodo IStreamAsync::ReadAsync (shobjidl.h)

Legge le informazioni da un flusso in modo asincrono. Ad esempio, Shell implementa questa interfaccia sugli elementi di file durante il trasferimento asincrono.

Sintassi

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

Parametri

[out] pv

Tipo: void*

Quando questo metodo viene restituito correttamente, restituisce un buffer con lunghezza di byte cb e contiene i byte di schedeRead delle informazioni dell'operazione di lettura.

[in] cb

Tipo: DWORD

Numero di byte da leggere dal flusso.

[out, optional] pcbRead

Tipo: LPDWORD

Puntatore a un valore DWORD che, quando questo metodo restituisce correttamente, indica il numero effettivo di byte letti nel buffer a cui punta pv. Questo valore può essere NULL.

[in] lpOverlapped

Tipo: LPOVERLAPPED

Puntatore a una struttura OVERLAPPED che contiene informazioni utilizzate nell'operazione di lettura asincrona.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

IStreamAsync::ReadAsync deve reimpostare l'evento specificato dal membro hEvent della struttura OVERLAPPED a uno stato non firmato quando inizia l'operazione di input/output (I/O).

Questo metodo è stato implementato in Shell come wrapper sottile per l'API ReadFile pubblica.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shobjidl.h