Condividi tramite


Funzione NdisMFreePort (ndis.h)

La funzione NdisMFreePort libera una porta NDIS allocata in precedenza con la funzione NdisMAllocatePort .

Sintassi

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

Parametri

NdisMiniportHandle

Handle dell'adattatore miniport passato al parametro MiniportAdapterHandle del parametro Funzione MiniportInitializeEx .

[in] PortNumber

Numero della porta NDIS che NDIS deve liberare. Il valore PortNumber è un valore NDIS_PORT_NUMBER, che ha un tipo di dati ULONG. NDIS ha fornito il numero di porta nel membro PortNumber dell'oggetto NDIS_PORT_CHARACTERISTICS struttura quando il driver miniport ha chiamato la funzione NdisMAllocatePort .

Il numero di porta può essere un numero compreso tra 1 e 0xffffff. Non è possibile impostare PortNumber su zero, che indica la porta predefinita.

Valore restituito

NdisMFreePort può restituire uno dei valori seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
NDIS ha liberato correttamente le risorse per la porta.
NDIS_STATUS_INVALID_PORT
NDIS non è riuscito a liberare le risorse per la porta perché il numero di porta non è valido.
NDIS_STATUS_INVALID_PORT_STATE
NDIS non è riuscito a liberare le risorse per la porta perché la porta era in uno stato in cui l'operazione gratuita non è valida. Per liberare la porta, la porta deve trovarsi nello stato allocato.
NDIS_STATUS_INVALID_DATA
Il numero di porta fornito nel parametro PortNumber non è valido.

Commenti

Se un driver miniport allocato una porta chiamando la funzione NdisMAllocatePort , il driver deve liberare la porta prima di restituire dalla funzione MiniportHaltEx . Se il driver miniport ha attivato la porta emettendo un evento NetEventPortActivation Plug and Play (PnP), il driver deve emettere un evento NetEventPortDeactivation PnP per la porta prima di liberare la porta.

Quando un driver miniport chiama NdisMFreePort per liberare una porta, NDIS libera anche il numero di porta assegnato alla porta liberata in modo che NDIS possa riutilizzare il numero di porta.

Il driver miniport non deve tentare di liberare la porta predefinita.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Universale
Intestazione ndis.h (includere Ndis.h)
Libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI Irql_Miniport_Driver_Function(ndis)

Vedi anche

Porta NDIS predefinita

Liberare una porta NDIS

MiniportHaltEx

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMAllocatePort