Freigeben über


KeRestoreExtendedProcessorState-Funktion (wdm.h)

Die KeRestoreExtendedProcessorState Routine stellt erweiterte Prozessorstatusinformationen wieder her, die zuvor gespeichert wurden.

Syntax

void KeRestoreExtendedProcessorState(
  [in] PXSTATE_SAVE XStateSave
);

Parameter

[in] XStateSave

Ein Zeiger auf eine XSTATE_SAVE Struktur, die die erweiterten Prozessorstatusinformationen enthält, die wiederhergestellt werden sollen. Der Inhalt dieser Struktur muss zuvor von der KeSaveExtendedProcessorState Routine gespeichert worden sein.

Rückgabewert

Nichts

Bemerkungen

Kernelmodustreibercode muss sicherstellen, dass Aufrufe an KeSaveExtendedProcessorState und KeRestoreExtendedProcessorState- ordnungsgemäß geschachtelt sind. Dies ist erforderlich, damit auf jeder Schachtelungsebene der Zustand, der vom KeRestoreExtendedProcessorState Aufruf wiederhergestellt wurde, derselbe Zustand ist, der vom entsprechenden KeSaveExtendedProcessorState Aufruf gespeichert wurde. Um eine ordnungsgemäße Schachtelung sicherzustellen, muss der Kernelmodustreibercode die folgenden Regeln erfüllen:

  • Ein KeRestoreExtendedProcessorState- Aufruf, der einen gespeicherten Zustand wiederhergestellt, muss mit demselben IRQL wie der KeSaveExtendedProcessorState Aufruf ausgeführt werden, der den Zustand gespeichert hat.
  • Wenn ein Paar von KeSaveExtendedProcessorState und KeRestoreExtendedProcessor State-Aufrufe innerhalb eines Paars der umgebenden KeSaveExtendedProcessorState und KeRestoreExtendedProcessorState-Aufrufe geschachtelt ist, darf die IRQL für die geschachtelten Aufrufe nicht niedriger sein als die IRQL für die umgebenden Aufrufe.
  • In der Regel befindet sich die vom Aufrufer zugewiesene XSTATE_SAVE Struktur, die den Zustand enthält, der von KeSaveExtendedProcessorState im Stapel gespeichert wurde. Der Stapel behält natürlich die Schachtelung gespeicherter Zustandsinformationen bei. Wenn der Treibercode den Zustand an einer anderen Stelle als dem Stapel speichert, muss der Treiberschreiber die Schachtelung der KeSaveExtendedProcessorState- und KeRestoreExtendedProcessorState--Aufrufe beibehalten.
  • Der KeRestoreExtendedProcessorState Aufruf, der einen gespeicherten Zustand wiederhergestellt, muss im selben Thread wie der KeSaveExtendedProcessorState Aufruf ausgeführt werden, der den Zustand gespeichert hat.
Eine ähnliche Regelsatz gilt für die KeSaveFloatingPointState- und KeRestoreFloatingPointState-Routinen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows 7 und höheren Versionen von Windows.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= DISPATCH_LEVEL (siehe Abschnitt "Hinweise")

Siehe auch

KeRestoreFloatingPointState

KeSaveExtendedProcessorState

KeSaveFloatingPointState

XSTATE_SAVE