Structure d' _ informations d’exception de la _ _ version v2
Contient les informations sur les exceptions arrimées.
Syntaxe
typedef struct _STOWED_EXCEPTION_INFORMATION_V2 {
STOWED_EXCEPTION_INFORMATION_HEADER Header;
HRESULT ResultCode;
struct {
DWORD ExceptionForm :2;
DWORD ThreadId :30;
};
union {
struct {
PVOID ExceptionAddress;
ULONG StackTraceWordSize;
ULONG StackTraceWords;
PVOID StackTrace;
};
struct {
PWSTR ErrorText;
};
};
ULONG NestedExceptionType;
PVOID NestedException;
} STOWED_EXCEPTION_INFORMATION_V2, *PSTOWED_EXCEPTION_INFORMATION_V2;
Membres
-
En-tête
-
Structure d' _ _ _ en-tête d’informations d’exception arrimé qui contient des informations pour cette structure parente.
-
ResultCode
-
Type : HRESULT
-
Code HRESULT de l’exception arrimée.
-
ExceptionForm
-
Type : DWORD
-
Valeur 2 bits qui identifie le formulaire de l’exception.
Valeur Signification - Rangé _ _ _ Binaire de formulaire d’exception
- 0x01
Cette valeur indique que la forme de l’exception est binaire. - Rangé _ _ _ Texte de formulaire d’exception
- 0x02
Cette valeur indique que le formulaire de l’exception est du texte. -
ThreadId
-
Type : DWORD
-
Valeur de 30 bits qui identifie le thread qui a levé l’exception. La valeur est décalée vers la droite de 2 bits lorsqu’elle est stockée. Pour le reconvertir en un ID de thread valide, décalez la valeur vers la gauche de 2. Par exemple :
DWORD ActualThreadId = (StowedException.ThreadId << 2); -
(struct sans nom)
-
Les membres de cette structure imbriquée ne sont valides que si le membre ExceptionForm est défini sur le type d' _ exception _ _ arrimé.
-
ExceptionAddress
-
Type : pVoid
-
Pointeur qui contient l’adresse de l’exception.
-
StackTraceWordSize
-
Type : ULong
-
Taille, en octets, de chaque mot de la trace de la pile vers lequel pointe le membre StackTrace . Cette valeur est définie sur 4 pour les plateformes 32 bits et 8 pour les plateformes 64 bits.
-
StackTraceWords
-
Type : ULong
-
Nombre de mots dans la trace de la pile vers lequel pointe le membre StackTrace . Le nombre de mots est égal au nombre d’éléments dans le tableau.
-
Trace
-
Type : pVoid
-
Pointeur vers un bloc de mémoire qui contient la trace de la pile.
-
-
(struct sans nom)
-
Le membre de cette structure imbriquée est valide uniquement si le membre ExceptionForm est défini sur le _ _ _ texte de formulaire d’exception arrimé.
-
ErrorText
-
Type : PWSTR
-
Pointeur vers une chaîne se terminant par un caractère null qui contient le texte d’erreur de l’exception.
-
-
NestedExceptionType
-
Type : ULong
-
Valeur 32 bits qui spécifie le type d’objet vers lequel pointe le membre NestedException . Définissez la valeur avec cette macro de définition de type d’échange d’octets qui suppose un faible endian :
#define STOWED_EXCEPTION_NESTED_TYPE(t) ((((((ULONG)(t)) >> 24) & 0xFF) << 0) | \ (((((ULONG)(t)) >> 16) & 0xFF) << 8) | \ (((((ULONG)(t)) >> 8) & 0xFF) << 16) | \ (((((ULONG)(t)) >> 0) & 0xFF) << 24))Voici quelques définitions de type courantes :
Valeur Signification - Rangé _ _Type imbriqué d' _ exception _ None
- (0x00000000)
Cette valeur spécifie qu’il n’existe aucun objet exception imbriqué. - Rangé _ _Type imbriqué d' _ exception _ type imbriqué
- _ de l’exception Win32 _ _ ('W32E')
Cette valeur spécifie que le membre NestedException pointe vers un objet _ enregistrement d’exception . - Rangé _ exception _ _ _ type imbriqué
- de l’exception arrimé de type imbriqué _ _ _ ('arrim')
Cette valeur spécifie que le membre NestedException pointe vers un autre objet exception rangé. L’autre objet d’exception arrimée peut être un objet d’informations d’exception chargées _ _ _ v2 ou une version différente avec un membre d' en-tête valide, autrement dit un membre d' en-tête qui contient un _ _ _ en-tête d’informations d’exception arrimévalide. - Rangé _ Type imbriqué d’EXCEPTION type imbriqué de l’exception _ _ _ CLR
- _ _ _ ('CLR1 ')
Cette valeur spécifie que le membre NestedException pointe vers un objet d’exception « CLR1 ». - Rangé _ _Type imbriqué d' _ exception _ type imbriqué
- _ de l’exception Leo _ _ ('LEO1 ')
Cette valeur spécifie que le membre NestedException pointe vers un objet d’exception de langage. -
NestedException
-
Type : pVoid
-
Pointeur vers un type d’exception imbriquée. Le type d’objet est indiqué par le membre NestedExceptionType .
Notes
Rangé _ Les _ informations _ sur l’exception v2 et l' _ _ _ en-tête d’informations d’exception arrimées ne sont actuellement pas définis dans un en-tête disponible publiquement. vous devez donc les définir dans votre code source avant de les utiliser.
La structure d’informations d’exception de la version _ _ _ v1 est identique à cette structure, sauf qu’elle ne contient pas les membres NestedExceptionType et NestedException .
Spécifications
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge |
Windows 8.1 les [ applications de bureau uniquement] |
| Serveur minimal pris en charge |
Windows Server 2012 [Applications de bureau R2 uniquement] |
| En-tête |
|