PWINDBG_IOCTL_ROUTINE Rückruffunktion (wdbgexts.h)
Die funktion PWINDBG_IOCTL_ROUTINE (Ioctl) führt eine Vielzahl verschiedener Vorgänge aus. Ein Großteil der Funktionalität spiegelt die Funktionalität anderer Funktionen in wdbgexts.h.
Syntax
PWINDBG_IOCTL_ROUTINE PwindbgIoctlRoutine;
ULONG PwindbgIoctlRoutine(
USHORT IoctlType,
PVOID lpvData,
ULONG cbSize
)
{...}
Parameter
IoctlType
Gibt an, welcher Ioctl-Vorgang ausgeführt werden soll. Eine Liste der möglichen IoctlType-Werte finden Sie im Abschnitt "Hinweise".
lpvData
Verweist auf die Adresse einer Datenstruktur. Der erforderliche Strukturtyp hängt vom Wert von IoctlType ab.
cbSize
Gibt die Größe der Struktur an, auf die lpvData verweist.
Rückgabewert
Die Bedeutung des Rückgabewerts hängt von IoctlType ab. Die Bedeutung des Rückgabewerts finden Sie auf der Seite für den entsprechenden Ioctl-Vorgang .
Hinweise
Die Ioctl-Funktion ist der Einstiegspunkt für viele der Funktionen, die für WdbgExts-Erweiterungen bereitgestellt werden. Viele der anderen Funktionen in wdbgexts.h sind einfach Wrapper für Aufrufe von Ioctl.
In der folgenden Tabelle sind die möglichen IoctlType-Werte aufgeführt. Wenn der IoctlType einer anderen Funktion entspricht, wird diese Funktion bereitgestellt. Andernfalls wird ein Link zu der Seite bereitgestellt, die den Ioctl-Vorgang beschreibt.
IoctlType-Konstante | Äquivalente Funktion | lpData-Struktur |
---|---|---|
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 |
Siehe Hinweise. | |
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 |
Der IG_LOWMEM_CHECK Ioctl-Vorgang sucht nach Speicherbeschädigungen in den niedrigen 4 GB Arbeitsspeicher.
Dieser Ioctl-Vorgang nimmt keine Parameter an, und die Parameter lpvData und cbSizeOfContext sollten auf NULL bzw. null festgelegt werden.
Rückgabewert
Wenn kein beschädigter Arbeitsspeicher gefunden wurde, lautet der Rückgabewert TRUE. Andernfalls ist es FALSE.Dieser Vorgang ist nur im Kernelmodus verfügbar und nur nützlich, wenn der Kernel mit der Option /nolowmem gestartet wurde.
Wenn der Kernel mit der Option /nolowmem gestartet wird, werden Kernel, Treiber, Betriebssystem und Anwendungen in Arbeitsspeicher über 4 GB geladen, während die geringen 4 GB Arbeitsspeicher mit einem eindeutigen Muster gefüllt sind. Der IG_LOWMEM_CHECK Ioctl-Vorgang überprüft dieses Muster auf Beschädigung.
Dies kann verwendet werden, um zu überprüfen, ob ein Treiber ordnungsgemäß funktioniert, wenn physische Adressen mit einer Länge von mehr als 32 Bits verwendet werden. Weitere Informationen finden Sie unter Physical Address Extension (PAE),/pae und /nolowmem im Windows Driver Kit.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | wdbgexts.h (einschließlich Wdbgexts.h, Dbgeng.h) |