MINIPORT_REMOVE_DEVICE Rückruffunktion (ndis.h)
Die MiniportRemoveDevice--Funktion gibt Ressourcen frei, die vom MiniportAddDevice zugewiesenen Funktion freigegeben werden.
Syntax
MINIPORT_REMOVE_DEVICE MiniportRemoveDevice;
void MiniportRemoveDevice(
[in] NDIS_HANDLE MiniportAddDeviceContext
)
{...}
Parameter
[in] MiniportAddDeviceContext
Ein Handle für einen vom Treiber zugewiesenen Kontextbereich, den der Miniporttreiber bei NDIS im MiniportAddDevice--Funktion registriert hat.
Rückgabewert
Nichts
Bemerkungen
Die MiniportRemoveDevice Funktion ist eine optionale Funktion. Miniporttreiber, die MSI-X unterstützen, sollten einen Einstiegspunkt für diese Funktion in der NDIS_MINIPORT_PNP_CHARACTERISTICS Struktur.
Wenn NDIS eine Anforderung vom Plug and Play-Manager (PnP) empfängt, um ein Gerät zu entfernen, ruft NDIS die MiniportRemoveDevice--Funktion auf. MiniportRemoveDevice- sollte dann die Vorgänge rückgängigmachen, die vom MiniportAddDevice Ausgeführt wurden.
Miniportadapter werden möglicherweise mehrmals angehalten und initialisiert, bevor NDIS MiniportRemoveDeviceaufruft. Wenn NDIS MiniportAddDevice aufgerufen und NDIS_STATUS_SUCCESS zurückgegeben wurde, ruft NDIS MiniportAddDevice- für denselben Miniportadapter nicht auf, bevor MiniportRemoveDevice für diesen Adapter aufgerufen wird.
NDIS ruft MiniportRemoveDevice bei IRQL = PASSIVE_LEVEL auf.
beispiele für
Um eine MiniportRemoveDevice--Funktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der Funktion identifiziert, die Sie definieren. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. Durch das Deklarieren einer Funktion mithilfe der Funktionstypen 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 MiniportRemoveDevice--Funktion zu definieren, die den Namen "MyRemoveDevice" hat, verwenden Sie den MINIPORT_REMOVE_DEVICE Typ wie in diesem Codebeispiel gezeigt:
MINIPORT_REMOVE_DEVICE MyRemoveDevice;
Implementieren Sie dann Ihre Funktion wie folgt:
_Use_decl_annotations_
VOID
MyRemoveDevice(
NDIS_HANDLE MiniportAddDeviceContext
)
{...}
Der MINIPORT_REMOVE_DEVICE Funktionstyp wird in der Ndis.h-Headerdatei 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 Funktionstyp MINIPORT_REMOVE_DEVICE 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 NDIS-Treiber.
Informationen zu Use_decl_annotationsfinden Sie unter Annotating Function Behavior.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Zielplattform- | Fenster |
Header- | ndis.h (include Ndis.h) |
IRQL- | PASSIVE_LEVEL |