Partilhar via


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

GetKdContext

IG_READ_CONTROL_SPACE

ReadControlSpace

ReadControlSpace64

IG_WRITE_CONTROL_SPACE WriteControlSpace
IG_READ_IO_SPACE

do ReadIoSpace

ReadIoSpace64

IG_WRITE_IO_SPACE

writeiospace

writeiospace64

IG_READ_PHYSICAL

ReadPhysical

IG_WRITE_PHYSICAL

WritePhysical

IG_READ_IO_SPACE_EX

ReadIoSpaceEx

ReadIoSpaceEx64

IG_WRITE_IO_SPACE_EX

writeiospaceex

WriteIoSpaceEx64

IG_SET_THREAD

SetThreadForOperation

setThreadForOperation64

IG_READ_MSR

readMsr

IG_WRITE_MSR

WriteMsr

IG_GET_DEBUGGER_DATA

GetDebuggerData

IG_GET_KERNEL_VERSION

DBGKD_GET_VERSION64

IG_RELOAD_SYMBOLS ReloadSymbols
IG_GET_SET_SYMPATH

GetSetSympath

IG_GET_EXCEPTION_RECORD
IG_IS_PTR64 IsPtr64

IG_GET_BUS_DATA

GETSETBUSDATA

IG_SET_BUS_DATA

GETSETBUSDATA

IG_DUMP_SYMBOL_INFO

SYM_DUMP_PARAM

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

POINTER_SEARCH_PHYSICAL

IG_GET_THREAD_OS_INFO

WDBGEXTS_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)