Função RtlRestoreContext (winnt.h)
Restaura o contexto do chamador para o registro de contexto especificado.
Sintaxe
NTSYSAPI VOID __cdecl RtlRestoreContext(
PCONTEXT ContextRecord,
_EXCEPTION_RECORD *ExceptionRecord
);
Parâmetros
[in] ContextRecord
Um ponteiro para uma estrutura CONTEXT .
[in] ExceptionRecord
Um ponteiro para uma estrutura EXCEPTION_RECORD . Esse parâmetro é opcional e normalmente deve ser NULL.
Um registro de exceção é usado principalmente com o salto em distância e o suporte a catch-throw do C++. Se o membro ExceptionCode for STATUS_LONGJUMP, o membro ExceptionInformation conterá um ponteiro para um buffer de salto. RtlRestoreContext copiará o estado não volátil do buffer de salto para o registro de contexto antes que o registro de contexto seja restaurado.
Se o membro ExceptionCode for STATUS_UNWIND_CONSOLIDATE, o membro ExceptionInformation conterá um ponteiro para uma função de retorno de chamada, como um manipulador catch. RtlRestoreContext consolida os quadros de chamada entre seu quadro e o quadro especificado no registro de contexto antes de chamar a função de retorno de chamada. Isso oculta quadros de qualquer tratamento de exceção que possa ocorrer na função de retorno de chamada. A diferença entre esse e um desenrolamento típico é que os dados na pilha ainda estão presentes, portanto, dados de quadro, como um objeto throw, ainda estão disponíveis. A função de retorno de chamada retorna um novo contador de programa a ser atualizado no registro de contexto, que é usado em um contexto de restauração normal.
Retornar valor
Essa função não retorna um valor.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | winnt.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |