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 | ||
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 | RecargaSymbols | |
IG_GET_SET_SYMPATH | ||
IG_GET_EXCEPTION_RECORD | ||
IG_IS_PTR64 | IsPtr64 | |
IG_GET_BUS_DATA |
||
IG_SET_BUS_DATA |
||
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 |
||
IG_GET_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) |