Freigeben über


MINIPORT_REMOVE_DEVICE Rückruffunktion (ndis.h)

Die MiniportRemoveDevice--Funktion gibt Ressourcen frei, die vom MiniportAddDevice zugewiesenen Funktion freigegeben werden.

Hinweis Sie müssen die Funktion mithilfe des typs MINIPORT_REMOVE_DEVICE deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt "Beispiele".
 

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

Siehe auch

MiniportAddDevice

NDIS_MINIPORT_INIT_PARAMETERS

NDIS_MINIPORT_PNP_CHARACTERISTICS