Partager via


WsPullBytes, fonction (webservices.h)

Configure un rappel à appeler pour obtenir les octets à écrire dans un élément.
Dans certains encodages, cela peut être plus efficace en éliminant une copie des données.

Syntaxe

HRESULT WsPullBytes(
  [in]           WS_XML_WRITER          *writer,
  [in]           WS_PULL_BYTES_CALLBACK callback,
  [in, optional] void                   *callbackState,
  [in, optional] WS_ERROR               *error
);

Paramètres

[in] writer

Writer dans lequel les octets seront écrits.

[in] callback

Rappel à appeler quand il est temps d’écrire les données binaires.

[in, optional] callbackState

État défini par l’utilisateur à passer au rappel.

[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

WsWriteBytes et WsPushBytes nécessitent que la mémoire tampon des données soit fournie au writer. Dans certains modèles d’utilisation, une copie supplémentaire des données peut être nécessaire. Pour ces scénarios, WsPullBytes offre un moyen de demander à l’enregistreur de fournir la mémoire tampon qui doit être remplie de données.

Si l’encodage ne peut pas tirer parti de ce comportement, WsPullBytes appelle immédiatement le rappel et fonctionne comme si WsWriteBytes avait été appelé sur les données résultantes.

Configuration requise

   
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