Função KeRestoreExtendedProcessorState (wdm.h)

A rotina 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 estendido do processador a serem restauradas. O conteúdo dessa estrutura deve ter sido salvo anteriormente pela rotina KeSaveExtendedProcessorState .

Retornar valor

Nenhum

Comentários

O código do driver no modo kernel deve garantir que as chamadas para KeSaveExtendedProcessorState e KeRestoreExtendedProcessorState estejam aninhadas corretamente. Isso é necessário para que, em cada nível de aninhamento, o estado que foi restaurado pela chamada KeRestoreExtendedProcessorState seja o mesmo estado que foi 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 aninhado dentro de um par de chamadas KeSaveExtendedProcessorState e KeRestoreExtendedProcessorState ao redor, 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 das chamadas KeSaveExtendedProcessorState e 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.
Um conjunto semelhante de regras se aplica às rotinas KeSaveFloatingPointState e KeRestoreFloatingPointState .

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 7 e versões posteriores do Windows.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (consulte a seção Comentários)

Confira também

KeRestoreFloatingPointState

KeSaveExtendedProcessorState

KeSaveFloatingPointState

XSTATE_SAVE