Partager via


Méthode IStreamAsync ::ReadAsync (shobjidl.h)

Lit les informations d’un flux de manière asynchrone. Par exemple, l’interpréteur de commandes implémente cette interface sur les éléments de fichier lors de leur transfert de manière asynchrone.

Syntaxe

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

Paramètres

[out] pv

Type : void*

Lorsque cette méthode retourne correctement, retourne une mémoire tampon de longueur cb octets et contenant des octets pcbRead d’informations provenant de l’opération de lecture.

[in] cb

Type : DWORD

Nombre d’octets à lire à partir du flux.

[out, optional] pcbRead

Type : LPDWORD

Pointeur vers une valeur DWORD qui, lorsque cette méthode retourne correctement, indique le nombre réel d’octets lus à la mémoire tampon pointée par pv. Cette valeur peut être NULL.

[in] lpOverlapped

Type : LPOVERLAPPED

Pointeur vers une structure OVERLAPPED qui contient des informations utilisées dans l’opération de lecture asynchrone.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

IStreamAsync ::ReadAsync doit réinitialiser l’événement spécifié par le membre hEvent de la structure OVERLAPPED à un état non signé lorsqu’il commence l’opération d’entrée/sortie (E/S).

Cette méthode a été implémentée dans l’interpréteur de commandes en tant que wrapper mince autour de l’API ReadFile publique.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl.h