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 a ser executada. Para obter uma lista de possíveis valores de 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.
Valor de retorno
O significado do valor retornado depende de IoctlType . Consulte a página da operação de Ioctl correspondente para obter o significado do valor retornado.
Observações
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 de 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 de 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 Comentários. | |
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 |
A operação de IG_LOWMEM_CHECK Ioctl procura corrupção de memória nos 4 GB baixos de memória.
Essa operação de 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 tiver sido encontrada, o valor retornado será VERDADEIRO; caso contrário, é FALSE .Essa operação só está disponível na depuração no 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, drivers, sistema operacional e 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 de 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 de PAE (Extensão de Endereço Físico), /paee /nolowmem no Kit de Driver do Windows.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | wdbgexts.h (inclua Wdbgexts.h, Dbgeng.h) |