STOWED_EXCEPTION_INFORMATION_V2 Struktur
Enthält verstaute Ausnahmeinformationen.
Syntax
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;
Member
-
Kopfzeile
-
Die STOWED_EXCEPTION_INFORMATION_HEADER Struktur, die Informationen zu dieser übergeordneten Struktur enthält.
-
Resultcode
-
Typ: HRESULT
-
Der HRESULT-Code für die verstaute Ausnahme.
-
ExceptionForm
-
Typ: DWORD
-
Ein 2-Bit-Wert, der die Form der Ausnahme identifiziert.
Wert Bedeutung - STOWED_EXCEPTION_FORM_BINARY
- 0x01
Dieser Wert gibt an, dass die Form der Ausnahme binär ist. - STOWED_EXCEPTION_FORM_TEXT
- 0x02
Dieser Wert gibt an, dass die Form der Ausnahme Text ist. -
Threadid
-
Typ: DWORD
-
Ein 30-Bit-Wert, der den Thread identifiziert, der die Ausnahme ausgelöst hat. Der Wert wird beim Speichern um 2 Bits nach rechts verschoben. Um ihn wieder in eine gültige Thread-ID zu konvertieren, verschieben Sie den Wert um 2 nach links. Beispiel:
DWORD ActualThreadId = (StowedException.ThreadId << 2);
-
(unbenannte Struktur)
-
Die Member dieser geschachtelten Struktur sind nur gültig, wenn das ExceptionForm-Element auf STOWED_EXCEPTION_FORM_BINARY festgelegt ist.
-
ExceptionAddress
-
Typ: PVOID
-
Ein Zeiger, der die Ausnahmeadresse enthält.
-
StackTraceWordSize
-
Typ: ULONG
-
Größe jedes Worts in der Stapelablaufverfolgung, auf das das StackTrace-Element verweist, in Bytes. Dieser Wert ist auf 4 für 32-Bit-Plattformen und auf 8 für 64-Bit-Plattformen festgelegt.
-
StackTraceWords
-
Typ: ULONG
-
Die Anzahl der Wörter in der Stapelablaufverfolgung, auf die das StackTrace-Element verweist. Die Anzahl der Wörter entspricht der Anzahl der Elemente im Array.
-
StackTrace
-
Typ: PVOID
-
Ein Zeiger auf einen Speicherblock, der die Stapelablaufverfolgung enthält.
-
-
(unbenannte Struktur)
-
Das Element dieser geschachtelten Struktur ist nur gültig, wenn das ExceptionForm-Element auf STOWED_EXCEPTION_FORM_TEXT festgelegt ist.
-
Errortext
-
Typ: PWSTR
-
Ein Zeiger auf eine NULL-Zeichenfolge, die den Fehlertext der Ausnahme enthält.
-
-
NestedExceptionType
-
Typ: ULONG
-
Ein 32-Bit-Wert, der den Typ des Objekts angibt, auf das das NestedException-Element verweist. Definieren Sie den Wert mit diesem Bytetauschtypdefinitionsmakro, das little-endian vorausnimmt:
#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))
Hier sind einige gängige Typdefinitionen:
Wert Bedeutung - STOWED_EXCEPTION_NESTED_TYPE_NONE
- (0x00000000)
Dieser Wert gibt an, dass kein geschachteltes Ausnahmeobjekt vorhanden ist. - STOWED_EXCEPTION_NESTED_TYPE_WIN32
- STOWED_EXCEPTION_NESTED_TYPE('W32E')
Dieser Wert gibt an, dass das NestedException-Element auf ein EXCEPTION_RECORD-Objekt zeigt. - STOWED_EXCEPTION_NESTED_TYPE_STOWED
- STOWED_EXCEPTION_NESTED_TYPE('STOW')
Dieser Wert gibt an, dass das NestedException-Element auf ein anderes verstautes Ausnahmeobjekt verweist. Das andere verstaute Ausnahmeobjekt kann ein STOWED_EXCEPTION_INFORMATION_V2-Objekt oder eine andere Version mit einem gültigen Header-Member sein, d. h. ein Header-Member , das eine gültige STOWED_EXCEPTION_INFORMATION_HEADER enthält. - STOWED_EXCEPTION_NESTED_TYPE_CLR
- STOWED_EXCEPTION_NESTED_TYPE('CLR1')
Dieser Wert gibt an, dass das NestedException-Element auf ein Ausnahmeobjekt "CLR1" verweist. - STOWED_EXCEPTION_NESTED_TYPE_LEO
- STOWED_EXCEPTION_NESTED_TYPE('LEO1')
Dieser Wert gibt an, dass das NestedException-Element auf ein Sprachausnahmeobjekt verweist. -
NestedException
-
Typ: PVOID
-
Ein Zeiger auf einen geschachtelten Ausnahmetyp. Der Typ des Objekts wird durch das NestedExceptionType-Element angegeben.
Bemerkungen
STOWED_EXCEPTION_INFORMATION_V2 und STOWED_EXCEPTION_INFORMATION_HEADER werden derzeit nicht in einem kopfzeilen definiert, der öffentlich verfügbar ist. Daher müssen Sie sie in Ihrem Quellcode definieren, bevor Sie sie verwenden.
Die STOWED_EXCEPTION_INFORMATION_V1-Struktur ist mit dieser Struktur identisch, mit der Ausnahme, dass sie nicht die Elemente NestedExceptionType und NestedException enthält.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 8.1 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2012 R2 [nur Desktop-Apps] |
Header |
|