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 durch den 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 SynchronizeRoutine-Parameter verweist.

Rückgabewert

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

Hinweise

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 teilt, der außerhalb des normalen Hardwarefehlerverarbeitungsflows ausgeführt wird, und Code, der als Teil des normalen Hardwarefehlerverarbeitungsflows ausgeführt wird. Weitere Informationen zur Verarbeitung von Hardwarefehlern finden Sie unter Fehlerverarbeitung.

Wenn diese Funktion aufgerufen wird, geschieht Folgendes:

  1. Der IRQL wird in die IRQL-Instanz ausgelöst, an der der Low-Level-Hardwarefehlerhandler (LLHEH) für die Fehlerquelle ausgeführt wird.

  2. Der Zugriff auf den durch den SynchronizeContext-Parameter angegebenen Kontextbereich wird mit dem LLHEH synchronisiert, indem die zugeordnete Drehsperre abgerufen wird.

  3. Die im SynchronizeRoutine-Parameter angegebene Funktion wird aufgerufen.

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

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ntddk.h (include Ntddk.h)
Bibliothek Pshed.lib
DLL Pshed.dll
IRQL IRQL <= DIRQL

Weitere Informationen

WHEA_ERROR_SOURCE_DESCRIPTOR