Partager via


énumération WS_MESSAGE_PROPERTY_ID (webservices.h)

Chaque propriété de message est de type WS_MESSAGE_PROPERTY, est identifiée par un ID et a une valeur associée.

Syntax

typedef enum {
  WS_MESSAGE_PROPERTY_STATE = 0,
  WS_MESSAGE_PROPERTY_HEAP = 1,
  WS_MESSAGE_PROPERTY_ENVELOPE_VERSION = 2,
  WS_MESSAGE_PROPERTY_ADDRESSING_VERSION = 3,
  WS_MESSAGE_PROPERTY_HEADER_BUFFER = 4,
  WS_MESSAGE_PROPERTY_HEADER_POSITION = 5,
  WS_MESSAGE_PROPERTY_BODY_READER = 6,
  WS_MESSAGE_PROPERTY_BODY_WRITER = 7,
  WS_MESSAGE_PROPERTY_IS_ADDRESSED = 8,
  WS_MESSAGE_PROPERTY_HEAP_PROPERTIES = 9,
  WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES = 10,
  WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES = 11,
  WS_MESSAGE_PROPERTY_IS_FAULT = 12,
  WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS = 13,
  WS_MESSAGE_PROPERTY_USERNAME = 14,
  WS_MESSAGE_PROPERTY_ENCODED_CERT = 15,
  WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN = 16,
  WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN = 17,
  WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN = 18,
  WS_MESSAGE_PROPERTY_SAML_ASSERTION = 19,
  WS_MESSAGE_PROPERTY_SECURITY_CONTEXT = 20,
  WS_MESSAGE_PROPERTY_PROTECTION_LEVEL = 21
} WS_MESSAGE_PROPERTY_ID;

Constantes

 
WS_MESSAGE_PROPERTY_STATE
Valeur : 0
Cette propriété est utilisée avec WsGetMessageProperty.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est la WS_MESSAGE_STATE actuelle du message.

Cette propriété est disponible dans tous les états de message.
WS_MESSAGE_PROPERTY_HEAP
Valeur : 1
Cette propriété est utilisée avec WsGetMessageProperty.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est le WS_HEAP du message. Le tas est
appartenant au message. Un utilisateur d’un message est libre d’effectuer des
allocations dans ce tas. Les allocations au sein du tas sont libérées
lorsqu’un message est réinitialisé/libéré.


L’utilisateur du tas retourné ne doit pas appeler WsResetHeap sur le tas. Cela entraîne un comportement non défini.


L’objet message n’utilise pas l’objet tas, sauf si l’un des
les API de message sont appelées.


Cette propriété est disponible dans tous les états de message, à l’exception de WS_MESSAGE_STATE_EMPTY.
L’utilisation du tas d’un message vide entraîne un comportement non défini.
WS_MESSAGE_PROPERTY_ENVELOPE_VERSION
Valeur : 2
Cette propriété est utilisée avec WsGetMessageProperty.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est le WS_ENVELOPE_VERSION du message.


Lors de la création d’un message à l’aide de WsCreateMessage, le
la version d’enveloppe est spécifiée en tant que paramètre explicite (à la place
en tant que propriété).


Cette propriété peut être spécifiée lorsque des propriétés de message sont spécifiées à l’aide de
structure WS_MESSAGE_PROPERTIES .


Cette propriété est disponible dans tous les états de message, à l’exception de WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_ADDRESSING_VERSION
Valeur : 3
Cette propriété est utilisée avec WsGetMessageProperty.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est le WS_ADDRESSING_VERSION du message.


Lors de la création d’un message à l’aide de WsCreateMessage, le
la version d’adressage est spécifiée en tant que paramètre explicite (à la place
en tant que propriété).


Cette propriété peut être spécifiée lorsque des propriétés de message sont spécifiées à l’aide de
structure WS_MESSAGE_PROPERTIES .


Cette propriété est disponible dans tous les états de message, à l’exception de WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_HEADER_BUFFER
Valeur : 4
Cette propriété est utilisée avec WsGetMessageProperty.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est un WS_XML_BUFFER qui contient les en-têtes
du message (ainsi que les éléments d’enveloppe et de corps).


Cette mémoire tampon est valide jusqu’à ce que le message soit réinitialisé/libéré.


Cette propriété est disponible dans tous les états de message, à l’exception de WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_HEADER_POSITION
Valeur : 5
Cette propriété est utilisée avec WsGetMessageProperty.

Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est le WS_XML_NODE_POSITION de l’élément header dans la mémoire tampon d’en-tête (l’élément qui contient tous les éléments
les en-têtes de message en tant qu’enfants). La mémoire tampon d’en-tête elle-même peut être
obtenue à l’aide de WS_MESSAGE_PROPERTY_HEADER_BUFFER.


Une application peut utiliser le WS_XML_NODE_POSITION retourné comme démarrage
point lors de la lecture ou de l’écriture manuelle des en-têtes (lorsque vous n’utilisez pas WsSetHeader,
WsGetHeader, WsGetCustomHeader ou WsAddCustomHeader).
Par exemple, la position peut être passée à WsSetWriterPosition ou
WsSetReaderPosition pour positionner un lecteur XML ou un enregistreur XML dans le WS_XML_BUFFER contenant les en-têtes. En outre :
WsMoveReader ou WsMoveWriter peut être utilisé pour déplacer relatif
à la position définie.


Lorsque les en-têtes d’un message sont lus (via WsReadMessageStart ou
WsReadEnvelopeStart, un élément d’en-tête est automatiquement ajouté à
mémoire tampon d’en-tête si l’un d’eux n’est pas présent dans le message en cours de lecture. Quand un message est initialisé
(via WsInitializeMessage), un élément d’en-tête est ajouté automatiquement
au message.


Cette propriété est disponible dans tous les états de message, à l’exception de WS_MESSAGE_STATE_EMPTY.


La position d’en-tête est valide jusqu’à ce que le message soit réinitialisé ou libéré.
WS_MESSAGE_PROPERTY_BODY_READER
Valeur : 6
Cette propriété est utilisée avec WsGetMessageProperty.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est un WS_XML_READER qui peut être utilisé pour lire
corps du message.


Le lecteur appartient à l’objet de message et est valide uniquement
jusqu’à ce que WsFreeMessage ou WsResetMessage soient appelés.


Cette propriété n’est disponible que lorsque le message est
dans l’état WS_MESSAGE_STATE_READING .
WS_MESSAGE_PROPERTY_BODY_WRITER
Valeur : 7
Cette propriété est utilisée avec WsGetMessageProperty.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est un WS_XML_WRITER qui peut être utilisé pour écrire
corps du message.


Cette propriété n’est disponible que lorsque le message est dans
WS_MESSAGE_STATE_WRITING état.


L’enregistreur appartient à l’objet de message et est valide uniquement
jusqu’à ce que WsFreeMessage ou WsResetMessage soient appelés.
WS_MESSAGE_PROPERTY_IS_ADDRESSED
Valeur : 8
Cette propriété est utilisée avec WsGetMessageProperty.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est un BOOL indiquant si le message a
ont été traités.


Lorsqu’un message est créé ou réinitialisé, cette propriété est
défini sur FALSE.


Lorsqu’un message est lu (WsReadMessageStart ou
WsReadEnvelopeStart, alors cette propriété est
défini sur TRUE.


Cette propriété est disponible dans tous les états de message, à l’exception de WS_MESSAGE_STATE_EMPTY.


Pour plus d’informations, consultez WsAddressMessage .
WS_MESSAGE_PROPERTY_HEAP_PROPERTIES
Valeur : 9
Cette propriété est utilisée avec WsCreateMessage pour spécifier les propriétés
de la WS_HEAP associée au message.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est de type WS_HEAP_PROPERTIES.


Le tas est utilisé pour mettre en mémoire tampon les en-têtes du message.


Les propriétés de tas suivantes peuvent être spécifiées :


WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES
Valeur : 10
Cette propriété est utilisée avec WsCreateMessage pour spécifier des propriétés
qui s’appliquent aux lecteurs XML utilisés avec le message.


Ces propriétés de lecteur XML sont utilisées par l’objet message lors de la lecture des en-têtes.
En outre, les canaux utilisent ces propriétés pour les lecteurs qu’ils créent pour lire
d’information.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est de type WS_XML_READER_PROPERTIES.


Les propriétés suivantes peuvent être spécifiées :


WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES
Valeur : 11
Cette propriété est utilisée avec WsCreateMessage pour spécifier les propriétés
des enregistreurs XML utilisés avec le message.


Ces propriétés xml Writer sont utilisées par l’objet message lors de l’écriture d’en-têtes.
En outre, les canaux utilisent ces propriétés pour les enregistreurs qu’ils créent pour écrire
d’information.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est de type WS_XML_WRITER_PROPERTIES.


Les propriétés suivantes peuvent être spécifiées :


WS_MESSAGE_PROPERTY_IS_FAULT
Valeur : 12
Cette propriété est utilisée avec WsGetMessageProperty ou WsSetMessageProperty pour indiquer si un message contient une erreur.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est un BOOL.

Lorsqu’un message est lu (WsReadMessageStart ou WsReadEnvelopeStart),
cette propriété est définie selon que le premier élément du corps est une erreur
. Une application peut tester cette propriété pour décider si
pour lire le corps en tant qu’erreur. Pour lire le corps en tant qu’erreur, utilisez WsReadBody
avec WS_FAULT_TYPE pour obtenir un WS_FAULT.


Lorsqu’un message est écrit (WsWriteMessageStart ou WsWriteEnvelopeStart)
cette propriété peut être utilisée pour indiquer si l’application écrit ou non une erreur
dans le corps. Certains canaux utilisent ces informations pour déterminer comment
envoyer le message. Par exemple, HTTP envoie un code 500 status pour les erreurs au lieu de 200.


Lorsqu’un message est initialisé à l’aide de WsInitializeMessage avec
WS_FAULT_MESSAGE, la propriété a la valeur TRUE.
Pour les autres valeurs WS_MESSAGE_INITIALIZATION , la propriété est définie sur FALSE.


Cette propriété est disponible dans tous les états de message, à l’exception de WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS
Valeur : 13
Cette propriété est utilisée avec WsCreateMessage pour spécifier le nombre maximal d’en-têtes
qui sera autorisé lors du traitement des en-têtes de message.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est un ULONG.

L’objectif de cette limite est de placer une limite supérieure sur le nombre d’itérations
passé l’analyse d’un en-tête.


Étant donné qu’une application peut modifier directement le contenu de la mémoire tampon d’en-tête,
cette limite n’est pas appliquée dans tous les cas. Elle n’est appliquée que lorsque l’un des
les API d’accès à l’en-tête sont utilisées (WsSetHeader, WsGetHeader,
WsGetCustomHeader ou WsGetMappedHeader).


La valeur par défaut est 64.
WS_MESSAGE_PROPERTY_USERNAME
Valeur : 14
Cette propriété est utilisée avec WsGetMessageProperty pour récupérer les données de l’expéditeur
nom d’utilisateur d’un message reçu, si la sécurité basée sur le nom d’utilisateur/mot de passe
est activé ou si un canal personnalisé a défini la valeur.


Le membre de valeur associé à la structure WS_MESSAGE_PROPERTY est une structure WS_STRING .

La valeur retournée est bonne jusqu’à ce que le message soit libéré ou réinitialisé.


Un canal personnalisé peut utiliser WsSetMessageProperty pour définir
nom d’utilisateur de l’expéditeur à partir du message s’il prend en charge le nom d’utilisateur/mot de passe
sécurité basée sur la sécurité. La fonction effectue une copie de la valeur spécifiée.


Cette propriété est disponible dans tous les états de message, sauf
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_ENCODED_CERT
Valeur : 15
Cette propriété est utilisée avec WsGetMessageProperty pour récupérer les données de l’expéditeur
certificat d’un message reçu en tant qu’octets encodés, si
un mode de sécurité basé sur un certificat (tel que SSL) est activé,
ou si un canal personnalisé a défini la valeur.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est une structure WS_BYTES .

La valeur retournée est bonne jusqu’à ce que le message soit libéré ou réinitialisé.


Un canal personnalisé peut utiliser WsSetMessageProperty pour définir
le certificat de l’expéditeur à partir d’un message reçu s’il prend en charge
un mode de sécurité basé sur un certificat. La fonction effectue une copie de la valeur spécifiée.


Cette propriété est disponible dans tous les états de message, sauf
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN
Valeur : 16
Cette propriété est utilisée avec WsGetMessageProperty pour récupérer windows
jeton représentant l’expéditeur d’un message reçu. Cette propriété est
disponible dans les cas suivants :


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est un HANDLE.


La valeur retournée est bonne jusqu’à ce que le message soit libéré ou réinitialisé.


Un canal personnalisé peut utiliser WsSetMessageProperty pour définir
certificat de l’expéditeur à partir d’un message reçu s’il prend en charge
un mode de sécurité basé sur un certificat. La fonction dupliquera le handle spécifié.


Cette propriété est disponible dans tous les états de message, à l’exception de
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN
Valeur : 17
Cette propriété est utilisée avec WsGetMessageProperty pour récupérer windows
jeton représentant l’expéditeur d’un message reçu, si
WS_HTTP_HEADER_AUTH_SECURITY_BINDING est utilisé,
ou si un canal personnalisé a défini la valeur.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est un HANDLE.

La valeur retournée est bonne jusqu’à ce que le message soit libéré ou réinitialisé.


Un canal personnalisé peut utiliser WsSetMessageProperty pour définir
jeton Windows représentant l’expéditeur d’un message reçu.
La fonction dupliquera le handle spécifié.


Cette propriété est disponible dans tous les états de message, à l’exception de
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN
Valeur : 18
Cette propriété est utilisée avec WsGetMessageProperty pour récupérer windows
jeton représentant l’expéditeur d’un message reçu, si une sécurité de message
liaison telle que WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING est utilisée,
ou si un canal personnalisé a défini la valeur.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est un HANDLE.

La valeur retournée est bonne jusqu’à ce que le message soit libéré ou réinitialisé.


Un canal personnalisé peut utiliser WsSetMessageProperty pour définir
jeton représentant l’expéditeur d’un message reçu.
La fonction dupliquera le handle spécifié.


Cette propriété est disponible dans tous les états de message, à l’exception de
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_SAML_ASSERTION
Valeur : 19
Cette propriété est utilisée avec WsGetMessageProperty pour récupérer l’assertion SAML
représentant l’expéditeur à partir d’un message reçu, si
WS_SAML_MESSAGE_SECURITY_BINDING est utilisé côté serveur,
ou si un canal personnalisé a défini la valeur.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est un WS_XML_BUFFER.

La valeur retournée est bonne jusqu’à ce que le message soit libéré ou réinitialisé.


Un canal personnalisé peut utiliser WsSetMessageProperty pour définir
assertion SAML représentant l’expéditeur d’un message reçu.
La fonction dupliquera la mémoire tampon spécifiée.


Cette propriété est disponible dans tous les états de message, à l’exception de
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_SECURITY_CONTEXT
Valeur : 20
Cette propriété est utilisée avec WsGetMessageProperty pour récupérer le handle de conversation sécurisé si le
WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING est utilisé côté serveur.


Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est un WS_SECURITY_CONTEXT.

La valeur retournée est bonne jusqu’à ce que le message soit libéré ou réinitialisé.
WS_MESSAGE_PROPERTY_PROTECTION_LEVEL
Valeur : 21
Cette propriété est utilisée avec WsGetMessageProperty pour récupérer le niveau de protection de sécurité du message.

Le membre de valeur associé de la structure WS_MESSAGE_PROPERTY est une valeur WS_PROTECTION_LEVEL .

Si le canal n’utilise pas la sécurité ou si la vérification de la sécurité a échoué, le niveau de protection est défini sur
WS_PROTECTION_LEVEL_NONE. Sinon, il est défini sur le niveau demandé par l’application.


Cette propriété peut être utilisée pour déterminer la status de la vérification de sécurité lors de la WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS
a la valeur FALSE.


Un canal personnalisé peut utiliser WsSetMessageProperty pour définir
niveau de protection d’un message reçu.


Cette propriété est disponible dans tous les états de message, à l’exception de
WS_MESSAGE_STATE_EMPTY.

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]
En-tête webservices.h