Funzione WsGetFaultErrorDetail (webservices.h)
Leggere i dettagli dell'errore archiviati in un oggetto WS_ERROR .
Sintassi
HRESULT WsGetFaultErrorDetail(
[in] WS_ERROR *error,
[in] const WS_FAULT_DETAIL_DESCRIPTION *faultDetailDescription,
[in] WS_READ_OPTION readOption,
[in, optional] WS_HEAP *heap,
void *value,
[in] ULONG valueSize
);
Parametri
[in] error
Oggetto error che contiene le informazioni sull'errore.
[in] faultDetailDescription
Puntatore a una descrizione dell'elemento dettagli di errore.
Il valore dell'azione della descrizione dei dettagli di errore viene usato come valore del filtro per corrispondere all'azione dell'errore. Se vengono specificate entrambe le stringhe di azione (il valore dell'azione della descrizione dei dettagli di errore non è NULL e il valore dell'azione WS_FAULT_ERROR_PROPERTY_ACTIONnell'WS_ERROR ha una lunghezza maggiore di zero), le stringhe di azione vengono confrontate per determinare una corrispondenza. Se esiste una corrispondenza, la funzione tenterà di deserializzare l'elemento dettaglio.
La descrizione dell'elemento della descrizione dei dettagli di errore viene usata per descrivere il formato dell'elemento nel dettaglio dell'errore.
[in] readOption
Indica se l'elemento è obbligatorio e come allocare il valore. Per altre informazioni, vedere WS_READ_OPTION .
[in, optional] heap
Heap in cui archiviare i valori deserializzati.
value
L'interpretazione di questo parametro dipende dalla WS_READ_OPTION.
[in] valueSize
L'interpretazione di questo parametro dipende dalla WS_READ_OPTION.
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. |
|
La quota di dimensioni dell'heap è stata superata. |
|
Uno o più argomenti non sono validi. |
Commenti
Questa API deserializza il valore dal campo dettaglio della WS_FAULT archiviata nell'oggetto WS_ERROR .
Queste funzioni supportano gli scenari seguenti, in base al contenuto della WS_ELEMENT_DESCRIPTION nella WS_FAULT_DETAIL_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.
Poiché diversi errori con formati di dettagli diversi possono essere previsti da un servizio, questa funzione può essere chiamata in successione per provare a leggere ogni tipo di dettaglio. In questo caso, è possibile specificare il valore WS_READ_OPTIONAL_POINTER , che restituirà un puntatore NULL se il nome dell'elemento nel dettaglio dell'errore non corrisponde al valore previsto.
- 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. Ogni campo del valore della struttura deserializzato deve corrispondere agli elementi da leggere all'interno del corpo. Il parametro readOption deve essere WS_READ_REQUIRED_VALUE o WS_READ_REQUIRED_POINTER.
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 |