KeRestoreExtendedProcessorState-Funktion (wdm.h)
Die KeRestoreExtendedProcessorState-Routine stellt erweiterte Prozessorzustandsinformationen 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 wiederherzustellenden informationen zum erweiterten Prozessorzustand enthält. Der Inhalt dieser Struktur muss zuvor von der KeSaveExtendedProcessorState-Routine gespeichert worden sein.
Rückgabewert
Keine
Bemerkungen
Der Kernelmodustreibercode muss sicherstellen, dass Aufrufe von KeSaveExtendedProcessorState und KeRestoreExtendedProcessorState ordnungsgemäß geschachtelt sind. Dies ist erforderlich, damit auf jeder Schachtelungsebene der Zustand, der durch den 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 befolgen:
- Ein KeRestoreExtendedProcessorState-Aufruf , der einen gespeicherten Zustand wiederhergestellt, muss in derselben IRQL wie der KeSaveExtendedProcessorState-Aufruf ausgeführt werden, der den Zustand gespeichert hat.
- Wenn ein Paar aus KeSaveExtendedProcessorState - und KeRestoreExtendedProcessorState-Aufrufen innerhalb eines Paars von umgebenden KeSaveExtendedProcessorState - und KeRestoreExtendedProcessorState-Aufrufen 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 zugeordnete XSTATE_SAVE Struktur, die den zustand enthält, der von KeSaveExtendedProcessorState gespeichert wurde, im Stapel. Der Stapel behält natürlich die Schachtelung von gespeicherten Zustandsinformationen bei. Wenn der Treibercode den Zustand an einem anderen Speicherort als dem Stapel speichert, muss der Treiberschreiber besonders darauf achten, dass die Schachtelung der Aufrufe KeSaveExtendedProcessorState und KeRestoreExtendedProcessorState beibehalten wird.
- Der KeRestoreExtendedProcessorState-Aufruf , mit dem ein gespeicherter Zustand wiederhergestellt wird, muss im selben Thread wie der KeSaveExtendedProcessorState-Aufruf ausgeführt werden, der den Zustand gespeichert hat.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows 7 und späteren Windows-Versionen. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (siehe Abschnitt "Hinweise") |