PWINDBG_IOCTL_ROUTINE fonction de rappel (wdbgexts.h)
La fonction PWINDBG_IOCTL_ROUTINE (Ioctl) effectue différentes opérations. La plupart de ses fonctionnalités reflètent les fonctionnalités d’autres fonctions dans wdbgexts.h.
Syntaxe
PWINDBG_IOCTL_ROUTINE PwindbgIoctlRoutine;
ULONG PwindbgIoctlRoutine(
USHORT IoctlType,
PVOID lpvData,
ULONG cbSize
)
{...}
Paramètres
IoctlType
Spécifie l’opération Ioctl à effectuer. Pour obtenir la liste des valeurs IoctlType possibles, consultez la section « Remarques ».
lpvData
Pointe vers l’adresse d’une structure de données. Le type de structure requis dépend de la valeur de IoctlType.
cbSize
Spécifie la taille de la structure vers laquelle lpvData pointe.
Valeur retournée
La signification de la valeur de retour dépend de IoctlType. Consultez la page de l’opération Ioctl correspondante pour connaître la signification de la valeur de retour.
Remarques
La fonction Ioctl est le point d’entrée de nombreuses fonctionnalités fournies pour les extensions WdbgExts. La plupart des autres fonctions de wdbgexts.h sont simplement des wrappers pour les appels à Ioctl.
Le tableau suivant répertorie les valeurs IoctlType possibles. Si IoctlType correspond à une autre fonction, cette fonction est fournie ; sinon, un lien vers la page décrivant l’opération Ioctl est fourni.
Constante IoctlType | Fonction équivalente | structure lpData |
---|---|---|
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 |
Consultez la section Notes. | |
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 |
L’opération Ioctl IG_LOWMEM_CHECK recherche la corruption de la mémoire dans les 4 Go de mémoire faibles.
Cette opération Ioctl ne prend aucun paramètre et les paramètres lpvData et cbSizeOfContext doivent être définis sur NULL et zéro respectivement.
Valeur de retour
Si aucune mémoire endommagée n’a été trouvée, la valeur de retour est TRUE ; sinon, elle est FALSE.Cette opération n’est disponible que dans le débogage en mode noyau et n’est utile que lorsque le noyau a été démarré à l’aide de l’option /nolowmem .
Lorsque le noyau est démarré avec l’option /nolowmem , le noyau, les pilotes, le système d’exploitation et les applications sont chargés en mémoire au-dessus de 4 Go, tandis que les 4 Go de mémoire faibles sont remplis avec un modèle unique. L’opération Ioctl IG_LOWMEM_CHECK vérifie la corruption de ce modèle.
Cela peut être utilisé pour vérifier qu’un pilote fonctionne correctement lors de l’utilisation d’adresses physiques d’une longueur supérieure à 32 bits. Consultez Extension d’adresse physique (PAE),/pae et /nolowmem dans le Kit de pilotes Windows.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wdbgexts.h (inclure Wdbgexts.h, Dbgeng.h) |