PWINDBG_IOCTL_ROUTINE función de devolución de llamada (wdbgexts.h)

La función PWINDBG_IOCTL_ROUTINE (Ioctl) realiza una variedad de operaciones diferentes. Gran parte de su funcionalidad refleja la funcionalidad de otras funciones en wdbgexts.h.

Sintaxis

PWINDBG_IOCTL_ROUTINE PwindbgIoctlRoutine;

ULONG PwindbgIoctlRoutine(
  USHORT IoctlType,
  PVOID lpvData,
  ULONG cbSize
)
{...}

Parámetros

IoctlType

Especifica la operación Ioctl que se va a realizar. Para obtener una lista de los posibles valores IoctlType , consulte la sección "Comentarios".

lpvData

Apunta a la dirección de una estructura de datos. El tipo de estructura que se requiere depende del valor de IoctlType.

cbSize

Especifica el tamaño de la estructura a la que apunta lpvData .

Valor devuelto

El significado del valor devuelto depende de IoctlType. Consulte la página de la operación Ioctl correspondiente para obtener el significado del valor devuelto.

Comentarios

La función Ioctl es el punto de entrada de muchas de las funcionalidades proporcionadas para las extensiones WdbgExts. Muchas de las otras funciones de wdbgexts.h son simplemente contenedores para llamadas a Ioctl.

En la tabla siguiente se enumeran los posibles valores IoctlType . Si IoctlType corresponde a otra función, se proporciona esa función; de lo contrario, se proporciona un vínculo a la página que describe la operación Ioctl .

Constante IoctlType Función equivalente lpData (estructura)
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 RecargaSymbols
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

Vea la sección Comentarios.
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
 

La operación de IG_LOWMEM_CHECK Ioctl busca daños en la memoria en los 4 GB de memoria bajos.

Esta operación Ioctl no toma ningún parámetro y los parámetros lpvData y cbSizeOfContext deben establecerse en NULL y cero respectivamente.

Valor devuelto

Si no se encontró ninguna memoria dañada, el valor devuelto es TRUE; de lo contrario, es FALSE.

Esta operación solo está disponible en la depuración en modo kernel y solo es útil cuando el kernel se inició con la opción /nolowmem .

Cuando el kernel se inicia con la opción /nolowmem , el kernel, los controladores, el sistema operativo y las aplicaciones se cargan en memoria por encima de 4 GB, mientras que los 4 GB de memoria bajos se rellenan con un patrón único. La operación IG_LOWMEM_CHECK Ioctl comprueba este patrón de daños.

Se puede usar para comprobar que un controlador funciona correctamente cuando se usan direcciones físicas de más de 32 bits de longitud. Consulta Extensión de dirección física (PAE),/pae y /nolowmem en el Kit de controladores de Windows.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado wdbgexts.h (include Wdbgexts.h, Dbgeng.h)