Méthode ISequentialStream ::Read (objidl.h)
La méthode Read lit un nombre spécifié d’octets de l’objet stream dans la mémoire, en commençant par le pointeur de recherche actuel.
Syntaxe
HRESULT Read(
[out] void *pv,
[in] ULONG cb,
[out] ULONG *pcbRead
);
Paramètres
[out] pv
Pointeur vers la mémoire tampon dans laquelle les données de flux sont lues.
[in] cb
Nombre d’octets de données à lire à partir de l’objet stream.
[out] pcbRead
Pointeur vers une variable ULONG qui reçoit le nombre réel d’octets lus à partir de l’objet stream.
Valeur retournée
Cette méthode peut retourner l’une de ces valeurs.
Code de retour | Description |
---|---|
S_OK | Toutes les données demandées ont été lues avec succès à partir de l’objet stream ; le nombre d’octets demandés dans cb est identique au nombre d’octets retournés dans pcbRead. |
S_FALSE | La valeur retournée dans pcbRead est inférieure au nombre d’octets demandés en cb. Cela indique que la fin du flux a été atteinte. Le nombre d’octets lus indique la quantité de mémoire tampon pv qui a été remplie. |
E_PENDING | Stockage asynchrone uniquement : une partie ou la totalité des données à lire n’est actuellement pas disponible. |
STG_E_ACCESSDENIED | L’appelant n’a pas les autorisations requises pour lire cet objet de flux. |
STG_E_INVALIDPOINTER | L’une des valeurs de pointeur n’est pas valide. |
STG_E_REVERTED | L’objet a été invalidé par une opération de restauration au-dessus de lui dans l’arborescence des transactions. |
Remarques
Cette méthode lit les octets de cet objet de flux dans la mémoire. L’objet stream doit être ouvert en mode STGM_READ . Cette méthode ajuste le pointeur de recherche en fonction du nombre réel d’octets lus.
Le nombre d’octets effectivement lus est également retourné dans le paramètre pcbRead .
Notes aux appelants
Le nombre réel d’octets lus peut être inférieur au nombre d’octets demandé si une erreur se produit ou si la fin du flux est atteinte pendant l’opération de lecture. Le nombre d’octets retournés doit toujours être comparé au nombre d’octets demandés. Si le nombre d’octets retournés est inférieur au nombre d’octets demandés, cela signifie généralement que la méthode Read a tenté de lire au-delà de la fin du flux.L’application doit gérer à la fois une erreur retournée et S_OK valeurs de retour sur les opérations de lecture de fin de flux.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | objidl.h |
Bibliothèque | Uuid.lib |
DLL | Ole32.dll |