IByteBuffer::Read, méthode
[La méthode Read peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il n’est pas disponible pour une utilisation dans Windows Server 2003 avec Service Pack 1 (SP1) et versions ultérieures, Windows Vista, Windows Server 2008 et les versions ultérieures du système d’exploitation. L’interface IStream fournit des fonctionnalités similaires.]
La méthode Read lit un nombre spécifié d’octets de l’objet tampon dans la mémoire en commençant par le pointeur de recherche actuel.
Syntaxe
HRESULT Read(
[out] BYTE *pByte,
[in] LONG cb,
[out] LONG *pcbRead
);
Paramètres
-
pByte [out]
-
Pointe vers la mémoire tampon dans laquelle les données de flux sont lues. Si une erreur se produit, cette valeur est NULL.
-
cb [in]
-
Nombre d’octets de données à lire à partir de l’objet de flux.
-
pcbRead [out]
-
Adresse d’une variable LONG qui reçoit le nombre réel d’octets lus à partir de l’objet de flux. Vous pouvez définir ce pointeur sur NULL pour indiquer que cette valeur ne vous intéresse pas. Dans ce cas, cette méthode ne fournit pas le nombre réel d’octets lus.
Valeur retournée
La valeur de retour est un HRESULT. La valeur S_OK indique que l’appel a réussi.
Notes
Cette méthode lit les octets de cet objet de flux en 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 réellement lus est également retourné dans le paramètre pcbRead .
Notes pour les appelants
Le nombre réel d’octets lus peut être inférieur au nombre d’octets demandés en cas d’erreur ou si la fin du flux est atteinte pendant l’opération de lecture.
Certaines implémentations peuvent retourner une erreur si la fin du flux est atteinte pendant la lecture. Vous devez être prêt à traiter le retour d’erreur ou S_OK valeurs de retour à la fin des lectures de flux.
Exemples
L’exemple suivant montre la lecture d’octets à partir de la mémoire tampon.
BYTE byAtr[32];
long lBytesRead, i;
HRESULT hr;
// pAtr is a pointer to a previously instantiated IByteBuffer.
// It was used in an earlier call by ISCard::get_Atr.
// Use IByteBuffer::Read to access the retrieved ATR bytes.
hr = pAtr->Read(byAtr, 32, &lBytesRead);
// Use the ATR value. (This example merely displays the bytes.)
for ( i = 0; i < lBytesRead; i++)
printf("%c", *(byAtr + i));
printf("\n");
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2003 [applications de bureau uniquement] |
Fin de la prise en charge des clients |
Windows XP |
Fin de la prise en charge des serveurs |
Windows Server 2003 |
En-tête |
|
Bibliothèque de types |
|
DLL |
|
IID |
IID_IByteBuffer est défini comme E126F8FE-A7AF-11D0-B88A-00C04FD424B9 |