Compartilhar via


enumeração WS_WRITE_OPTION (webservices.h)

Especifica se um armazenamento especificado contém o valor ou um ponteiro para o valor e se o valor pode ser representado como nulo no conteúdo XML.

Syntax

typedef enum {
  WS_WRITE_REQUIRED_VALUE = 1,
  WS_WRITE_REQUIRED_POINTER = 2,
  WS_WRITE_NILLABLE_VALUE = 3,
  WS_WRITE_NILLABLE_POINTER = 4
} WS_WRITE_OPTION;

Constantes

 
WS_WRITE_REQUIRED_VALUE
Valor: 1
O armazenamento especificado contém o valor . O tamanho do armazenamento
especificado deve ser o tamanho do valor.


Essa opção especifica que o valor sempre será gravado no conteúdo XML.



syntax<br>int value;<br>Api(..., &amp;value, sizeof(value), ...);<br>


syntax<br>// always written<br>&lt;element&gt;123&lt;/element&gt;<br>

Não há suporte para essa opção para tipos de ponteiro
(WS_WSZ_TYPE e WS_XML_BUFFER_TYPE).
A opção WS_WRITE_REQUIRED_POINTER deve ser usada para esses tipos.
WS_WRITE_REQUIRED_POINTER
Valor: 2
O armazenamento especificado contém um ponteiro para o valor . O
tamanho do armazenamento especificado é sempre o tamanho de um ponteiro, independentemente
do tipo que está sendo serializado.


Essa opção especifica que o valor sempre será gravado no conteúdo XML.



syntax<br>int* valuePointer; // may not be NULL<br>Api(..., &amp;valuePointer, sizeof(valuePointer), ...);<br>


syntax<br>// always written<br>&lt;element&gt;123&lt;/element&gt;<br>

Se o ponteiro para o valor especificado no armazenamento for NULL,
E_INVALIDARG é retornado.
(Consulte Valores retornados dos Serviços Web do Windows.)
WS_WRITE_NILLABLE_VALUE
Valor: 3
O armazenamento especificado contém um ponteiro para o valor . O
tamanho do armazenamento especificado é sempre o tamanho de um ponteiro, independentemente
do tipo que está sendo serializado.


Se o valor for nulo, um elemento nil será gravado no conteúdo XML.
Se não for nulo, o valor será serializado normalmente.



syntax<br>WS_STRING value; // may contain a nil value (see WS_STRING_TYPE)<br>Api(..., &amp;value, sizeof(value), ...);<br>


syntax<br>// if value is non-nil<br>&lt;element&gt;hello&lt;/element&gt;<br><br>// if value is nil<br>&lt;element xsi:nil='true'/&gt;<br>

Essa opção só tem suporte para os seguintes tipos, listados abaixo,
que têm uma maneira intrínseca de representar um valor nulo. Confira a documentação
para cada tipo para obter informações sobre como nil é representado.
WS_WRITE_NILLABLE_POINTER
Valor: 4
Para todos os tipos, o armazenamento especificado contém um ponteiro para o valor. O
tamanho do armazenamento especificado é sempre o tamanho de um ponteiro, independentemente
do tipo que está sendo serializado.


Se o ponteiro para o valor especificado no armazenamento for NULL,
um elemento nil é escrito no conteúdo XML.



syntax<br>int* valuePointer; // may be NULL<br>Api(..., &amp;valuePointer, sizeof(valuePointer), ...);<br><br>


syntax<br>// if value is non-NULL<br>&lt;element&gt;123&lt;/element&gt;<br><br>// if value is NULL<br>&lt;element xsi:nil='true'/&gt;<br>

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]
Cabeçalho webservices.h