структура FIELD_INFO (wdbgexts.h)
Структура FIELD_INFO используется операцией IoctlIG_DUMP_SYMBOL_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
Указывает имя члена символа, к которому применяется эта структура. Вложенные атрибуты можно указать с помощью разделителей "." и "->". Если DBG_DUMP_FIELD_FULL_NAME не задано в fOptions, fName считается началом имени члена.
printName
Задает альтернативное имя, используемое при печати имени элемента. Если printName имеет значение NULL, при печати имени элемента используется фактическое имя элемента.
size
Получает размер в памяти целевого объекта (в байтах) элемента, указанного fName.
Если элемент является массивом, размер определяет количество элементов в массиве.
fOptions
Задает флаги, определяющие поведение операции Ioctl IG_DUMP_SYMBOL_INFO. Описание этих флагов см. в разделе DBG_DUMP_FIELD_XXX.
address
Получает адрес в памяти целевого элемента, указанного fName. Если для типа символа в SYM_DUMP_PARAM не указан адрес. addr, address получает смещение элемента относительно начала экземпляра типа . Дополнительные сведения о SYM_DUMP_PARAM см. в разделе IG_DUMP_SYMBOL_INFO.
fieldCallBack
Указывает функцию обратного вызова PSYM_DUMP_FIELD_CALLBACK для вызова со сведениями об элементе, указанном fName. Функция обратного вызова передает структуру со сведениями о поле и значением SYM_DUMP_PARAM. контекст.
Функция обратного вызова не вызывается, если DBG_DUMP_FIELD_NO_CALLBACK_REQ задано в fOptions, fieldCallBack имеет значение NULL или элемент Options структуры SYM_DUMP_PARAM, передаваемый в Ioctl , не имеет DBG_DUMP_CALL_FOR_EACH. Если DBG_DUMP_FIELD_COPY_FIELD_DATA задано в fOptions, fieldCallBack не используется.
pBuffer
Задает буфер для получения значения элемента, указанного параметром fName. Этот элемент используется, только если DBG_DUMP_FIELD_COPY_FIELD_DATA задано в fOptions.
TypeId
Получает идентификатор для типа элемента, указанного fName.
FieldOffset
Получает смещение элемента в структуре.
BufferSize
Указывает размер буфера pBuffer (в байтах).
BitField
Получает сведения о битовых полях в структуре.
BitField.Position
Получает начальную позицию битового поля. Это число битов от начала структуры до битового поля.
BitField.Size
Получает размер битового поля в битах.
_BitField
Получает сведения о битовых полях в структуре.
fPointer
Получает логическое значение, указывающее, является ли элемент указателем. Значение fPointer имеет значение FALSE , если элемент не является указателем. Значение равно 1, если элемент является 32-разрядным указателем, и 3, если элемент является 64-разрядным указателем.
fArray
Получает логическое значение, указывающее, является ли элемент массивом. fArray имеет значение FALSE , если поле не является массивом, и TRUE , если оно имеет значение .
fStruct
Получает логическое значение, указывающее, является ли элемент структурой. fStruct имеет значение FALSE , если элемент не является структурой, и TRUE , если он имеет значение .
fConstant
Получает логическое значение, указывающее, является ли элемент константой. fConstant имеет значение FALSE , если элемент не является константой, и TRUE , если он имеет значение .
fStatic
Reserved
Комментарии
При вызове операцииIoctl IG_DUMP_SYMBOL_INFO член fName этой структуры должен иметь имя члена символа, к которому применяется эта структура, а член fOptions должен отражать требуемые функциональные возможности операции. Остальные элементы являются необязательными или заполняются Ioctl.
Требования
Требование | Значение |
---|---|
Заголовок | wdbgexts.h |