Partager via


WsGetFaultErrorDetail, fonction (webservices.h)

Lire les détails de l’erreur stockés dans un objet WS_ERROR .

Syntaxe

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
);

Paramètres

[in] error

Objet d’erreur qui contient les informations d’erreur.

[in] faultDetailDescription

Pointeur vers une description de l’élément de détail d’erreur.

La valeur d’action de la description des détails de l’erreur est utilisée comme valeur de filtre pour correspondre à l’action de l’erreur. Si les deux chaînes d’action sont spécifiées (la valeur d’action de la description du détail de l’erreur n’est pas NULL et la valeur d’action WS_FAULT_ERROR_PROPERTY_ACTION dans le WS_ERROR a une longueur supérieure à zéro), les chaînes d’action sont comparées pour déterminer une correspondance. S’il existe une correspondance, la fonction tente alors de désérialiser l’élément de détail.

La description de l’élément de la description des détails de l’erreur est utilisée pour décrire le format de l’élément dans le détail de l’erreur.

[in] readOption

Indique si l’élément est requis et comment allouer la valeur. Pour plus d’informations, consultez WS_READ_OPTION .

[in, optional] heap

Tas dans lequel stocker les valeurs désérialisées.

value

L’interprétation de ce paramètre dépend du WS_READ_OPTION.

[in] valueSize

L’interprétation de ce paramètre dépend du WS_READ_OPTION.

Valeur retournée

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
WS_E_INVALID_FORMAT
Les données d’entrée n’étaient pas au format attendu ou n’avaient pas la valeur attendue.
E_OUTOFMEMORY
Mémoire insuffisante.
WS_E_QUOTA_EXCEEDED
Le quota de taille du tas a été dépassé.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.

Remarques

Cette API désérialise la valeur du champ de détail de l’WS_FAULT stockée dans l’objet WS_ERROR .

Cette fonction prend en charge les scénarios suivants, en fonction du contenu des WS_ELEMENT_DESCRIPTION dans le WS_FAULT_DETAIL_DESCRIPTION fourni :

  • Lecture d’un élément unique. Dans ce cas, les champs elementLocalName et elementNs de l’WS_ELEMENT_DESCRIPTION doivent être définis sur le nom local et l’espace de noms de l’élément à lire, et le type et la description du type représentent le type de la valeur en cours de désérialisation.

    Étant donné que différents défauts avec différents formats de détails peuvent être attendus d’un service, cette fonction peut être appelée successivement pour essayer de lire chaque type de détail. Dans ce cas, la valeur WS_READ_OPTIONAL_POINTER peut être spécifiée, ce qui renvoie un pointeur NULL si le nom de l’élément dans le détail de l’erreur ne correspond pas à la valeur attendue.

  • Lecture de plusieurs éléments sous la forme d’une valeur unique. Dans ce cas, les champs elementLocalName et elementNs du WS_ELEMENT_DESCRIPTION doivent être définis sur NULL, et un WS_STRUCT_TYPE et un WS_STRUCT_DESCRIPTION doivent être spécifiés. Chaque champ de la valeur de structure en cours de désérialisation doit correspondre à un ou plusieurs éléments à lire dans le corps. Le paramètre readOption doit être WS_READ_REQUIRED_VALUE ou WS_READ_REQUIRED_POINTER.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête webservices.h
Bibliothèque WebServices.lib
DLL WebServices.dll