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 del 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 essere nello stato allocato.
NDIS_STATUS_INVALID_DATA
Il numero di porta fornito nel parametro PortNumber non è valido.

Osservazioni

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

Quando un driver miniport chiama NdisMFreePort 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.

Fabbisogno

Requisito Valore
client minimo supportato Supportato in NDIS 6.0 e versioni successive.
piattaforma di destinazione Universale
intestazione ndis.h (include Ndis.h)
libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
regole di conformità DDI Irql_Miniport_Driver_Function(ndis)

Vedere anche

porta NDIS predefinita

liberare una porta NDIS

MiniportHaltEx

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMAllocatePort