Partager via


IByteBuffer::Write, méthode

[La méthode Write est disponible pour une utilisation 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 Write écrit un nombre spécifié à partir d’octets dans l’objet stream en commençant par le pointeur de recherche actuel.

Syntaxe

HRESULT Write(
  [in]  BYTE *pByte,
  [in]  LONG cb,
  [out] LONG *pcbWritten
);

Paramètres

pByte [in]

Adresse de la mémoire tampon contenant les données à écrire dans le flux. Un pointeur valide doit être fourni pour ce paramètre, même lorsque cb est égal à zéro.

cb [in]

Nombre d’octets de données à tenter d’écrire dans le flux. Ce paramètre peut être égal à zéro.

pcbWritten [out]

Adresse d’une variable LONG où cette méthode écrit le nombre réel d’octets écrits dans l’objet stream. L’appelant peut définir ce pointeur sur NULL, auquel cas cette méthode ne fournit pas le nombre réel d’octets écrits.

Valeur retournée

La valeur de retour est HRESULT. La valeur S_OK indique que l’appel a réussi.

Notes

La méthode IByteBuffer::Write écrit les données spécifiées dans un objet de flux. Le pointeur de recherche est ajusté pour le nombre d’octets réellement écrits. Le nombre d’octets réellement écrits est retourné dans le paramètre pcbWritten . Si le nombre d’octets est égal à zéro octet, l’opération d’écriture n’a aucun effet.

Si le pointeur de recherche dépasse actuellement la fin du flux et que le nombre d’octets est différent de zéro, cette méthode augmente la taille du flux vers le pointeur de recherche et écrit les octets spécifiés en commençant par le pointeur de recherche. Les octets de remplissage écrits dans le flux ne sont pas initialisés à une valeur particulière. Il s’agit du comportement de fin de fichier dans le système de fichiers MS-DOS FAT.

Avec un nombre d’octets zéro et un pointeur de recherche passé la fin du flux, cette méthode ne crée pas les octets de remplissage pour augmenter le flux vers le pointeur de recherche. Dans ce cas, vous devez appeler la méthode IByteBuffer::SetSize pour augmenter la taille du flux et écrire les octets de remplissage.

Le paramètre pcbWritten peut avoir une valeur même si une erreur se produit.

Dans l’implémentation fournie par COM, les objets de flux ne sont pas partiellement alloués. Tous les octets de remplissage sont finalement alloués sur le disque et affectés au flux.

Exemples

L’exemple suivant montre l’écriture d’octets dans l’objet stream.

LONG     lWrite;
HRESULT  hr;

// Write to the buffer.
// byData is an array of 64 bytes.
hr = pIByteBuff->Write(byData,
                       64,
                       &lWrite);
if (FAILED(hr))
  printf("Failed IByteBuffer::Write\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
Scardssp.h
Bibliothèque de types
Scardssp.tlb
DLL
Scardssp.dll
IID
IID_IByteBuffer est défini comme E126F8FE-A7AF-11D0-B88A-00C04FD424B9