STOWED_EXCEPTION_INFORMATION_V2結構
包含 Stowed 例外狀況資訊。
語法
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;
成員
-
標頭
-
包含這個父結構資訊的 STOWED_EXCEPTION_INFORMATION_HEADER 結構。
-
ResultCode
-
類型: HRESULT
-
Stowed 例外狀況的 HRESULT 程式碼。
-
ExceptionForm
-
類型: DWORD
-
識別例外狀況格式的 2 位值。
值 意義 - STOWED_EXCEPTION_FORM_BINARY
- 0x01
這個值表示例外狀況的格式為二進位。 - STOWED_EXCEPTION_FORM_TEXT
- 0x02
這個值表示例外狀況的格式為文字。 -
ThreadId
-
類型: DWORD
-
識別引發例外狀況之執行緒的 30 位值。 儲存值時,值會向右移 2 位。 若要將它轉換回有效的執行緒識別碼,請將值向左移 2。 例如:
DWORD ActualThreadId = (StowedException.ThreadId << 2);
-
(未命名的結構)
-
只有當 ExceptionForm 成員設定為 STOWED_EXCEPTION_FORM_BINARY時,這個巢狀結構的成員才有效。
-
(未命名的結構)
-
只有當 ExceptionForm 成員設定為 STOWED_EXCEPTION_FORM_TEXT時,這個巢狀結構的成員才有效。
-
ErrorText
-
類型: PWSTR
-
包含例外狀況錯誤文字之 Null 終止字串的指標。
-
-
NestedExceptionType
-
類型: ULONG
-
32 位值,指定 NestedException 成員指向的物件類型。 使用此位元組交換類型定義宏來定義值,該宏會假設為位元組結尾:
#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))
以下是一些常見的類型定義:
值 意義 - STOWED_EXCEPTION_NESTED_TYPE_NONE
- (0x00000000)
這個值會指定沒有巢狀例外狀況物件。 - STOWED_EXCEPTION_NESTED_TYPE_WIN32
- STOWED_EXCEPTION_NESTED_TYPE ('W32E')
這個值會指定 NestedException 成員指向 EXCEPTION_RECORD 物件。 - STOWED_EXCEPTION_NESTED_TYPE_STOWED
- STOWED_EXCEPTION_NESTED_TYPE ('STOW')
這個值會指定 NestedException 成員指向另一個 Stowed 例外狀況物件。 另一個 stowed 例外狀況物件可以是STOWED_EXCEPTION_INFORMATION_V2物件或具有有效Header成員的不同版本,也就是包含有效STOWED_EXCEPTION_INFORMATION_HEADER的Header成員。 - STOWED_EXCEPTION_NESTED_TYPE_CLR
- STOWED_EXCEPTION_NESTED_TYPE ('CLR1')
這個值會指定 NestedException 成員指向 'CLR1' 例外狀況物件。 - STOWED_EXCEPTION_NESTED_TYPE_LEO
- STOWED_EXCEPTION_NESTED_TYPE ('LEO1')
這個值會指定 NestedException 成員指向語言例外狀況物件。 -
NestedException
-
類型: PVOID
-
巢狀例外狀況類型的指標。 物件的類型是由 NestedExceptionType 成員表示。
備註
STOWED_EXCEPTION_INFORMATION_V2 和 STOWED_EXCEPTION_INFORMATION_HEADER 目前未定義于可公開使用的標頭中,因此您必須在原始程式碼中定義它們,才能使用它們。
STOWED_EXCEPTION_INFORMATION_V1結構與這個結構相同,但不包含NestedExceptionType和NestedException成員。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 8.1 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2012 R2 [僅限傳統型應用程式] |
標頭 |
|