Compartilhar via


Função WsWriteEnvelopeStart (webservices.h)

Grava o início da mensagem, incluindo o conjunto atual de cabeçalhos da mensagem e se prepara para gravar os elementos do corpo.

Essa função foi projetada para gravar mensagens em destinos diferentes de canais. Para gravar uma mensagem em um canal, use WsWriteMessageStart.

Sintaxe

HRESULT WsWriteEnvelopeStart(
  [in]           WS_MESSAGE               *message,
  [in]           WS_XML_WRITER            *writer,
  [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 gravado. O ponteiro deve referenciar um objeto de WS_MESSAGE válido.

[in] writer

Um ponteiro para o objeto Gravador XML para gravar a Mensagem. O objeto Message usa o Gravador em chamadas subsequentes para gravar a mensagem. O chamador deve manter o gravador válido até que WsResetMessage ou WsFreeMessage seja chamado.

O parâmetro WS_MESSAGE_DONE_CALLBACK pode ser usado para determinar que o WS_XML_WRITER não está mais em uso.

[in, optional] doneCallback

A função de retorno de chamada invocada quando a Mensagem é liberada ou redefinida. Esse retorno de chamada pode ser usado para indicar que o objeto WS_XML_WRITER não está mais em uso por esta mensagem. Se essa função falhar, o retorno de chamada não será chamado. Se a função for bem-sucedida, o retorno de chamada será invocado apenas uma vez.

[in, optional] doneCallbackState

Um ponteiro nulo para um estado definido pelo usuário que será passado para o retorno de chamada especificado. Esse parâmetro pode ser NULL.

[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.

Retornar valor

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

O início da mensagem, incluindo o conjunto atual de cabeçalhos que existem na mensagem, é gravado no gravador.

O estado da mensagem deve ser definido como WS_MESSAGE_STATE_INITIALIZED. Em caso de êxito, o estado da mensagem faz a transição para WS_MESSAGE_STATE_WRITING.
Em caso de falha, a transição de estado não ocorre.

Para gravar um elemento do corpo da mensagem, use WsWriteBody. Para gravar diretamente no Gravador da Mensagem, obtenha o Leitor com o WS_MESSAGE_PROPERTY_ID definido como WS_MESSAGE_PROPERTY_BODY_WRITER propriedade.

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