NdisMFreePort-Funktion (ndis.h)

Die NdisMFreePort-Funktion gibt einen NDIS-Port frei, der zuvor der NdisMAllocatePort-Funktion zugeordnet wurde.

Syntax

NDIS_STATUS NdisMFreePort(
       NDIS_HANDLE      NdisMiniportHandle,
  [in] NDIS_PORT_NUMBER PortNumber
);

Parameter

NdisMiniportHandle

Das Miniportadapterhandle, das NDIS an den MiniportAdapterHandle-Parameter des MiniportInitializeEx-Funktion .

[in] PortNumber

Die Nummer des NDIS-Ports, den NDIS freigeben soll. Der PortNumber-Wert ist ein NDIS_PORT_NUMBER-Wert, der über einen ULONG-Datentyp verfügt. NDIS hat die Portnummer im PortNumber-Element des NDIS_PORT_CHARACTERISTICS Struktur, wenn der Miniporttreiber die Funktion NdisMAllocatePort aufgerufen hat .

Die Portnummer kann eine Zahl von 1 bis 0xffffff sein. Sie können PortNumber nicht auf Null festlegen, was den Standardport angibt.

Rückgabewert

NdisMFreePort kann einen der folgenden Werte zurückgeben:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
NDIS hat die Ressourcen für den Port erfolgreich freigegeben.
NDIS_STATUS_INVALID_PORT
NDIS konnte die Ressourcen für den Port nicht freigeben, da die Portnummer ungültig war.
NDIS_STATUS_INVALID_PORT_STATE
NDIS konnte die Ressourcen für den Port nicht freigeben, da sich der Port in einem Zustand befand, in dem der freie Vorgang ungültig ist. Zum Freigeben des Ports muss sich der Port im zugewiesenen Zustand befinden.
NDIS_STATUS_INVALID_DATA
Die Portnummer, die am PortNumber-Parameter angegeben wurde, war ungültig.

Hinweise

Wenn ein Miniporttreiber einen Port zugewiesen hat, indem er die Funktion NdisMAllocatePort aufruft , muss der Treiber den Port freigeben, bevor er von seiner MiniportHaltEx-Funktion zurückgibt. Wenn der Miniporttreiber den Port aktiviert hat, indem er ein NetEventPortActivation-Plug & Play-Ereignis (PnP) ausgibt, muss der Treiber ein NetEventPortDeactivation-PnP-Ereignis für den Port ausstellen, bevor er den Port freigibt.

Wenn ein Miniporttreiber NdisMFreePort aufruft, um einen Port freizusetzen, gibt NDIS auch die Portnummer frei, die dem freigegebenen Port zugewiesen ist, sodass NDIS die Portnummer wiederverwenden kann.

Der Miniporttreiber darf nicht versuchen, den Standardport freizusetzen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Zielplattform Universell
Header ndis.h (einschließlich Ndis.h)
Bibliothek Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_Miniport_Driver_Function(ndis)

Weitere Informationen

Standard-NDIS-Port

Freigeben eines NDIS-Ports

MiniportHaltEx

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMAllocatePort