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 |
|
Bibliothèque de types |
|
DLL |
|
IID |
IID_IByteBuffer est défini comme E126F8FE-A7AF-11D0-B88A-00C04FD424B9 |