WsAddressMessage, fonction (webservices.h)

Adresse un message à une adresse de point de terminaison spécifiée.

Syntaxe

HRESULT WsAddressMessage(
  [in]           WS_MESSAGE                *message,
  [in, optional] const WS_ENDPOINT_ADDRESS *address,
  [in, optional] WS_ERROR                  *error
);

Paramètres

[in] message

Pointeur vers une structure WS_MESSAGE représentant le message à traiter.

[in, optional] address

Pointeur vers une structure de WS_ENDPOINT_ADDRESS contenant le point de terminaison auquel adresser le message.

Note Le passage de null à ce paramètre indique qu’aucun en-tête n’est ajouté au message. Cela permet de définir le WS_MESSAGE_PROPERTY_ID sur WS_MESSAGE_PROPERTY_IS_ADDRESSED sans modifier l’ensemble d’en-têtes dans le message.
 

[in, optional] error

Pointeur vers une structure de WS_ERROR qui reçoit des informations d’erreur supplémentaires en cas d’échec de la fonction.

Valeur retournée

Si la fonction réussit, elle retourne NO_ERROR ; sinon, elle retourne un code d’erreur HRESULT.

Code de retour Description
WS_E_INVALID_OPERATION
Le message a déjà été traité. (La propriété WS_MESSAGE_PROPERTY_IS_ADDRESSED indique si un message a déjà été adressé.)
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
WS_E_INVALID_FORMAT
Les données d’entrée n’étaient pas au format attendu ou n’avaient pas la valeur attendue.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.
Autres erreurs
Cette fonction peut retourner d’autres erreurs non répertoriées ci-dessus.

Remarques

Si vous n’adressez pas de message en appelant cette fonction, le canal traite automatiquement le message avec l’adresse du point de terminaison passée à WsOpenChannel.

Cette fonction marque le message comme étant adressé en définissant la propriété WS_MESSAGE_PROPERTY_IS_ADDRESSED sur TRUE.

Cette fonction échoue si le message a déjà été traité et retourne WS_E_INVALID_OPERATION.

Si une WS_ENDPOINT_ADDRESS non NULL est passée à la fonction, la fonction effectue les étapes supplémentaires suivantes :

  • Le type d’en-tête est défini sur WS_TO_HEADER (voir l’énumération WS_HEADER_TYPE ) et l’adresse est définie sur la valeur du champ URL de WS_ENDPOINT_ADDRESS. Si la longueur de l’URL est égale à zéro, la représentation spécifique au WS_ADDRESSING_VERSION d’une URL anonyme est définie pour le message.
  • Chaque en-tête du WS_XML_BUFFER spécifié dans le champ en-têtes du WS_ENDPOINT_ADDRESS est ajouté au message. Aucun en-tête n’est ajouté si la mémoire tampon est NULL.

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