Condividi tramite


Funzione NdisMAllocatePort (ndis.h)

La funzione NdisMAllocatePort alloca una porta NDIS associata a una scheda miniport.

Sintassi

NDIS_STATUS NdisMAllocatePort(
            NDIS_HANDLE                NdisMiniportHandle,
  [in, out] PNDIS_PORT_CHARACTERISTICS PortCharacteristics
);

Parametri

NdisMiniportHandle

Handle dell'adattatore miniport passato al parametro MiniportAdapterHandle del parametro funzione miniportInitializeEx.

[in, out] PortCharacteristics

Puntatore a un oggetto NDIS_PORT_CHARACTERISTICS struttura che definisce le caratteristiche della porta.

Valore restituito

NdisMAllocatePort può restituire uno dei valori seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
NDIS ha allocato correttamente le risorse per la porta.
NDIS_STATUS_RESOURCES
NDIS non è riuscito ad allocare risorse per la porta.
NDIS_STATUS_CLOSING
L'allocazione delle porte non è riuscita perché l'adattatore miniport associato è in corso di chiusura.
NDIS_STATUS_INVALID_DATA
I dati forniti nel parametro PortCharacteristics non sono validi.

Osservazioni

La funzione NdisMAllocatePort alloca risorse e un numero di porta per una porta associata a una scheda miniport. La porta non è attiva finché il driver miniport genera un evento NetEventPortActivation Plug and Play (PnP) per la porta.

Dopo che il driver miniport attiva la porta, NDIS genera una notifica PnP per i driver overlying. Se un driver o un'applicazione in modalità utente genera l'OID OID_GEN_ENUMERATE_PORTS per enumerare le porte di un adattatore miniport, NDIS non include porte allocate non attive nell'elenco delle porte.

Quando NdisMAllocatePort viene restituito correttamente, il membro PortNumber di NDIS_PORT_CHARACTERISTICS struttura specificata dal parametro PortCharacteristics viene impostata sul numero di porta assegnato da NDIS alla porta.

Dopo che una porta non è più necessaria, il driver miniport deve chiamare la funzione NdisMFreePort per liberare la porta.

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

Vedere anche

l'allocazione di una porta NDIS

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMFreePort

OID_GEN_ENUMERATE_PORTS