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.
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") |