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 origem do erro descrita pelo parâmetro ErrorSource . Uma função SynchronizeRoutine é declarada da seguinte maneira:

BOOLEAN
SynchronizeRoutine(
    _In_ PVOID  SynchronizeContext
    );

SynchronizeContext

O valor de contexto que é 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 .

Retornar valor

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

Comentários

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 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 em IRQL <= DIRQL, ou seja, menor ou igual ao IRQL no qual o LLHEH da origem do erro é executado.

Requisitos

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

Confira também

WHEA_ERROR_SOURCE_DESCRIPTOR