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 de Ioctl à effectuer. Pour obtenir la liste des valeurs possibles IoctlType, 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 de retour
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 la plupart des fonctionnalités fournies pour les extensions WdbgExts. La plupart des autres fonctions dans wdbgexts.h sont simplement des wrappers pour les appels à Ioctl.
Le tableau suivant répertorie les valeurs possibles IoctlType. Si le 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 | rechargementSymbols | |
IG_GET_SET_SYMPATH | ||
IG_GET_EXCEPTION_RECORD | ||
IG_IS_PTR64 | IsPtr64 | |
IG_GET_BUS_DATA |
||
IG_SET_BUS_DATA |
||
IG_LOWMEM_CHECK |
Voir les remarques. | |
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 IG_LOWMEM_CHECK Ioctl recherche une altération 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, il 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 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 la mémoire faible de 4 Go est remplie d’un modèle unique. L’opération IG_LOWMEM_CHECK Ioctl vérifie ce modèle de corruption.
Cela peut être utilisé pour vérifier qu’un pilote fonctionne correctement lors de l’utilisation d’adresses physiques supérieures à 32 bits de longueur. Consultez 'extension d’adresse physique (PAE), /paeet /nolowmem dans le Kit de pilotes Windows.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | wdbgexts.h (include Wdbgexts.h, Dbgeng.h) |