Función WsWriteBody (webservices.h)

Escribe un valor en el cuerpo de un mensaje. Se trata de una función auxiliar que serializa un valor para el escritor XML del mensaje. El estado del mensaje debe establecerse en WS_MESSAGE_STATE_WRITING. Esta función no provoca ninguna transición de estado.

Sintaxis

HRESULT WsWriteBody(
  [in]           WS_MESSAGE                   *message,
  [in]           const WS_ELEMENT_DESCRIPTION *bodyDescription,
  [in]           WS_WRITE_OPTION              writeOption,
                 const void                   *value,
  [in]           ULONG                        valueSize,
  [in, optional] WS_ERROR                     *error
);

Parámetros

[in] message

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

[in] bodyDescription

Puntero a la información que describe cómo escribir el valor.

[in] writeOption

Determina si el valor es necesario y cómo se asigna el valor.

Nota Consulte WS_WRITE_OPTION para obtener más información.

 

value

Puntero void al valor que se va a escribir.

[in] valueSize

Tamaño en bytes del valor que se va a escribir. Si el valor es NULL , el tamaño debe ser 0.

[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

Esta función admite los siguientes escenarios, en función del contenido del WS_ELEMENT_DESCRIPTION proporcionado:

  • Escribir un solo elemento. En este caso, los campos elementLocalName y elementNs del WS_ELEMENT_DESCRIPTION deben establecerse en el nombre local y el espacio de nombres del elemento que se va a escribir, y la descripción de tipo y tipo representa el tipo del valor que se va a serializar. Si usa WS_FAULT_TYPE o WS_ENDPOINT_ADDRESS_TYPE, no es necesario especificar el nombre local, el espacio de nombres o la descripción de tipo (de forma predeterminada se basarán en la versión de sobre/direccionamiento del mensaje).
  • Escribir varios elementos como un valor único. En este caso, los campos elementLocalName y elementNs del WS_ELEMENT_DESCRIPTION deben establecerse en NULL y se debe especificar un WS_STRUCT_TYPE y WS_STRUCT_DESCRIPTION . En este caso, cada campo del valor de estructura que se serializa debe corresponder a los elementos que se van a escribir en el cuerpo.
  • Escribir varios elementos como varios valores. Para escribir varios valores distintos, basta con llamar a la función varias veces.

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