Compartilhar via


Função PshedSynchronizeExecution (ntddk.h)

A função PshedSynchronizeExecution sincroniza a execução de uma determinada função com o processamento de erro de hardware para uma fonte de erro.

Sintaxe

NTPSHEDAPI BOOLEAN PshedSynchronizeExecution(
  [in] PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
  [in] PKSYNCHRONIZE_ROUTINE         SynchronizeRoutine,
  [in] PVOID                         SynchronizeContext
);

Parâmetros

[in] ErrorSource

Um ponteiro para uma estrutura WHEA_ERROR_SOURCE_DESCRIPTOR que descreve uma fonte de erro.

[in] SynchronizeRoutine

Um ponteiro para uma função fornecida pelo chamador cuja execução é sincronizada com o processamento de erro de hardware para a fonte de erro descrita pelo parâmetro ErrorSource. Uma função SynchronizeRoutine é declarada da seguinte maneira:

BOOLEAN
SynchronizeRoutine(
    _In_ PVOID  SynchronizeContext
    );

SynchronizeContext

O valor de contexto passado no parâmetro SynchronizeContext para a função PshedSynchronizeExecution.

[in] SynchronizeContext

Um ponteiro para uma área de contexto fornecida pelo chamador que é passada para a função apontada pelo parâmetro SynchronizeRoutine.

Valor de retorno

PshedSynchronizeExecution retorna o valor retornado pela função apontada pelo parâmetro SynchronizeRoutine.

Observações

Um plug-in PSHED chama a função PshedSynchronizeExecution para sincronizar a execução de uma determinada função com o processamento de erro de hardware para uma fonte de erro. Isso é necessário sempre que um plug-in PSHED compartilha recursos entre o código que é executado fora do fluxo de processamento de erro de hardware normal e do código que é executado como parte do fluxo normal de processamento de erros de hardware. Para obter mais informações sobre o processamento de erros de hardware, consulte de Processamento de Erros.

Quando essa função é chamada, ocorre o seguinte:

  1. O IRQL é gerado para o IRQL no qual o LLHEH (manipulador de erros de hardware) de baixo nível para a origem do erro é executado.

  2. O acesso à área de contexto especificada pelo parâmetro SynchronizeContext é sincronizado com o LLHEH adquirindo o bloqueio de rotação associado.

  3. A função especificada no parâmetro SynchronizeRoutine é chamada.

Os chamadores da função PshedSynchronizeExecution devem estar em execução no IRQL <= DIRQL, ou seja, menor ou igual ao IRQL no qual o LLHEH da fonte de erro é executado.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho ntddk.h (inclua Ntddk.h)
biblioteca Pshed.lib
de DLL Pshed.dll
IRQL IRQL <= DIRQL

Consulte também

WHEA_ERROR_SOURCE_DESCRIPTOR