Funzione WsReadBody (webservices.h)
Questa è una funzione helper che deserializza un valore dal lettore XML del messaggio. Il WS_MESSAGE_STATE deve essere impostato su WS_MESSAGE_STATE_READING. Questa funzione non causa transizioni di stato.
Sintassi
HRESULT WsReadBody(
[in] WS_MESSAGE *message,
[in] const WS_ELEMENT_DESCRIPTION *bodyDescription,
[in] WS_READ_OPTION readOption,
[in, optional] WS_HEAP *heap,
void *value,
[in] ULONG valueSize,
[in, optional] WS_ERROR *error
);
Parametri
[in] message
Puntatore all'oggetto Message da cui leggere il corpo. Il puntatore deve fare riferimento a un oggetto WS_MESSAGE valido.
[in] bodyDescription
Puntatore all'oggetto che incapsula i metadati che descrivono il mapping del valore a un elemento.
[in] readOption
Determina se è necessario il valore e come allocare il valore. Per altre informazioni, vedere WS_READ_OPTION .
[in, optional] heap
Puntatore all'oggetto Heap in cui leggere l'elemento. Il puntatore deve fare riferimento a un oggetto WS_HEAP valido.
value
L'interpretazione dei dati a cui fa riferimento questo parametro dipende dalla WS_READ_OPTION.
[in] valueSize
L'interpretazione del valore di questo parametro dipende dalla WS_READ_OPTION.
[in, optional] error
Puntatore a un oggetto WS_ERROR in cui devono essere archiviate informazioni aggiuntive sull'errore se la funzione ha esito negativo.
Valore restituito
Questa funzione può restituire uno di questi valori.
Codice restituito | Descrizione |
---|---|
|
I dati di input non erano nel formato previsto o non hanno il valore previsto. |
|
Memoria insufficiente. |
|
Uno o più argomenti non sono validi. |
|
Questa funzione può restituire altri errori non elencati sopra. |
Commenti
Queste funzioni supportano gli scenari seguenti, in base al contenuto della WS_ELEMENT_DESCRIPTION fornita:
- Lettura di un singolo elemento. In questo caso, i campi elementLocalName e elementNs del WS_ELEMENT_DESCRIPTION devono essere impostati sul nome locale e sullo spazio dei nomi dell'elemento da leggere e il tipo e la descrizione del tipo rappresenta il tipo del valore deserializzato. Se si usa WS_FAULT_TYPE o WS_ENDPOINT_ADDRESS_TYPE non è necessario specificare il nome locale, lo spazio dei nomi o la descrizione del tipo (in base alla versione busta/indirizzamento del messaggio).
- Lettura di più elementi come singolo valore. In questo caso, i campi elementLocalName e elementNs del WS_ELEMENT_DESCRIPTIONdevono essere impostati su NULL e deve essere specificato un WS_STRUCT_TYPE e un WS_STRUCT_DESCRIPTION. In questo caso, ogni campo del valore della struttura deserializzato deve corrispondere agli elementi da leggere all'interno del corpo.
- Lettura di più elementi come più valori. La lettura di più valori distinti può essere eseguita semplicemente chiamando la funzione più volte.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 R2 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | webservices.h |
Libreria | WebServices.lib |
DLL | WebServices.dll |