HW_COMPLETE_SERVICE_IRP Rückruffunktion (storport.h)

Die HwStorCompleteServiceIrp-Routine wird aufgerufen, wenn der virtuelle Adapter entfernt wird. In diesem Fall kann der virtuelle Storport-Miniport alle Reverse-Callback-IRPs abschließen, die in HwStorCompleteServiceIrp empfangen wurden.

Syntax

HW_COMPLETE_SERVICE_IRP HwCompleteServiceIrp;

void HwCompleteServiceIrp(
  PVOID DeviceExtension
)
{...}

Parameter

DeviceExtension

Ein Zeiger auf den Speicherbereich des virtuellen Miniporttreibers pro Adapter.

Rückgabewert

Keine

Bemerkungen

Der Name HwStorCompleteServiceIrp ist Platzhaltertext für den eigentlichen Routinenamen. Der eigentliche Prototyp dieser Routine wird in Storport.h wie folgt definiert:

typedef
VOID
HW_COMPLETE_SERVICE_IRP (
  _In_ PVOID  DeviceExtension
  );

Der Porttreiber ruft die HwStorCompleteServiceIrp-Routinedes virtuellen Storport-Treibers auf PASSIVE_LEVEL ohne Drehsperren. Der virtuelle Miniporttreiber schließt die IRP ab, indem er die HwStorCompleteServiceIrp-Routine aufruft.

Beispiele

Um eine HwStorCompleteServiceIrp-Rückruffunktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der von Ihnen definierten Rückruffunktion identifiziert. 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 HwStorCompleteServiceIrp-Rückrufroutine mit dem Namen *&MyHwCompleteServiceIrp zu definieren, verwenden Sie den HW_COMPLETE_SERVICE_IRP-Typ , wie in diesem Codebeispiel gezeigt:

HW_COMPLETE_SERVICE_IRP MyHwCompleteServiceIrp;

Implementieren Sie dann Ihre Rückrufroutine wie folgt:

_Use_decl_annotations_
VOID
MyHwCompleteServiceIrp (
  _In_ PVOID  DeviceExtension
  );
  {
      ...
  }

Der HW_COMPLETE_SERVICE_IRP 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_COMPLETE_SERVICE_IRP 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)

Weitere Informationen

HwStorProcessServiceRequest

StorPortCompleteServiceIrp