struktur STOWED_EXCEPTION_INFORMATION_V2
Berisi info pengecualian yang disematkan.
Sintaks
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;
Anggota
-
Header
-
Struktur STOWED_EXCEPTION_INFORMATION_HEADER yang berisi info untuk struktur induk ini.
-
ResultCode
-
Jenis: HRESULT
-
Kode HRESULT untuk pengecualian yang disematkan.
-
ExceptionForm
-
Jenis: DWORD
-
Nilai 2-bit yang mengidentifikasi bentuk pengecualian.
Nilai Makna - STOWED_EXCEPTION_FORM_BINARY
- 0x01
Nilai ini menunjukkan bahwa bentuk pengecualian adalah biner. - STOWED_EXCEPTION_FORM_TEXT
- 0x02
Nilai ini menunjukkan bahwa bentuk pengecualian adalah teks. -
ThreadId
-
Jenis: DWORD
-
Nilai 30-bit yang mengidentifikasi utas yang menaikkan pengecualian. Nilai digeser ke kanan sebesar 2 bit saat disimpan. Untuk mengonversinya kembali ke ID utas yang valid, geser nilai ke kiri dengan 2. Contohnya:
DWORD ActualThreadId = (StowedException.ThreadId << 2);
-
(struct yang tidak disebutkan namanya)
-
Anggota struktur berlapis ini hanya valid jika anggota ExceptionForm diatur ke STOWED_EXCEPTION_FORM_BINARY.
-
ExceptionAddress
-
Jenis: PVOID
-
Penunjuk yang berisi alamat pengecualian.
-
StackTraceWordSize
-
Jenis: ULONG
-
Ukuran, dalam byte, dari setiap kata dalam jejak tumpukan yang dituju anggota StackTrace . Nilai ini diatur ke 4 untuk platform 32-bit dan 8 untuk platform 64-bit.
-
StackTraceWords
-
Jenis: ULONG
-
Jumlah kata dalam jejak tumpukan yang dituju anggota StackTrace . Jumlah kata sama dengan jumlah elemen dalam array.
-
StackTrace
-
Jenis: PVOID
-
Penunjuk ke blok memori yang berisi jejak tumpukan.
-
-
(struct yang tidak disebutkan namanya)
-
Anggota struktur berlapis ini hanya valid jika anggota ExceptionForm diatur ke STOWED_EXCEPTION_FORM_TEXT.
-
Teks Kesalahan
-
Jenis: PWSTR
-
Penunjuk ke string yang dihentikan null yang berisi teks kesalahan pengecualian.
-
-
NestedExceptionType
-
Jenis: ULONG
-
Nilai 32-bit yang menentukan jenis objek yang dituju oleh anggota NestedException . Tentukan nilai dengan makro definisi jenis pertukaran byte ini yang mengasumsikan 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))
Berikut adalah beberapa definisi jenis umum:
Nilai Makna - STOWED_EXCEPTION_NESTED_TYPE_NONE
- (0x00000000)
Nilai ini menentukan bahwa tidak ada objek pengecualian berlapis. - STOWED_EXCEPTION_NESTED_TYPE_WIN32
- STOWED_EXCEPTION_NESTED_TYPE('W32E')
Nilai ini menentukan bahwa anggota NestedException menunjuk ke objek EXCEPTION_RECORD . - STOWED_EXCEPTION_NESTED_TYPE_STOWED
- STOWED_EXCEPTION_NESTED_TYPE('STOW')
Nilai ini menentukan bahwa anggota NestedException menunjuk ke objek pengecualian lain yang disimpan. Objek pengecualian tersimpan lainnya dapat berupa objek STOWED_EXCEPTION_INFORMATION_V2 atau versi yang berbeda dengan anggota Header yang valid, yaitu, anggota Header yang berisi STOWED_EXCEPTION_INFORMATION_HEADER yang valid. - STOWED_EXCEPTION_NESTED_TYPE_CLR
- STOWED_EXCEPTION_NESTED_TYPE('CLR1')
Nilai ini menentukan bahwa anggota NestedException menunjuk ke objek pengecualian 'CLR1'. - STOWED_EXCEPTION_NESTED_TYPE_LEO
- STOWED_EXCEPTION_NESTED_TYPE('LEO1')
Nilai ini menentukan bahwa anggota NestedException menunjuk ke objek pengecualian bahasa. -
NestedException
-
Jenis: PVOID
-
Penunjuk ke jenis pengecualian berlapis. Jenis objek ditunjukkan oleh anggota NestedExceptionType .
Keterangan
STOWED_EXCEPTION_INFORMATION_V2 dan STOWED_EXCEPTION_INFORMATION_HEADER saat ini tidak ditentukan dalam header yang tersedia untuk umum sehingga Anda perlu menentukannya dalam kode sumber anda sebelum menggunakannya.
Struktur STOWED_EXCEPTION_INFORMATION_V1 identik dengan struktur ini kecuali tidak berisi anggota NestedExceptionType dan NestedException .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows 8.1 [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows Server 2012 R2 [hanya aplikasi desktop] |
Header |
|