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.
Un ensemble de règles similaire s’applique aux routines KeSaveFloatingPointState et KeRestoreFloatingPointState .

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)

Voir aussi

KeRestoreFloatingPointState

KeSaveExtendedProcessorState

KeSaveFloatingPointState

XSTATE_SAVE