Compartilhar 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 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

GetKdContext

IG_READ_CONTROL_SPACE

ReadControlSpace

ReadControlSpace64

IG_WRITE_CONTROL_SPACE WriteControlSpace
IG_READ_IO_SPACE

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

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
 

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)