enumerazione WS_MESSAGE_PROPERTY_ID (webservices.h)

Ogni proprietà del messaggio è di tipo WS_MESSAGE_PROPERTY, è identificata da un ID e ha un valore associato.

Sintassi

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;

Costanti

 
WS_MESSAGE_PROPERTY_STATE
Valore: 0
Questa proprietà viene utilizzata con WsGetMessageProperty.


Il membro del valore a cui è associata la struttura WS_MESSAGE_PROPERTY è il WS_MESSAGE_STATE corrente del messaggio.

Questa proprietà è disponibile in tutti gli stati del messaggio.
WS_MESSAGE_PROPERTY_HEAP
Valore: 1
Questa proprietà viene utilizzata con WsGetMessageProperty.


Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è il WS_HEAP del messaggio. L'heap è
di proprietà del messaggio. Un utente di un messaggio è libero di rendere aggiuntivi
allocazioni all'interno di questo heap. Le allocazioni all'interno dell'heap vengono liberate
quando un messaggio viene reimpostato/liberato.


L'utente dell'heap restituito non deve chiamare WsResetHeap nell'heap. Ciò comporterà un comportamento non definito.


L'oggetto messaggio non utilizzerà l'oggetto heap, a meno che non ne venga utilizzato uno
viene richiamata l'API del messaggio.


Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY.
L'uso dell'heap di un messaggio vuoto comporterà un comportamento non definito.
WS_MESSAGE_PROPERTY_ENVELOPE_VERSION
Valore: 2
Questa proprietà viene utilizzata con WsGetMessageProperty.


Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è il WS_ENVELOPE_VERSION del messaggio.


Quando si crea un messaggio usando WsCreateMessage,
La versione envelope viene specificata come parametro esplicito (invece
di come proprietà).


Questa proprietà può essere specificata quando le proprietà del messaggio vengono specificate utilizzando
struttura WS_MESSAGE_PROPERTIES .


Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_ADDRESSING_VERSION
Valore: 3
Questa proprietà viene utilizzata con WsGetMessageProperty.


Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è il WS_ADDRESSING_VERSION del messaggio.


Quando si crea un messaggio usando WsCreateMessage,
la versione di indirizzamento viene specificata come parametro esplicito (invece
di come proprietà).


Questa proprietà può essere specificata quando le proprietà del messaggio vengono specificate utilizzando
struttura WS_MESSAGE_PROPERTIES .


Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_HEADER_BUFFER
Valore: 4
Questa proprietà viene utilizzata con WsGetMessageProperty.


Il membro valore a cui è associata la struttura WS_MESSAGE_PROPERTY è un WS_XML_BUFFER che contiene le intestazioni
del messaggio (nonché la busta e gli elementi del corpo).


Questo buffer è valido fino a quando il messaggio non viene reimpostato/liberato.


Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_HEADER_POSITION
Valore: 5
Questa proprietà viene utilizzata con WsGetMessageProperty.

Il membro valore adiacente della struttura WS_MESSAGE_PROPERTY è il WS_XML_NODE_POSITION dell'elemento di intestazione all'interno del buffer di intestazione (l'elemento che contiene tutti
intestazioni del messaggio come elementi figlio. Il buffer di intestazione stesso può essere
ottenuto utilizzando WS_MESSAGE_PROPERTY_HEADER_BUFFER.


Un'applicazione può usare il WS_XML_NODE_POSITION restituito come avvio
punto durante la lettura o la scrittura manuale di intestazioni (quando non si usa WsSetHeader,
WsGetHeader, WsGetCustomHeader o WsAddCustomHeader).
Ad esempio, la posizione può essere passata a WsSetWriterPosition o
WsSetReaderPosition per posizionare un lettore XML o un writer XML all'interno del WS_XML_BUFFER contenente le intestazioni. Inoltre,
WsMoveReader o WsMoveWriter possono essere usati per spostare i valori relativi
alla posizione impostata.


Quando le intestazioni di un messaggio vengono lette (tramite WsReadMessageStart o
WsReadEnvelopeStart, un elemento di intestazione viene aggiunto automaticamente al
buffer di intestazione se non è presente nel messaggio da leggere. Quando un messaggio viene inizializzato
(tramite WsInitializeMessage), viene aggiunto automaticamente un elemento di intestazione
al messaggio.


Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY.


La posizione dell'intestazione è valida fino a quando il messaggio non viene reimpostato o liberato.
WS_MESSAGE_PROPERTY_BODY_READER
Valore: 6
Questa proprietà viene utilizzata con WsGetMessageProperty.


Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è un WS_XML_READER che può essere utilizzato per leggere
corpo del messaggio.


Il lettore è di proprietà dell'oggetto messaggio ed è valido solo
finché non vengono chiamati WsFreeMessage o WsResetMessage .


Questa proprietà è disponibile solo quando il messaggio è
nello stato WS_MESSAGE_STATE_READING .
WS_MESSAGE_PROPERTY_BODY_WRITER
Valore: 7
Questa proprietà viene utilizzata con WsGetMessageProperty.


Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è un WS_XML_WRITER che può essere utilizzato per scrivere
corpo del messaggio.


Questa proprietà è disponibile solo quando il messaggio si trova in
WS_MESSAGE_STATE_WRITING stato.


Il writer è di proprietà dell'oggetto messaggio ed è valido solo
finché non vengono chiamati WsFreeMessage o WsResetMessage .
WS_MESSAGE_PROPERTY_IS_ADDRESSED
Valore: 8
Questa proprietà viene utilizzata con WsGetMessageProperty.


Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è un valore BOOL che indica se il messaggio ha
sono stati affrontati.


Quando viene creato o reimpostato un messaggio, questa proprietà è
impostare su FALSE.


Quando un messaggio viene letto (WsReadMessageStart o
WsReadEnvelopeStart, quindi questa proprietà è
impostare su TRUE.


Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY.


Per altre informazioni, vedere WsAddressMessage .
WS_MESSAGE_PROPERTY_HEAP_PROPERTIES
Valore: 9
Questa proprietà viene utilizzata con WsCreateMessage per specificare le proprietà
del WS_HEAP associato al messaggio.


Il membro valore a cui è associata la struttura WS_MESSAGE_PROPERTY è di tipo WS_HEAP_PROPERTIES.


L'heap viene usato per memorizzare nel buffer le intestazioni del messaggio.


È possibile specificare le proprietà dell'heap seguenti:


WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES
Valore: 10
Questa proprietà viene utilizzata con WsCreateMessage per specificare le proprietà
che si applicano ai lettori XML utilizzati con il messaggio.


Queste proprietà del lettore XML vengono utilizzate dall'oggetto messaggio durante la lettura delle intestazioni.
Inoltre, i canali usano queste proprietà per i lettori che creano per leggere
Messaggi.


Il membro valore a cui è associata la struttura WS_MESSAGE_PROPERTY è di tipo WS_XML_READER_PROPERTIES.


È possibile specificare le proprietà seguenti:


WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES
Valore: 11
Questa proprietà viene utilizzata con WsCreateMessage per specificare le proprietà
dei writer XML utilizzati con il messaggio.


Queste proprietà del writer XML vengono utilizzate dall'oggetto messaggio durante la scrittura di intestazioni.
Inoltre, i canali usano queste proprietà per i writer che creano per scrivere
Messaggi.


Il membro valore a cui è associata la struttura WS_MESSAGE_PROPERTY è di tipo WS_XML_WRITER_PROPERTIES.


È possibile specificare le proprietà seguenti:


WS_MESSAGE_PROPERTY_IS_FAULT
Valore: 12
Questa proprietà viene utilizzata con WsGetMessageProperty o WsSetMessageProperty per indicare se un messaggio contiene un errore.


Il membro del valore a cui è associata la struttura WS_MESSAGE_PROPERTY è un valore BOOL.

Quando un messaggio viene letto (WsReadMessageStart o WsReadEnvelopeStart),
questa proprietà viene impostata in base al fatto che il primo elemento del corpo sia un errore
Elemento. Un'applicazione può testare questa proprietà come metodo per decidere se
per leggere il corpo come errore. Per leggere il corpo come errore, usare WsReadBody
con WS_FAULT_TYPE per ottenere un WS_FAULT.


Quando viene scritto un messaggio (WsWriteMessageStart o WsWriteEnvelopeStart)
questa proprietà può essere usata per indicare se l'applicazione scriverà o meno un errore
nel corpo. Alcuni canali useranno queste informazioni per determinare come
inviare il messaggio. Ad esempio, HTTP invierà un codice di stato 500 per gli errori anziché 200.


Quando un messaggio viene inizializzato tramite WsInitializeMessage con
WS_FAULT_MESSAGE, la proprietà è impostata su TRUE.
Per altri valori WS_MESSAGE_INITIALIZATION , la proprietà è impostata su FALSE.


Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS
Valore: 13
Questa proprietà viene utilizzata con WsCreateMessage per specificare il numero massimo di intestazioni
che sarà consentito durante l'elaborazione delle intestazioni del messaggio.


Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è una ULONG.

Lo scopo di questo limite è quello di mettere un limite superiore sul numero di iterazioni
ha impiegato l'analisi di un'intestazione.


Poiché un'applicazione può modificare direttamente il contenuto del buffer di intestazione,
questo limite non viene applicato in tutti i casi. Viene applicato solo quando uno di
vengono usate le API di accesso alle intestazioni (WsSetHeader, WsGetHeader,
WsGetCustomHeader o WsGetMappedHeader.


Il valore predefinito è 64.
WS_MESSAGE_PROPERTY_USERNAME
Valore: 14
Questa proprietà viene usata con WsGetMessageProperty per recuperare il mittente
nome utente da un messaggio ricevuto, se sicurezza basata su nome utente/password
è attivato o se un canale personalizzato ha impostato il valore .


Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è una struttura WS_STRING .

Il valore restituito è valido fino a quando il messaggio non viene liberato o reimpostato.


Un canale personalizzato può usare WsSetMessageProperty per impostare
nome utente del mittente dal messaggio se supporta nome utente/password
sicurezza basata su. La funzione creerà una copia del valore specificato.


Questa proprietà è disponibile in tutti gli stati del messaggio tranne
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_ENCODED_CERT
Valore: 15
Questa proprietà viene usata con WsGetMessageProperty per recuperare il mittente
certificato da un messaggio ricevuto come byte codificati, se
è attivata una modalità di sicurezza basata su certificati (ad esempio SSL),
oppure se un canale personalizzato ha impostato il valore .


Il membro valore a cui è associata la struttura WS_MESSAGE_PROPERTY è una struttura WS_BYTES .

Il valore restituito è valido fino a quando il messaggio non viene liberato o reimpostato.


Un canale personalizzato può usare WsSetMessageProperty per impostare
certificato del mittente da un messaggio ricevuto, se supportato
modalità di sicurezza basata su certificato. La funzione creerà una copia del valore specificato.


Questa proprietà è disponibile in tutti gli stati del messaggio tranne
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN
Valore: 16
Questa proprietà viene usata con WsGetMessageProperty per recuperare windows
token che rappresenta il mittente da un messaggio ricevuto. Questa proprietà è
disponibili nei casi seguenti:


Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un HANDLE.


Il valore restituito è valido finché il messaggio non viene liberato o reimpostato.


Un canale personalizzato può usare WsSetMessageProperty per impostare
certificato del mittente da un messaggio ricevuto se supporta
modalità di sicurezza basata su certificati. La funzione duplicerà l'handle specificato.


Questa proprietà è disponibile in tutti gli stati dei messaggi, ad eccezione di
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN
Valore: 17
Questa proprietà viene usata con WsGetMessageProperty per recuperare Windows
token che rappresenta il mittente da un messaggio ricevuto, se
WS_HTTP_HEADER_AUTH_SECURITY_BINDING viene usato,
o se un canale personalizzato ha impostato il valore.


Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un HANDLE.

Il valore restituito è valido finché il messaggio non viene liberato o reimpostato.


Un canale personalizzato può usare WsSetMessageProperty per impostare
token di windows che rappresenta il mittente da un messaggio ricevuto.
La funzione duplicerà l'handle specificato.


Questa proprietà è disponibile in tutti gli stati dei messaggi, ad eccezione di
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN
Valore: 18
Questa proprietà viene usata con WsGetMessageProperty per recuperare Windows
token che rappresenta il mittente da un messaggio ricevuto, se una sicurezza del messaggio
viene usata l'associazione , ad esempio WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING,
o se un canale personalizzato ha impostato il valore.


Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un HANDLE.

Il valore restituito è valido finché il messaggio non viene liberato o reimpostato.


Un canale personalizzato può usare WsSetMessageProperty per impostare
token che rappresenta il mittente da un messaggio ricevuto.
La funzione duplicerà l'handle specificato.


Questa proprietà è disponibile in tutti gli stati dei messaggi, ad eccezione di
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_SAML_ASSERTION
Valore: 19
Questa proprietà viene usata con WsGetMessageProperty per recuperare l'asserzione SAML
che rappresenta il mittente da un messaggio ricevuto, se
WS_SAML_MESSAGE_SECURITY_BINDING viene usato sul lato server,
o se un canale personalizzato ha impostato il valore.


Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un WS_XML_BUFFER.

Il valore restituito è valido finché il messaggio non viene liberato o reimpostato.


Un canale personalizzato può usare WsSetMessageProperty per impostare
asserzione SAML che rappresenta il mittente da un messaggio ricevuto.
La funzione duplicerà il buffer specificato.


Questa proprietà è disponibile in tutti gli stati dei messaggi, ad eccezione di
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_SECURITY_CONTEXT
Valore: 20
Questa proprietà viene usata con WsGetMessageProperty per recuperare l'handle di conversazione sicuro se
WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING viene usato sul lato server.


Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un WS_SECURITY_CONTEXT.

Il valore restituito è valido finché il messaggio non viene liberato o reimpostato.
WS_MESSAGE_PROPERTY_PROTECTION_LEVEL
Valore: 21
Questa proprietà viene usata con WsGetMessageProperty per recuperare il livello di protezione del messaggio.

Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un valore WS_PROTECTION_LEVEL .

Se il canale non usa la sicurezza o se la verifica della sicurezza non è riuscita, il livello di protezione è impostato su
WS_PROTECTION_LEVEL_NONE. In caso contrario, viene impostato sul livello richiesto dall'applicazione.


Questa proprietà può essere usata per determinare lo stato della verifica di sicurezza quando WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS
è impostato su FALSE.


Un canale personalizzato può usare WsSetMessageProperty per impostare
livello di protezione di un messaggio ricevuto.


Questa proprietà è disponibile in tutti gli stati dei messaggi, ad eccezione di
WS_MESSAGE_STATE_EMPTY.

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Intestazione webservices.h