PWINDBG_IOCTL_ROUTINE função de retorno de chamada (wdbgexts.h)
A função PWINDBG_IOCTL_ROUTINE (Ioctl) executa uma variedade de operações diferentes. Grande parte de sua funcionalidade espelha a funcionalidade de outras funções em wdbgexts.h.
Sintaxe
PWINDBG_IOCTL_ROUTINE PwindbgIoctlRoutine;
ULONG PwindbgIoctlRoutine(
USHORT IoctlType,
PVOID lpvData,
ULONG cbSize
)
{...}
Parâmetros
IoctlType
Especifica qual operação Ioctl executar. Para obter uma lista de possíveis valores ioctlType , consulte a seção "Comentários".
lpvData
Aponta para o endereço de uma estrutura de dados. O tipo de estrutura que é necessário depende do valor de IoctlType.
cbSize
Especifica o tamanho da estrutura para a qual lpvData aponta.
Retornar valor
O significado do valor retornado depende de IoctlType. Consulte a página da operação Ioctl correspondente para obter o significado do valor retornado.
Comentários
A função Ioctl é o ponto de entrada para muitas das funcionalidades fornecidas para extensões WdbgExts. Muitas das outras funções em wdbgexts.h são simplesmente wrappers para chamadas para Ioctl.
A tabela a seguir lista os possíveis valores ioctlType . Se o IoctlType corresponder a outra função, essa função será fornecida; caso contrário, um link para a página que descreve a operação Ioctl é fornecido.
Constante IoctlType | Função equivalente | Estrutura 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 | ReloadSymbols | |
IG_GET_SET_SYMPATH | ||
IG_GET_EXCEPTION_RECORD | ||
IG_IS_PTR64 | IsPtr64 | |
IG_GET_BUS_DATA |
||
IG_SET_BUS_DATA |
||
IG_LOWMEM_CHECK |
Consulte Observações. | |
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 |
O IG_LOWMEM_CHECK operação Ioctl procura corrupção de memória nos 4 GB baixos de memória.
Essa operação Ioctl não usa parâmetros e os parâmetros lpvData e cbSizeOfContext devem ser definidos como NULL e zero, respectivamente.
Valor retornado
Se nenhuma memória corrompida for encontrada, o valor retornado será TRUE; caso contrário, será FALSE.Essa operação só está disponível na depuração do modo kernel e só é útil quando o kernel foi iniciado usando a opção /nolowmem .
Quando o kernel é iniciado com a opção /nolowmem , o kernel, os drivers, o sistema operacional e os aplicativos são carregados na memória acima de 4 GB, enquanto os 4 GB baixos de memória são preenchidos com um padrão exclusivo. A operação IG_LOWMEM_CHECK Ioctl verifica esse padrão quanto à corrupção.
Isso pode ser usado para verificar se um driver funciona corretamente ao usar endereços físicos com mais de 32 bits de comprimento. Consulte PAE (Extensão de Endereço Físico),/pae e /nolowmem no Kit de Driver do Windows.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | wdbgexts.h (inclua Wdbgexts.h, Dbgeng.h) |