Partager via


WsWriteXmlBufferToBytes, fonction (webservices.h)

Utilise un writer pour convertir un WS_XML_BUFFER en un jeu d’octets encodé.

Syntaxe

HRESULT WsWriteXmlBufferToBytes(
  [in]           WS_XML_WRITER                *writer,
  [in]           WS_XML_BUFFER                *xmlBuffer,
  [in, optional] const WS_XML_WRITER_ENCODING *encoding,
                 const WS_XML_WRITER_PROPERTY *properties,
  [in]           ULONG                        propertyCount,
  [in]           WS_HEAP                      *heap,
                 void                         **bytes,
  [out]          ULONG                        *byteCount,
  [in, optional] WS_ERROR                     *error
);

Paramètres

[in] writer

Enregistreur à utiliser pour générer les octets encodés.

[in] xmlBuffer

Mémoire tampon XML à écrire.

[in, optional] encoding

Encodage à utiliser lors de la génération des octets. Si la valeur est NULL, les octets sont encodés en utf8.

properties

Tableau des propriétés facultatives de l’enregistreur. Voir WS_XML_WRITER_PROPERTY.

[in] propertyCount

Nombre de propriétés.

[in] heap

Tas à partir duquel allouer les octets.

bytes

Les octets générés sont retournés ici.

[out] byteCount

Le nombre d’octets générés est retourné ici.

[in, optional] error

Spécifie l’emplacement où des informations d’erreur supplémentaires doivent être stockées en cas d’échec de la fonction.

Valeur retournée

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
WS_E_INVALID_OPERATION
L’opération n’est pas autorisée en raison de l’état actuel de l’objet.
WS_E_QUOTA_EXCEEDED
Un quota a été dépassé.

Remarques

La fonction génère l’intégralité du contenu du WS_XML_BUFFER sous la forme d’un ensemble linéaire d’octets alloués à partir du tas spécifié dans l’encodage spécifié.

L’enregistreur reste dans un état non défini après l’appel de cette fonction. Toutefois, WsWriteXmlBufferToBytes peut être utilisé à nouveau avec un tel enregistreur. Sinon, WsSetOutput ou WsSetOutputToBuffer doivent être utilisés pour ramener l’enregistreur à un état connu, ou le writer doit être libéré à l’aide de WsFreeWriter.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête webservices.h
Bibliothèque WebServices.lib
DLL WebServices.dll