Funzione KeRestoreExtendedProcessorState (wdm.h)
La routine KeRestoreExtendedProcessorState ripristina le informazioni sullo stato del processore estese salvate in precedenza.
Sintassi
void KeRestoreExtendedProcessorState(
[in] PXSTATE_SAVE XStateSave
);
Parametri
[in] XStateSave
Puntatore a una struttura XSTATE_SAVE che contiene le informazioni sullo stato del processore esteso da ripristinare. Il contenuto di questa struttura deve essere stato salvato in precedenza dalla routine KeSaveExtendedProcessorState .
Valore restituito
nessuno
Osservazioni
Il codice driver in modalità kernel deve assicurarsi che le chiamate a KeSaveExtendedProcessorState e KeRestoreExtendedProcessorState siano annidate correttamente. Ciò è necessario in modo che, a ogni livello di annidamento, lo stato ripristinato dalla chiamata KeRestoreExtendedProcessorState sia lo stesso stato salvato dalla chiamata KeSaveExtendedProcessorState corrispondente. Per garantire il corretto annidamento, il codice driver in modalità kernel deve seguire queste regole:
- Una chiamata KeRestoreExtendedProcessorState che ripristina uno stato salvato deve essere eseguita nello stesso irQL della chiamata KeSaveExtendedProcessorState che ha salvato lo stato.
- Se una coppia di chiamate KeSaveExtendedProcessorState e KeRestoreExtendedProcessorState viene nidificata all'interno di una coppia di chiamate KeSaveExtendedProcessorState e KeRestoreExtendedProcessorState , l'IRQL per le chiamate nidificate non deve essere inferiore a IRQL per le chiamate circostanti.
- In genere, la struttura XSTATE_SAVE allocata dal chiamante che contiene lo stato salvato da KeSaveExtendedProcessorState si trova nello stack. Lo stack mantiene naturalmente l'annidamento delle informazioni sullo stato salvate. Se il codice driver archivia lo stato in una posizione diversa dallo stack, il writer del driver deve prestare particolare attenzione per mantenere l'annidamento delle chiamate KeSaveExtendedProcessorState e KeRestoreExtendedProcessorState .
- La chiamata KeRestoreExtendedProcessorState che ripristina uno stato salvato deve essere eseguita nello stesso thread della chiamata KeSaveExtendedProcessorState che ha salvato lo stato.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows 7 e versioni successive di Windows. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (vedere sezione Osservazioni) |