Función WsReadEnvelopeStart (webservices.h)

Lee los encabezados del mensaje y se prepara para leer los elementos del cuerpo. La operación lee el inicio del siguiente mensaje del lector, incluidos los encabezados del mensaje. El proceso permite leer mensajes de otros orígenes que no sean canales. Para leer un mensaje mediante un canal, use WsReadMessageStart.

Nota Si se ejecuta correctamente, los encabezados se almacenan en el mensaje y se pueden recuperar aleatoriamente mediante funciones como WsGetHeader o WsGetCustomHeader.

 

Sintaxis

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

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

[in] reader

Puntero al Lector con el mensaje que se va a leer. El objeto Message usa el Lector en las llamadas actuales y posteriores.

Nota El autor de la llamada de la función debe mantener el lector válido hasta que se llame a WsResetMessage o WsFreeMessage .
El parámetro WS_MESSAGE_DONE_CALLBACK se puede usar para saber que el WS_XML_READER ya no está en uso.

 

[in, optional] doneCallback

Identifica la función de devolución de llamada para iniciarse correctamente en la operación actual una vez que se haya liberado el mensaje.

Nota Los mensajes se publican mediante WsFreeMessage o WsResetMessage

 
La devolución de llamada se puede usar para detectar si este mensaje usa la instancia de WS_XML_READER . Si se produce un error en la operación actual, no se llama a la devolución de llamada.

[in, optional] doneCallbackState

Puntero al estado definido por el usuario que se puede pasar al WS_MESSAGE_DONE_CALLBACK. Este parámetro puede ser NULL si no se usa la devolución de llamada.

[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 mensaje debe estar en WS_MESSAGE_STATE_EMPTY estado. Si se ejecuta correctamente, el estado del mensaje se establece en WS_MESSAGE_STATE_READING.

Para leer un elemento del cuerpo del mensaje, use WsReadBody. Para leer directamente desde el lector XML, obtenga el lector con el identificador de propiedad del mensaje establecido en WS_MESSAGE_PROPERTY_BODY_READER.

Requisitos

   
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