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 HwStorCompleteServiceIrpempfangen werden.
Syntax
HW_COMPLETE_SERVICE_IRP HwCompleteServiceIrp;
void HwCompleteServiceIrp(
PVOID DeviceExtension
)
{...}
Parameter
DeviceExtension
Ein Zeiger auf den Speicherbereich des virtuellen Miniporttreibers pro Adapter.
Rückgabewert
Nichts
Bemerkungen
Der Name HwStorCompleteServiceIrp ist Platzhaltertext für den tatsächlichen 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-des Storport Virtual Miniport-Treibers bei PASSIVE_LEVEL auf, ohne Drehsperren zu halten. Der virtuelle Miniporttreiber schließt das IRP durch Aufrufen der HwStorCompleteServiceIrp Routine ab.
Beispiele
Um eine HwStorCompleteServiceIrp- Rückruffunktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der rückruffunktion identifiziert, die Sie definieren. 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 HwStorCompleteServiceIrp Rückrufroutine zu definieren, die den Namen *&MyHwCompleteServiceIrphat, 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 wird in der Headerdatei Storport.h 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 HW_COMPLETE_SERVICE_IRP Funktionstyp 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 Storport-Treiber. Informationen zu Use_decl_annotationsfinden Sie unter Annotating Function Behavior.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | storport.h (include Storport.h) |