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) |