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

Gibt den Wert an, der an die KeIpiGenericCall-Routine übergeben wurde, die IpiGenericCall aufgerufen hat.

Rückgabewert

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

Hinweise

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

Beispiele

Um eine IpiGenericCall-Rückrufroutine zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der Rückrufroutine identifiziert, die Sie definieren. Windows bietet eine Reihe von Rückruffunktionstypen für Treiber. Das Deklarieren einer Funktion mithilfe der Rückruffunktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Voraussetzung für das Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine IpiGenericCall-Rückrufroutine mit dem Namen MyIpiGenericCallzu definieren, verwenden Sie den typ KIPI_BROADCAST_WORKER, 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 ist in der Wdm.h-Headerdatei definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, fügen Sie die _Use_decl_annotations_ Anmerkung ihrer Funktionsdefinition hinzu. Die _Use_decl_annotations_ Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den KIPI_BROADCAST_WORKER Funktionstyp in der Headerdatei 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 Verhalten von Funktionen mit Anmerkungen.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
IRQL Wird bei IPI_LEVEL aufgerufen.

Weitere Informationen

KeIpiGenericCall