Share via


Función WsWriteEnvelopeStart (webservices.h)

Escribe el inicio del mensaje, incluido el conjunto actual de encabezados del mensaje y se prepara para escribir los elementos del cuerpo.

Esta función está diseñada para escribir mensajes en destinos distintos de canales. Para escribir un mensaje en un canal, use WsWriteMessageStart.

Sintaxis

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

Puntero al objeto Message que se va a escribir. El puntero debe hacer referencia a un objeto WS_MESSAGE válido.

[in] writer

Puntero al objeto Escritor XML para escribir el mensaje. El objeto Message usa el objeto Writer en llamadas posteriores para escribir el mensaje. El autor de la llamada debe mantener el escritor válido hasta que se llame a WsResetMessage o WsFreeMessage .

El parámetro WS_MESSAGE_DONE_CALLBACK se puede usar para determinar que el WS_XML_WRITER ya no está en uso.

[in, optional] doneCallback

La función de devolución de llamada invocada cuando se libera o restablece el mensaje. Esta devolución de llamada se puede usar para indicar que el objeto WS_XML_WRITER ya no está en uso por este mensaje. Si se produce un error en esta función, no se llama a la devolución de llamada. Si la función se realiza correctamente, solo se invoca la devolución de llamada una vez.

[in, optional] doneCallbackState

Puntero void a un estado definido por el usuario que se pasará a la devolución de llamada especificada. Este parámetro puede ser NULL.

[in, optional] error

Puntero a un objeto WS_ERROR donde se debe almacenar información adicional sobre el error si se produce un error en la función.

Valor devuelto

Esta función puede devolver uno de estos valores.

Código devuelto Descripción
WS_E_INVALID_FORMAT
Los datos de entrada no tenían el formato esperado o no tenían el valor esperado.
E_OUTOFMEMORY
Se quedó sin memoria.
E_INVALIDARG
Uno o más argumentos no son válidos.
Otros errores
Esta función puede devolver otros errores no enumerados anteriormente.

Comentarios

El inicio del mensaje, incluido el conjunto actual de encabezados que existen en el mensaje, se escribe en el escritor.

El estado del mensaje debe establecerse en WS_MESSAGE_STATE_INITIALIZED. Si se realiza correctamente, el estado del mensaje pasa a WS_MESSAGE_STATE_WRITING.
En la transición de estado de error no se produce.

Para escribir un elemento del cuerpo del mensaje, use WsWriteBody. Para escribir directamente en el escritor del mensaje, obtenga el lector con el WS_MESSAGE_PROPERTY_ID establecido en WS_MESSAGE_PROPERTY_BODY_WRITER propiedad.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado webservices.h
Library WebServices.lib
Archivo DLL WebServices.dll