Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция PWINDBG_IOCTL_ROUTINE (Ioctl) выполняет различные операции. Большая часть ее функций отражает функциональные возможности других функций в wdbgexts.h.
Синтаксис
PWINDBG_IOCTL_ROUTINE PwindbgIoctlRoutine;
ULONG PwindbgIoctlRoutine(
USHORT IoctlType,
PVOID lpvData,
ULONG cbSize
)
{...}
Параметры
IoctlType
Указывает, какая операция Ioctl выполняется. Список возможных значений IoctlType см. в разделе "Примечания".
lpvData
Указывает на адрес структуры данных. Тип требуемой структуры зависит от значения IoctlType.
cbSize
Указывает размер структуры, на которую указывает lpvData .
Возвращаемое значение
Значение возвращаемого значения зависит от IoctlType. См. страницу для соответствующей операции Ioctl для значения возвращаемого значения.
Замечания
Функция Ioctl — это точка входа для многих функций, предоставляемых для расширений WdbgExts. Многие другие функции в wdbgexts.h — это просто оболочки для вызовов Ioctl.
В следующей таблице перечислены возможные значения IoctlType . Если IoctlType соответствует другой функции, эта функция предоставляется; в противном случае предоставляется ссылка на страницу, описывающую операцию Ioctl .
Констант IoctlType | Эквивалентная функция | Структура lpData |
---|---|---|
IG_KD_CONTEXT | ||
IG_READ_CONTROL_SPACE |
ReadControlSpace64 |
|
IG_WRITE_CONTROL_SPACE | WriteControlSpace | |
IG_READ_IO_SPACE |
ReadIoSpace64 |
|
IG_WRITE_IO_SPACE |
WriteIoSpace64 |
|
IG_READ_PHYSICAL | ||
IG_WRITE_PHYSICAL | ||
IG_READ_IO_SPACE_EX |
ReadIoSpaceEx64 |
|
IG_WRITE_IO_SPACE_EX |
WriteIoSpaceEx64 |
|
IG_SET_THREAD |
SetThreadForOperation64 |
|
IG_READ_MSR | ||
IG_WRITE_MSR | ||
IG_GET_DEBUGGER_DATA | ||
IG_GET_KERNEL_VERSION |
||
IG_RELOAD_SYMBOLS | Перезагрузить символы | |
IG_GET_SET_SYMPATH | ||
IG_GET_EXCEPTION_RECORD | ||
IG_IS_PTR64 | IsPtr64 | |
IG_GET_BUS_DATA |
||
IG_SET_BUS_DATA |
||
IG_LOWMEM_CHECK |
См. примечания. | |
IG_SEARCH_MEMORY | SearchMemory | |
IG_GET_CURRENT_THREAD | GetCurrentThreadAddr | |
IG_GET_CURRENT_PROCESS | GetCurrentProcessAddr | |
IG_GET_TYPE_SIZE | GetTypeSize | |
IG_GET_CURRENT_PROCESS_HANDLE | GetCurrentProcessHandle | |
IG_GET_INPUT_LINE | GetInputLine | |
IG_GET_EXPRESSION_EX | GetExpressionEx | |
IG_TRANSLATE_VIRTUAL_TO_PHYSICAL | TranslateVirtualToPhysical | |
IG_GET_CACHE_SIZE | GetDebuggerCacheSize | |
IG_READ_PHYSICAL_WITH_FLAGS | ReadPhysicalWithFlags | |
IG_WRITE_PHYSICAL_WITH_FLAGS | WritePhysicalWithFlags | |
IG_POINTER_SEARCH_PHYSICAL |
||
IG_GET_THREAD_OS_INFO |
||
IG_GET_CLR_DATA_INTERFACE | ||
IG_GET_TEB_ADDRESS | GetTebAddress | |
IG_GET_PEB_ADDRESS | GetPebAddress |
Операция IG_LOWMEM_CHECK Ioctl ищет повреждение памяти в низкой 4 ГБ памяти.
Эта операция Ioctl не принимает никаких параметров, а параметры lpvData и cbSizeOfContext должны иметь значение NULL и ноль соответственно.
возвращаемое значение
Если поврежденная память не найдена, возвращаемое значение равно TRUE; в противном случае значение false.Эта операция доступна только в отладке в режиме ядра и полезна только при запуске ядра с помощью параметра /nolowmem .
При запуске ядра с параметром /nolowmem ядро, драйверы, операционная система и приложения загружаются в памяти выше 4 ГБ, а низкая 4 ГБ памяти заполняется уникальным шаблоном. Операция IG_LOWMEM_CHECK Ioctl проверяет этот шаблон для повреждения.
Это можно использовать для проверки правильности работы драйвера при использовании физических адресов, превышающих 32 бита. См. раздел расширения физического адреса (PAE),/pae и /nolowmem в комплекте драйверов Windows.
Требования
Требование | Ценность |
---|---|
целевая платформа | Рабочий стол |
Заголовок | wdbgexts.h (include Wdbgexts.h, Dbgeng.h) |