Compartir a través de


Función KeRestoreExtendedProcessorState (wdm.h)

La rutina KeRestoreExtendedProcessorState restaura la información de estado del procesador extendida que se guardó anteriormente.

Sintaxis

void KeRestoreExtendedProcessorState(
  [in] PXSTATE_SAVE XStateSave
);

Parámetros

[in] XStateSave

Puntero a una estructura de XSTATE_SAVE que contiene la información de estado del procesador extendida que se va a restaurar. El contenido de esta estructura debe haber sido guardado previamente por la rutina KeSaveExtendedProcessorState .

Valor devuelto

None

Observaciones

El código del controlador en modo kernel debe asegurarse de que las llamadas a KeSaveExtendedProcessorState y KeRestoreExtendedProcessorState estén anidadas correctamente. Esto es necesario para que, en cada nivel de anidamiento, el estado restaurado por la llamada KeRestoreExtendedProcessorState es el mismo estado que guardó la llamada a KeSaveExtendedProcessorState correspondiente. Para garantizar el anidamiento adecuado, el código del controlador en modo kernel debe seguir estas reglas:

  • Una llamada a KeRestoreExtendedProcessorState que restaura un estado guardado debe ejecutarse en el mismo IRQL que la llamada KeSaveExtendedProcessorState que guardó el estado.
  • Si un par de llamadas KeSaveExtendedProcessorState y KeRestoreExtendedProcessorState se anidan dentro de un par de llamadas KeSaveExtendedProcessorState y KeRestoreExtendedProcessorState , el IRQL para las llamadas anidadas no debe ser inferior a IRQL para las llamadas circundantes.
  • Normalmente, la estructura de XSTATE_SAVE asignada por el autor de la llamada que contiene el estado guardado por KeSaveExtendedProcessorState reside en la pila. La pila conserva naturalmente el anidamiento de la información de estado guardada. Si el código del controlador almacena el estado en una ubicación distinta de la pila, el escritor del controlador debe tener especial cuidado para conservar el anidamiento de las llamadas a KeSaveExtendedProcessorState y KeRestoreExtendedProcessorState .
  • La llamada KeRestoreExtendedProcessorState que restaura un estado guardado debe ejecutarse en el mismo subproceso que la llamada KeSaveExtendedProcessorState que guardó el estado.
Se aplica un conjunto similar de reglas a las rutinas KeSaveFloatingPointState y KeRestoreFloatingPointState .

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 7 y versiones posteriores de Windows.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (consulte la sección Comentarios)

Consulte también

KeRestoreFloatingPointState

KeSaveExtendedProcessorState

KeSaveFloatingPointState

XSTATE_SAVE