FIELD_INFO 結構 (wdbgexts.h)
IG_DUMP_SYMBOL_INFO Ioctl 作業會使用FIELD_INFO結構來提供結構中成員的相關信息。
語法
typedef struct _FIELD_INFO {
PUCHAR fName;
PUCHAR printName;
ULONG size;
ULONG fOptions;
ULONG64 address;
union {
PVOID fieldCallBack;
PVOID pBuffer;
};
ULONG TypeId;
ULONG FieldOffset;
ULONG BufferSize;
struct {
USHORT Position;
USHORT Size;
} BitField;
_BitField _BitField;
ULONG fPointer : 2;
ULONG fArray : 1;
ULONG fStruct : 1;
ULONG fConstant : 1;
ULONG fStatic : 1;
ULONG Reserved : 26;
} FIELD_INFO, *PFIELD_INFO;
成員
fName
指定套用這個 結構之符號成員的名稱。 您可以使用分隔符 「.」 和 「->」 來指定子成員。 除非在 fOptions 中設定DBG_DUMP_FIELD_FULL_NAME, 否則 fName 會被視為成員名稱的開頭。
printName
指定列印成員名稱時要使用的替代名稱。 如果 printName 為 NULL,則會在列印成員的名稱時使用成員的實際名稱。
size
接收 fName 所指定成員之目標記憶體的大小,以位元組為單位。
如果成員是陣列, size 會指定陣列中的元素數目。
fOptions
指定旗標,決定IG_DUMP_SYMBOL_INFO Ioctl 作業的行為。 如需這些旗標的描述,請參閱 DBG_DUMP_FIELD_XXX。
address
接收 fName 所指定成員之目標記憶體中的位址。 如果未為 SYM_DUMP_PARAM 中的符號類型提供位址。addr, address 會接收成員相對於類型實例開頭的位移。 如需SYM_DUMP_PARAM的詳細資訊,請參閱 IG_DUMP_SYMBOL_INFO。
fieldCallBack
指定要使用 fName 所指定成員相關信息呼叫的PSYM_DUMP_FIELD_CALLBACK回呼函式。 回呼函式會傳遞結構,其中包含字段資訊和SYM_DUMP_PARAM的值。context。
如果在 fOptions 中設定DBG_DUMP_FIELD_NO_CALLBACK_REQ,fieldCallBack 為 NULL,或傳遞至 Ioctl 之SYM_DUMP_PARAM結構的 Options 成員未設定DBG_DUMP_CALL_FOR_EACH,則不會呼叫回呼函式。 如果在 fOptions 中設定DBG_DUMP_FIELD_COPY_FIELD_DATA,則不會使用 fieldCallBack 。
pBuffer
指定要接收 fName 所指定成員值的緩衝區。 只有在 fOptions 中設定DBG_DUMP_FIELD_COPY_FIELD_DATA時,才會使用此成員。
TypeId
接收 fName 所指定成員類型的標識碼。
FieldOffset
接收結構中成員的位移。
BufferSize
指定 pBuffer 緩衝區的大小,以位元組為單位。
BitField
接收結構中位欄位的相關信息。
BitField.Position
接收位欄位的開始位置。 這是從 到結構開頭到位欄位的位數。
BitField.Size
接收位欄位的大小,以位為單位。
_BitField
接收結構中位欄位的相關信息。
fPointer
接收布爾值,指出成員是否為指標。 如果成員不是指標,則 fPointer 為 FALSE。 如果成員是 32 位指標,則為 1;如果成員是 64 位指標,則為 3。
fArray
接收布爾值,指出成員是否為陣列。 如果字段不是陣列,則 fArray 為 FALSE;如果為 ,則為 TRUE。
fStruct
接收布爾值,指出成員是否為結構。 如果成員不是 結構,則 fStruct 為 FALSE,如果為 ,則為 TRUE。
fConstant
接收布爾值,指出成員是否為常數。 如果成員不是常數,則 fConstant 為 FALSE;如果為 ,則為 TRUE。
fStatic
Reserved
備註
呼叫 IG_DUMP_SYMBOL_INFOIoctl 作業時,此結構的 fName 成員應該設定為套用此結構的符號成員名稱, 而 fOptions 成員應該反映作業所需的功能。 其他成員是選擇性的,或是由 Ioctl填入。
規格需求
需求 | 值 |
---|---|
標頭 | wdbgexts.h |