Freigeben über


PshedSynchronizeExecution-Funktion (ntddk.h)

Die PshedSynchronizeExecution-Funktion synchronisiert die Ausführung einer bestimmten Funktion mit der Hardwarefehlerverarbeitung für eine Fehlerquelle.

Syntax

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

Parameter

[in] ErrorSource

Ein Zeiger auf eine WHEA_ERROR_SOURCE_DESCRIPTOR Struktur, die eine Fehlerquelle beschreibt.

[in] SynchronizeRoutine

Ein Zeiger auf eine vom Aufrufer bereitgestellte Funktion, deren Ausführung mit der Hardwarefehlerverarbeitung für die vom ErrorSource Parameter beschriebene Fehlerquelle synchronisiert wird. Eine SynchronizeRoutine--Funktion wird wie folgt deklariert:

BOOLEAN
SynchronizeRoutine(
    _In_ PVOID  SynchronizeContext
    );

SynchronizeContext

Der Kontextwert, der im SynchronizeContext Parameter an die PshedSynchronizeExecution-Funktion übergeben wird.

[in] SynchronizeContext

Ein Zeiger auf einen vom Aufrufer bereitgestellten Kontextbereich, der an die Funktion übergeben wird, auf die der parameter SynchronizeRoutine verweist.

Rückgabewert

PshedSynchronizeExecution gibt den Wert zurück, der von der Funktion zurückgegeben wird, auf die die SynchronizeRoutine-Parameter verweist.

Bemerkungen

Ein PSHED-Plug-In ruft die PshedSynchronizeExecution-Funktion auf, um die Ausführung einer bestimmten Funktion mit der Hardwarefehlerverarbeitung für eine Fehlerquelle zu synchronisieren. Dies ist erforderlich, wenn ein PSHED-Plug-In Ressourcen zwischen Code freigibt, der außerhalb des normalen Hardwarefehlerverarbeitungsflusses ausgeführt wird, und Code, der als Teil des normalen Hardwarefehlerverarbeitungsflusses ausgeführt wird. Weitere Informationen zur Verarbeitung von Hardwarefehlern finden Sie unter Fehlerverarbeitung.

Wenn diese Funktion aufgerufen wird, tritt Folgendes auf:

  1. Die IRQL wird an die IRQL ausgelöst, bei der der Hardwarefehlerhandler auf niedriger Ebene (LLHEH) für die Fehlerquelle ausgeführt wird.

  2. Der Zugriff auf den kontextbezogenen Bereich, der durch den SynchronizeContext Parameter angegeben wird, wird mit der LLHEH synchronisiert, indem die zugeordnete Drehsperre abgerufen wird.

  3. Die im SynchronizeRoutine Parameter angegebene Funktion wird aufgerufen.

Aufrufer der PshedSynchronizeExecution--Funktion müssen bei IRQL <= DIRQL ausgeführt werden, d. h. kleiner oder gleich der IRQL, bei der die LLHEH für die Fehlerquelle ausgeführt wird.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ntddk.h (include Ntddk.h)
Library Pshed.lib
DLL- Pshed.dll
IRQL- IRQL-<= DIRQL

Siehe auch

WHEA_ERROR_SOURCE_DESCRIPTOR