Função KeRestoreExtendedProcessorState (wdm.h)
O KeRestoreExtendedProcessorState restaura informações de estado estendido do processador que foram salvas anteriormente.
Sintaxe
void KeRestoreExtendedProcessorState(
[in] PXSTATE_SAVE XStateSave
);
Parâmetros
[in] XStateSave
Um ponteiro para uma estrutura XSTATE_SAVE que contém as informações de estado do processador estendido a serem restauradas. O conteúdo dessa estrutura deve ter sido salvo anteriormente pela rotina KeSaveExtendedProcessorState.
Valor de retorno
Nenhum
Observações
O código do driver do modo kernel deve garantir que as chamadas para KeSaveExtendedProcessorState e KeRestoreExtendedProcessorState estejam corretamente aninhadas. Isso é necessário para que, em cada nível de aninhamento, o estado que foi restaurado pela chamada KeRestoreExtendedProcessorState seja o mesmo estado salvo pela chamada KeSaveExtendedProcessorState correspondente. Para garantir o aninhamento adequado, o código do driver no modo kernel deve seguir estas regras:
- Uma chamada KeRestoreExtendedProcessorState que restaura um estado salvo deve estar em execução no mesmo IRQL que a chamada KeSaveExtendedProcessorState que salvou o estado.
- Se um par de chamadas KeSaveExtendedProcessorState e KeRestoreExtendedProcessorState estiver aninhada em um par de chamadas KeSaveExtendedProcessorState e KeRestoreExtendedProcessorState, o IRQL para as chamadas aninhadas não deverá ser menor que o IRQL para as chamadas ao redor.
- Normalmente, a estrutura de XSTATE_SAVE alocada pelo chamador que contém o estado que foi salvo por KeSaveExtendedProcessorState reside na pilha. A pilha preserva naturalmente o aninhamento de informações de estado salvas. Se o código do driver armazenar o estado em um local diferente da pilha, o gravador de driver deverá ter um cuidado especial para preservar o aninhamento do KeSaveExtendedProcessorState e chamadas KeRestoreExtendedProcessorState.
- A chamada KeRestoreExtendedProcessorState que restaura um estado salvo deve estar em execução no mesmo thread que a chamada KeSaveExtendedProcessorState que salvou o estado.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows 7 e versões posteriores do Windows. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (consulte a seção Comentários) |