enumeração WS_MESSAGE_PROPERTY_ID (webservices.h)

Cada propriedade de mensagem é do tipo WS_MESSAGE_PROPERTY, é identificada por uma ID e tem um valor associado.

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
Valor: 0
Essa propriedade é usada com WsGetMessageProperty.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é o WS_MESSAGE_STATE atual da mensagem.

Essa propriedade está disponível em todos os estados de mensagem.
WS_MESSAGE_PROPERTY_HEAP
Valor: 1
Essa propriedade é usada com WsGetMessageProperty.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é o WS_HEAP da mensagem. O heap é
pertencente à mensagem. Um usuário de uma mensagem é livre para tornar adicional
alocações dentro desse heap. As alocações no heap são liberadas
quando uma mensagem é redefinida/liberada.


O usuário do heap retornado não deve chamar WsResetHeap no heap. Isso resultará em um comportamento indefinido.


O objeto message não usará o objeto heap, a menos que um dos
as APIs de mensagem são invocadas.


Essa propriedade está disponível em todos os estados de mensagem, exceto WS_MESSAGE_STATE_EMPTY.
Usar o heap de uma mensagem vazia resultará em um comportamento indefinido.
WS_MESSAGE_PROPERTY_ENVELOPE_VERSION
Valor: 2
Essa propriedade é usada com WsGetMessageProperty.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é o WS_ENVELOPE_VERSION da mensagem.


Ao criar uma mensagem usando WsCreateMessage, o
A versão do envelope é especificada como um parâmetro explícito (em vez disso,
de como uma propriedade).


Essa propriedade pode ser especificada quando as propriedades da mensagem são especificadas usando
a estrutura WS_MESSAGE_PROPERTIES .


Essa propriedade está disponível em todos os estados de mensagem, exceto WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_ADDRESSING_VERSION
Valor: 3
Essa propriedade é usada com WsGetMessageProperty.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é o WS_ADDRESSING_VERSION da mensagem.


Ao criar uma mensagem usando WsCreateMessage, o
a versão de endereçamento é especificada como um parâmetro explícito (em vez disso,
de como uma propriedade).


Essa propriedade pode ser especificada quando as propriedades da mensagem são especificadas usando
a estrutura WS_MESSAGE_PROPERTIES .


Essa propriedade está disponível em todos os estados de mensagem, exceto WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_HEADER_BUFFER
Valor: 4
Essa propriedade é usada com WsGetMessageProperty.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um WS_XML_BUFFER que contém os cabeçalhos
da mensagem (bem como os elementos envelope e corpo).


Esse buffer é válido até que a mensagem seja redefinida/liberada.


Essa propriedade está disponível em todos os estados de mensagem, exceto WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_HEADER_POSITION
Valor: 5
Essa propriedade é usada com WsGetMessageProperty.

O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é o WS_XML_NODE_POSITION do elemento de cabeçalho dentro do buffer de cabeçalho (o elemento que contém todos
os cabeçalhos de mensagem como filhos). O próprio buffer de cabeçalho pode ser
obtido usando WS_MESSAGE_PROPERTY_HEADER_BUFFER.


Um aplicativo pode usar a WS_XML_NODE_POSITION retornada como uma inicialização
ao ler ou gravar cabeçalhos manualmente (quando não estiver usando WsSetHeader,
WsGetHeader, WsGetCustomHeader ou WsAddCustomHeader).
Por exemplo, a posição pode ser passada para WsSetWriterPosition ou
WsSetReaderPosition para posicionar um Leitor XML ou um Gravador XML dentro do WS_XML_BUFFER que contém os cabeçalhos. Além disso:
WsMoveReader ou WsMoveWriter podem ser usados para mover relativo
para a posição que foi definida.


Quando os cabeçalhos de uma mensagem são lidos (via WsReadMessageStart ou
WsReadEnvelopeStart, um elemento de cabeçalho é adicionado automaticamente ao
buffer de cabeçalho se um não estiver presente na mensagem que está sendo lida. Quando uma mensagem é inicializada
(via WsInitializeMessage), um elemento de cabeçalho é adicionado automaticamente
para a mensagem.


Essa propriedade está disponível em todos os estados de mensagem, exceto WS_MESSAGE_STATE_EMPTY.


A posição do cabeçalho é válida até que a mensagem seja redefinida ou liberada.
WS_MESSAGE_PROPERTY_BODY_READER
Valor: 6
Essa propriedade é usada com WsGetMessageProperty.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um WS_XML_READER que pode ser usado para ler
o corpo da mensagem.


O leitor pertence ao objeto de mensagem e é válido apenas
até que WsFreeMessage ou WsResetMessage sejam chamados .


Essa propriedade só estará disponível quando a mensagem for
em WS_MESSAGE_STATE_READING estado.
WS_MESSAGE_PROPERTY_BODY_WRITER
Valor: 7
Essa propriedade é usada com WsGetMessageProperty.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um WS_XML_WRITER que pode ser usado para gravar
o corpo da mensagem.


Essa propriedade só estará disponível quando a mensagem estiver em
WS_MESSAGE_STATE_WRITING estado.


O gravador pertence ao objeto de mensagem e é válido apenas
até que WsFreeMessage ou WsResetMessage sejam chamados .
WS_MESSAGE_PROPERTY_IS_ADDRESSED
Valor: 8
Essa propriedade é usada com WsGetMessageProperty.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um BOOL que indica se a mensagem tem
foi endereçado.


Quando uma mensagem é criada ou redefinida, essa propriedade é
defina como FALSE.


Quando uma mensagem é lida (WsReadMessageStart ou
WsReadEnvelopeStart, então essa propriedade é
defina como TRUE.


Essa propriedade está disponível em todos os estados de mensagem, exceto WS_MESSAGE_STATE_EMPTY.


Consulte WsAddressMessage para obter mais informações.
WS_MESSAGE_PROPERTY_HEAP_PROPERTIES
Valor: 9
Essa propriedade é usada com WsCreateMessage para especificar as propriedades
do WS_HEAP associado à mensagem.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é do tipo WS_HEAP_PROPERTIES.


O heap é usado para armazenar em buffer os cabeçalhos da mensagem.


As seguintes propriedades de heap podem ser especificadas:


WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES
Valor: 10
Essa propriedade é usada com WsCreateMessage para especificar propriedades
que se aplicam aos Leitores XML que são usados com a mensagem.


Essas propriedades do Leitor de XML são usadas pelo objeto de mensagem ao ler cabeçalhos.
Além disso, os canais usam essas propriedades para os leitores que eles criam para ler
Mensagens.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é do tipo WS_XML_READER_PROPERTIES.


As seguintes propriedades podem ser especificadas:


WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES
Valor: 11
Essa propriedade é usada com WsCreateMessage para especificar as propriedades
dos Gravadores XML que são usados com a mensagem.


Essas propriedades do Gravador XML são usadas pelo objeto de mensagem ao gravar cabeçalhos.
Além disso, os canais usam essas propriedades para os gravadores que eles criam para escrever
Mensagens.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é do tipo WS_XML_WRITER_PROPERTIES.


As seguintes propriedades podem ser especificadas:


WS_MESSAGE_PROPERTY_IS_FAULT
Valor: 12
Essa propriedade é usada com WsGetMessageProperty ou WsSetMessageProperty para indicar se uma mensagem contém uma falha.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um BOOL.

Quando uma mensagem é lida (WsReadMessageStart ou WsReadEnvelopeStart),
essa propriedade é definida de acordo com se o primeiro elemento do corpo é uma falha
Elemento. Um aplicativo pode testar essa propriedade como uma forma de decidir se
para ler o corpo como uma falha. Para ler o corpo como uma falha, use WsReadBody
com WS_FAULT_TYPE para obter um WS_FAULT.


Quando uma mensagem é gravada (WsWriteMessageStart ou WsWriteEnvelopeStart)
essa propriedade pode ser usada para indicar se o aplicativo gravará ou não uma falha
no corpo. Alguns canais usarão essas informações para determinar como
envie a mensagem. Por exemplo, HTTP enviará um código de 500 status para falhas em vez de 200.


Quando uma mensagem é inicializada usando WsInitializeMessage com
WS_FAULT_MESSAGE, a propriedade é definida como TRUE.
Para outros valores WS_MESSAGE_INITIALIZATION , a propriedade é definida como FALSE.


Essa propriedade está disponível em todos os estados de mensagem, exceto WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS
Valor: 13
Essa propriedade é usada com WsCreateMessage para especificar o número máximo de cabeçalhos
que serão permitidos ao processar os cabeçalhos de mensagem.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um ULONG.

A finalidade desse limite é colocar um limite superior no número de iterações
gasto verificando um cabeçalho.


Como um aplicativo pode modificar diretamente o conteúdo do buffer de cabeçalho,
esse limite não é imposto em todos os casos. Ele só é imposto quando um dos
as APIs de acesso de cabeçalho são usadas (WsSetHeader, WsGetHeader,
WsGetCustomHeader ou WsGetMappedHeader).


O valor padrão é de 64.
WS_MESSAGE_PROPERTY_USERNAME
Valor: 14
Essa propriedade é usada com WsGetMessageProperty para recuperar a do remetente
nome de usuário de uma mensagem recebida, se segurança baseada em nome de usuário/senha
está ativado ou se um canal personalizado tiver definido o valor.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é uma estrutura WS_STRING .

O valor retornado é bom até que a mensagem seja liberada ou redefinida.


Um canal personalizado pode usar WsSetMessageProperty para definir
o nome de usuário do remetente da mensagem se ele oferecer suporte a nome de usuário/senha
segurança baseada. A função fará uma cópia do valor especificado.


Essa propriedade está disponível em todos os estados de mensagem, exceto
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_ENCODED_CERT
Valor: 15
Essa propriedade é usada com WsGetMessageProperty para recuperar a do remetente
certificado de uma mensagem recebida como bytes codificados, se
um modo de segurança baseado em certificado (como SSL) está ativado,
ou se um canal personalizado tiver definido o valor.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é uma estrutura WS_BYTES .

O valor retornado é bom até que a mensagem seja liberada ou redefinida.


Um canal personalizado pode usar WsSetMessageProperty para definir
o certificado do remetente de uma mensagem recebida se ele der suporte
um modo de segurança baseado em certificado. A função fará uma cópia do valor especificado.


Essa propriedade está disponível em todos os estados de mensagem, exceto
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN
Valor: 16
Essa propriedade é usada com WsGetMessageProperty para recuperar o Windows
token que representa o remetente de uma mensagem recebida. Essa propriedade é
disponível nos seguintes casos:


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um HANDLE.


O valor retornado é bom até que a mensagem seja liberada ou redefinida.


Um canal personalizado pode usar WsSetMessageProperty para definir
o certificado do remetente de uma mensagem recebida se ele der suporte
um modo de segurança baseado em certificado. A função duplicará o identificador especificado.


Essa propriedade está disponível em todos os estados de mensagem, exceto
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN
Valor: 17
Essa propriedade é usada com WsGetMessageProperty para recuperar o Windows
token que representa o remetente de uma mensagem recebida, se o
WS_HTTP_HEADER_AUTH_SECURITY_BINDING é usado,
ou se um canal personalizado tiver definido o valor.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um HANDLE.

O valor retornado é bom até que a mensagem seja liberada ou redefinida.


Um canal personalizado pode usar WsSetMessageProperty para definir
o token do Windows que representa o remetente de uma mensagem recebida.
A função duplicará o identificador especificado.


Essa propriedade está disponível em todos os estados de mensagem, exceto
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN
Valor: 18
Essa propriedade é usada com WsGetMessageProperty para recuperar o Windows
token que representa o remetente de uma mensagem recebida, se uma segurança de mensagem
associação como WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING é usada,
ou se um canal personalizado tiver definido o valor.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um HANDLE.

O valor retornado é bom até que a mensagem seja liberada ou redefinida.


Um canal personalizado pode usar WsSetMessageProperty para definir
o token que representa o remetente de uma mensagem recebida.
A função duplicará o identificador especificado.


Essa propriedade está disponível em todos os estados de mensagem, exceto
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_SAML_ASSERTION
Valor: 19
Essa propriedade é usada com WsGetMessageProperty para recuperar a declaração SAML
representando o remetente de uma mensagem recebida, se o
WS_SAML_MESSAGE_SECURITY_BINDING é usado no lado do servidor,
ou se um canal personalizado tiver definido o valor.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um WS_XML_BUFFER.

O valor retornado é bom até que a mensagem seja liberada ou redefinida.


Um canal personalizado pode usar WsSetMessageProperty para definir
a declaração SAML que representa o remetente de uma mensagem recebida.
A função duplicará o buffer especificado.


Essa propriedade está disponível em todos os estados de mensagem, exceto
WS_MESSAGE_STATE_EMPTY.
WS_MESSAGE_PROPERTY_SECURITY_CONTEXT
Valor: 20
Essa propriedade é usada com WsGetMessageProperty para recuperar o identificador de conversa segura se o
WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING é usado no lado do servidor.


O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um WS_SECURITY_CONTEXT.

O valor retornado é bom até que a mensagem seja liberada ou redefinida.
WS_MESSAGE_PROPERTY_PROTECTION_LEVEL
Valor: 21
Essa propriedade é usada com WsGetMessageProperty para recuperar o nível de proteção de segurança da mensagem.

O membro de valor que acompanha a estrutura WS_MESSAGE_PROPERTY é um valor WS_PROTECTION_LEVEL .

Se o canal não usar segurança ou se a verificação de segurança falhar, o nível de proteção será definido como
WS_PROTECTION_LEVEL_NONE. Caso contrário, ele será definido como o nível solicitado pelo aplicativo.


Essa propriedade pode ser usada para determinar o status da verificação de segurança quando WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS
é definido como FALSE.


Um canal personalizado pode usar WsSetMessageProperty para definir
o nível de proteção de uma mensagem recebida.


Essa propriedade está disponível em todos os estados de mensagem, exceto
WS_MESSAGE_STATE_EMPTY.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho webservices.h