HW_PASSIVE_INITIALIZE_ROUTINE Rückruffunktion (storport.h)

Die HwStorPassiveInitializeRoutine-Rückrufroutine wird nach der HwStorInitialize-Routine aufgerufen, wenn sich die aktuelle IRQL auf PASSIVE_LEVEL befindet. Der HwStorPassiveInitializeRoutine-Rückruf wird durch Aufrufen der StorPortEnablePassiveInitialization-Routine festgelegt. Die Initialisierung der verzögerten Prozeduraufrufe (DPCs) des Miniports erfolgt im HwStorPassiveInitializeRoutine-Rückruf .

Syntax

HW_PASSIVE_INITIALIZE_ROUTINE HwPassiveInitializeRoutine;

BOOLEAN HwPassiveInitializeRoutine(
  PVOID DeviceExtension
)
{...}

Parameter

DeviceExtension

Rückgabewert

Die HwStorPassiveInitializeRoutine-Routine gibt TRUE zurück, wenn der Miniport die Verarbeitung von DPCs erfolgreich initialisiert hat, oder FALSE , wenn der Initialisierungsprozess fehlgeschlagen ist.

Hinweise

Die HwStorPassiveInitializeRoutine-Routine sollte alle DPCs initialisieren, die vom Miniporttreiber verwendet werden. Der Porttreiber ruft HwStorPassiveInitializeRoutine bei PASSIVE_LEVEL ohne Spinsperren auf. Interrupts werden aktiviert, während diese Routine aufgerufen wird.

Der Name HwStorPassiveInitializeRoutine ist nur ein Platzhalter. Der eigentliche Prototyp für diese Rückrufroutine wird in Storport.h wie folgt definiert:

typedef
BOOLEAN
(*PHW_PASSIVE_INITIALIZE_ROUTINE) (
  _In_ PVOID DeviceExtension
  );

Der Porttreiber ruft die HwStorPassiveInitializeRoutine-Routine bei PASSIVE IRQL auf, ohne Spinsperren zu erhalten.

Beispiele

Um eine HwStorPassiveInitializeRoutine-Rückruffunktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der von Ihnen definierten Rückruffunktion angibt. 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 Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine HwStorPassiveInitializeRoutine-Rückrufroutine mit dem Namen MyHwPassiveInitialize zu definieren, verwenden Sie den typ HW_PASSIVE_INITIALIZE_ROUTINE , wie in diesem Codebeispiel gezeigt:

HW_PASSIVE_INITIALIZE_ROUTINE MyHwPassiveInitialize;

Implementieren Sie dann Ihre Rückrufroutine wie folgt:

_Use_decl_annotations_
BOOLEAN
MyHwPassiveInitialize (
  _In_ PVOID  DeviceExtension
  );
  {
      ...
  }

Der HW_PASSIVE_INITIALIZE_ROUTINE Funktionstyp ist in der Headerdatei Storport.h definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, fügen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzu. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den HW_PASSIVE_INITIALIZE_ROUTINE 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 Storport-Treiber. Informationen zu Use_decl_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header storport.h (einschließlich Storport.h)
IRQL PASSIVE_LEVEL (siehe Abschnitt Hinweise.)

Weitere Informationen

HwStorInitialize

StorPortEnablePassiveInitialization