Funzione NdisMAllocatePort (ndis.h)

La funzione NdisMAllocatePort alloca una porta NDIS associata a un adattatore miniport.

Sintassi

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

Parametri

NdisMiniportHandle

Handle dell'adattatore miniport che NDIS passato al parametro MiniportAdapterHandle del 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 della porta non è riuscita perché l'adattatore miniport associato è chiuso.
NDIS_STATUS_INVALID_DATA
I dati forniti nel parametro PortCharacteristics non sono validi.

Commenti

La funzione NdisMAllocatePort alloca le risorse e un numero di porta per una porta associata a una scheda miniport. La porta non è attiva finché il driver miniport non rilascia 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'applicazione in modalità utente o driver eccessiva rilascia 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 dell'oggetto NDIS_PORT_CHARACTERISTICS struttura specificata dal parametro PortCharacteristics è impostata sul numero di porta assegnato dall'NDIS alla porta.

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

Requisiti

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

Vedi anche

Allocazione di una porta NDIS

MiniportInitializeEx

NDIS_PORT_CHARACTERISTICS

NdisMFreePort

OID_GEN_ENUMERATE_PORTS