struttura STOWED_EXCEPTION_INFORMATION_V2
Contiene informazioni sulle eccezioni stowed.
Sintassi
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;
Members
-
Intestazione
-
Struttura STOWED_EXCEPTION_INFORMATION_HEADER che contiene informazioni per questa struttura padre.
-
ResultCode
-
Tipo: HRESULT
-
Codice HRESULT per l'eccezione stowed.
-
ExceptionForm
-
Tipo: DWORD
-
Valore a 2 bit che identifica la forma dell'eccezione.
Valore Significato - STOWED_EXCEPTION_FORM_BINARY
- 0x01
Questo valore indica che la forma dell'eccezione è binaria. - STOWED_EXCEPTION_FORM_TEXT
- 0x02
Questo valore indica che la forma dell'eccezione è testo. -
ThreadId
-
Tipo: DWORD
-
Valore a 30 bit che identifica il thread che ha generato l'eccezione. Il valore viene spostato a destra di 2 bit quando viene archiviato. Per convertirlo di nuovo in un ID thread valido, spostare il valore a sinistra di 2. Ad esempio:
DWORD ActualThreadId = (StowedException.ThreadId << 2);
-
(struct senza nome)
-
I membri di questa struttura annidata sono validi solo se il membro ExceptionForm è impostato su STOWED_EXCEPTION_FORM_BINARY.
-
ExceptionAddress
-
Tipo: PVOID
-
Puntatore che contiene l'indirizzo dell'eccezione.
-
StackTraceWordSize
-
Tipo: ULONG
-
Dimensioni, in byte, di ogni parola nell'analisi dello stack a cui punta il membro StackTrace . Questo valore è impostato su 4 per le piattaforme a 32 bit e 8 per le piattaforme a 64 bit.
-
StackTraceWords
-
Tipo: ULONG
-
Numero di parole nell'analisi dello stack a cui punta il membro StackTrace . Il numero di parole è uguale al numero di elementi nella matrice.
-
StackTrace
-
Tipo: PVOID
-
Puntatore a un blocco di memoria che contiene l'analisi dello stack.
-
-
(struct senza nome)
-
Il membro di questa struttura annidata è valido solo se il membro ExceptionForm è impostato su STOWED_EXCEPTION_FORM_TEXT.
-
Errortext
-
Tipo: PWSTR
-
Puntatore a una stringa con terminazione Null contenente il testo di errore dell'eccezione.
-
-
NestedExceptionType
-
Tipo: ULONG
-
Valore a 32 bit che specifica il tipo di oggetto a cui punta il membro NestedException . Definire il valore con questa macro di definizione del tipo di scambio di byte che presuppone little-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))
Ecco alcune definizioni di tipo comuni:
Valore Significato - STOWED_EXCEPTION_NESTED_TYPE_NONE
- (0x00000000)
Questo valore specifica che non è presente alcun oggetto eccezione annidato. - STOWED_EXCEPTION_NESTED_TYPE_WIN32
- STOWED_EXCEPTION_NESTED_TYPE('W32E')
Questo valore specifica che il membro NestedException punta a un oggetto EXCEPTION_RECORD . - STOWED_EXCEPTION_NESTED_TYPE_STOWED
- STOWED_EXCEPTION_NESTED_TYPE('STOW')
Questo valore specifica che il membro NestedException punta a un altro oggetto eccezione stowed. L'altro oggetto eccezione stowed può essere un oggetto STOWED_EXCEPTION_INFORMATION_V2 o una versione diversa con un membro Header valido, ovvero un membro Header che contiene un STOWED_EXCEPTION_INFORMATION_HEADER valido. - STOWED_EXCEPTION_NESTED_TYPE_CLR
- STOWED_EXCEPTION_NESTED_TYPE('CLR1')
Questo valore specifica che il membro NestedException punta a un oggetto eccezione 'CLR1'. - STOWED_EXCEPTION_NESTED_TYPE_LEO
- STOWED_EXCEPTION_NESTED_TYPE('LEO1')
Questo valore specifica che il membro NestedException punta a un oggetto eccezione di lingua. -
NestedException
-
Tipo: PVOID
-
Puntatore a un tipo di eccezione annidato. Il tipo di oggetto è indicato dal membro NestedExceptionType .
Commenti
STOWED_EXCEPTION_INFORMATION_V2 e STOWED_EXCEPTION_INFORMATION_HEADER non sono attualmente definiti in un'intestazione disponibile pubblicamente, quindi è necessario definirli nel codice sorgente prima di usarli.
La struttura STOWED_EXCEPTION_INFORMATION_V1 è identica a questa struttura, ma non contiene i membri NestedExceptionType e NestedException .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 8.1 [solo app desktop] |
Server minimo supportato |
Windows Server 2012 R2 [solo app desktop] |
Intestazione |
|