Função WsReadEnvelopeStart (webservices.h)

Lê os cabeçalhos da mensagem e prepara-se para ler os elementos do corpo. A operação lê o início da próxima mensagem do Leitor, incluindo os cabeçalhos da mensagem. O processo permite a leitura de mensagens de outras fontes que não canais. Para ler uma mensagem usando um canal, use WsReadMessageStart.

Nota Com êxito, os cabeçalhos são armazenados na mensagem e podem ser recuperados aleatoriamente usando funções como WsGetHeader ou WsGetCustomHeader.

 

Sintaxe

HRESULT WsReadEnvelopeStart(
  [in]           WS_MESSAGE               *message,
  [in]           WS_XML_READER            *reader,
  [in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
  [in, optional] void                     *doneCallbackState,
  [in, optional] WS_ERROR                 *error
);

Parâmetros

[in] message

Um ponteiro para o objeto Message a ser lido. O ponteiro deve referenciar um objeto WS_MESSAGE válido.

[in] reader

Um ponteiro para o Leitor com a mensagem a ser lida. O objeto Message usa o Leitor nas chamadas atuais e subsequentes.

Nota O chamador de função deve manter o Leitor válido até que WsResetMessage ou WsFreeMessage seja chamado.
O parâmetro WS_MESSAGE_DONE_CALLBACK pode ser usado para saber que o WS_XML_READER não está mais em uso.

 

[in, optional] doneCallback

Identifica a função de retorno de chamada a ser iniciada com êxito da operação atual depois que a mensagem for liberada.

 
O retorno de chamada pode ser usado para descobrir se a instância WS_XML_READER está em uso por esta mensagem. Se a operação atual falhar, o retorno de chamada não será chamado.

[in, optional] doneCallbackState

Um ponteiro para o estado definido pelo usuário que pode ser passado para o WS_MESSAGE_DONE_CALLBACK. Esse parâmetro poderá ser NULL se o retorno de chamada não for usado.

[in, optional] error

Um ponteiro para um objeto WS_ERROR em que informações adicionais sobre o erro devem ser armazenadas se a função falhar.

Valor retornado

Essa função pode retornar um desses valores.

Código de retorno Descrição
WS_E_INVALID_FORMAT
Os dados de entrada não estavam no formato esperado ou não tinham o valor esperado.
E_OUTOFMEMORY
Ficou sem memória.
E_INVALIDARG
Um ou mais argumentos são inválidos.
Outros erros
Essa função pode retornar outros erros não listados acima.

Comentários

A mensagem deve estar no estado WS_MESSAGE_STATE_EMPTY . Com êxito, o estado da mensagem é definido como WS_MESSAGE_STATE_READING.

Para ler um elemento do corpo da mensagem, use WsReadBody. Para ler diretamente do Leitor XML, obtenha o Leitor com a ID da propriedade de mensagem definida como WS_MESSAGE_PROPERTY_BODY_READER.

Requisitos

   
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]
Plataforma de Destino Windows
Cabeçalho webservices.h
Biblioteca WebServices.lib
DLL WebServices.dll