Freigeben über


KIPI_BROADCAST_WORKER Rückruffunktion (wdm.h)

Die IpiGenericCall Routine wird auf allen Prozessoren gleichzeitig 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 IpiGenericCallaufgerufen hat.

Rückgabewert

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

Bemerkungen

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üfungsrückrufroutinen. Weitere Informationen zu diesen Einschränkungen finden Sie unter Schreiben einer Fehlerüberprüfungsrückrufroutine.

Beispiele

Um eine IpiGenericCall Rückrufroutine zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der von Ihnen definierten Rückrufroutine identifiziert. Windows stellt eine Reihe von Rückruffunktionstypen für Treiber bereit. Durch das Deklarieren einer Funktion mithilfe der Rückruffunktionstypen können Codeanalyse für Treiber, statische Treiberüberprüfung (SDV) und andere Überprüfungstools Fehler finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine IpiGenericCall- Rückrufroutine zu definieren, die MyIpiGenericCallheißt, verwenden Sie den KIPI_BROADCAST_WORKER Typ, wie in diesem Codebeispiel gezeigt:

KIPI_BROADCAST_WORKER MyIpiGenericCall;

Implementieren Sie dann Ihre Rückrufroutine wie folgt:

_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 der Funktionsdefinition die _Use_decl_annotations_ Anmerkung hinzufügen. Die _Use_decl_annotations_ Anmerkung stellt sicher, dass die Anmerkungen, die auf den Funktionstyp KIPI_BROADCAST_WORKER in der Headerdatei angewendet werden, verwendet 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.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL- Wird bei IPI_LEVEL aufgerufen.

Siehe auch

KeIpiGenericCall