Fonction KeRestoreExtendedProcessorState (wdm.h)
La routine KeRestoreExtendedProcessorState restaure les informations d’état du processeur étendues qui ont été enregistrées précédemment.
Syntaxe
void KeRestoreExtendedProcessorState(
[in] PXSTATE_SAVE XStateSave
);
Paramètres
[in] XStateSave
Pointeur vers une structure de XSTATE_SAVE qui contient les informations d’état du processeur étendu à restaurer. Le contenu de cette structure doit avoir été enregistré précédemment par la routine KeSaveExtendedProcessorState .
Valeur de retour
None
Remarques
Le code de pilote en mode noyau doit garantir que les appels à KeSaveExtendedProcessorState et KeRestoreExtendedProcessorState sont correctement imbriqués. Cela est nécessaire pour que, à chaque niveau d’imbrication, l’état qui a été restauré par l’appel KeRestoreExtendedProcessorState soit le même état que celui enregistré par l’appel KeSaveExtendedProcessorState correspondant. Pour garantir l’imbrication correcte, le code du pilote en mode noyau doit suivre les règles suivantes :
- Un appel KeRestoreExtendedProcessorState qui restaure un état enregistré doit s’exécuter au même niveau IRQL que l’appel KeSaveExtendedProcessorState qui a enregistré l’état.
- Si une paire d’appels KeSaveExtendedProcessorState et KeRestoreExtendedProcessorState est imbriquée dans une paire d’appels KeSaveExtendedProcessorState et KeRestoreExtendedProcessorState , l’IRQL des appels imbriqués ne doit pas être inférieur à l’IRQL pour les appels environnants.
- En règle générale, la structure XSTATE_SAVE allouée à l’appelant qui contient l’état enregistré par KeSaveExtendedProcessorState réside sur la pile. La pile conserve naturellement l’imbrication des informations d’état enregistrées. Si le code du pilote stocke l’état dans un emplacement autre que la pile, l’enregistreur de pilotes doit veiller particulièrement à préserver l’imbrication des appels KeSaveExtendedProcessorState et KeRestoreExtendedProcessorState .
- L’appel KeRestoreExtendedProcessorState qui restaure un état enregistré doit s’exécuter dans le même thread que l’appel KeSaveExtendedProcessorState qui a enregistré l’état.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 7 et versions ultérieures de Windows. |
Plateforme cible | Universal |
En-tête | wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (voir la section Remarques) |