KIPI_BROADCAST_WORKER Rückruffunktion (wdm.h)

Die IpiGenericCall-Routine wird gleichzeitig auf allen Prozessoren ausgeführt.

Syntax

KIPI_BROADCAST_WORKER KipiBroadcastWorker;

ULONG_PTR KipiBroadcastWorker(
  [in] ULONG_PTR Argument
)
{...}

Parameter

[in] Argument

Stellt den Wert bereit, der an die KeIpiGenericCall-Routine übergeben wurde, die IpiGenericCall genannt wurde.

Rückgabewert

IpiGenericCall gibt einen treiberspezifischen Wert zurück. Wenn IpiGenericCall auf demselben Prozessor ausgeführt wurde, der KeIpiGenericCall aufgerufen hat, gibt KeIpiGenericCall den treiberdefinierte Wert zurück, den IpiGenericCall zurückgibt. Andernfalls wird der Wert ignoriert.

Hinweise

IpiGenericCall-Routinen werden bei IRQL = IPI_LEVEL ausgeführt, was größer als DIRQL für jedes Gerät ist. IpiGenericCall-Routinen müssen dieselben Einschränkungen erfüllen wie Fehlerüberprüfungsroutine. Weitere Informationen zu diesen Einschränkungen finden Sie unter Schreiben einer Fehlerüberprüfungsroutine.

Beispiele

Um eine IpiGenericCall-Rückrufroutine zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der Rückrufroutine identifiziert, die Sie definieren. Windows stellt einen Satz von Rückruffunktionstypen für Treiber bereit. Das Deklarieren einer Funktion mithilfe der Rückruffunktionstypen hilft bei der Codeanalyse für Treiber, statischer Treiberüberprüfung (SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Anforderung für das Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine IpiGenericCall-Rückrufroutine zu definieren, die benannt MyIpiGenericCallwird, verwenden Sie den KIPI_BROADCAST_WORKER-Typ wie in diesem Codebeispiel dargestellt:

KIPI_BROADCAST_WORKER MyIpiGenericCall;

Implementieren Sie dann wie folgt Ihre Rückrufroutine:

_Use_decl_annotations_
ULONG_PTR
  MyIpiGenericCall(
    ULONG_PTR  Argument
    )
  {
      // Function body
  }

Der KIPI_BROADCAST_WORKER Funktionstyp wird in der Wdm.h-Headerdatei definiert. Um Fehler genauer zu identifizieren, wenn Sie die Codeanalysetools ausführen, müssen Sie die Use_decl_annotations Anmerkungen zu Ihrer Funktionsdefinition hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen, die auf den KIPI_BROADCAST_WORKER Funktionstyp in der Kopfzeilendatei angewendet werden, angewendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für WDM-Treiber. Informationen zu Use_decl_annotations finden Sie unter Annotating Function Behavior.

Requirements (Anforderungen)

   
Zielplattform Desktop
Header wdm.h (enthalten Wdm.h, Ntddk.h, Ntifs.h)
IRQL Aufgerufen bei IPI_LEVEL.

Weitere Informationen

KeIpiGenericCall