Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per allocare una porta NDIS per una scheda miniport, un driver miniport chiama la funzione NdisMAllocatePort. NdisMAllocatePort è sincrono e restituisce dopo che NDIS ha allocato correttamente le risorse necessarie per la porta.
Prima che il driver miniport chiami NdisMAllocatePort, il driver deve chiamare la funzione NdisMSetMiniportAttributes per impostare gli attributi nella struttura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES. I driver Miniport possono chiamare NdisMAllocatePort per un adattatore miniport dopo che la chiamata a NdisMSetMiniportAttributes viene restituita con successo e prima che NDIS chiami la funzione MiniportHaltEx per quell'adattatore miniport.
NDIS alloca sempre la porta predefinita (porta zero), quindi i driver miniport non devono allocare una porta predefinita. NDIS libera la porta predefinita dopo che il driver miniport restituisce il modulo MiniportHaltEx.
NDIS assegna un numero di porta a una porta quando il driver miniport chiama NdisMAllocatePort. Il driver specifica le caratteristiche della porta nella struttura NDIS_PORT_CHARACTERISTICS prima che il driver chiami NdisMAllocatePort. Quando la funzione NdisMAllocatePort restituisce con successo, il membro PortNumber di NDIS_PORT_CHARACTERISTICS che il parametro PortCharacteristics specifica è impostato sul numero di porta che NDIS ha assegnato alla porta.
Prima di tornare da MiniportHaltEx, un driver miniport deve chiamare la funzione NdisMFreePort per liberare tutte le porte associate a una scheda miniport. Se l'inizializzazione di un adattatore miniport non riesce, il driver deve chiamare NdisMFreePort per liberare tutte le porte che il driver ha allocato prima che restituisca il controllo dalla funzione MiniportInitializeEx. Per altre informazioni sulla liberazione delle porte NDIS, vedere Liberare porte NDIS.
Il numero massimo di porte che un driver miniport può allocare è 0xffffff. Tuttavia, in pratica, i driver impostano un numero massimo basato sul tipo di porta e sui requisiti dell'applicazione driver. Ad esempio, per un'applicazione bridge, è improbabile che il numero di porte superi 16. Il numero di porte sarebbe superiore per i punti di accesso che usano porte supplicanti 802.1x e significativamente più elevate per i driver WAN che usano porte VPN (Virtual Private Network).
Dopo che un driver miniport alloca una porta, la porta è nello stato allocato e la porta non è attiva. Non è possibile usare una porta per inviare e ricevere dati, avviare un'indicazione di stato, inviare una richiesta OID o avviare un evento Plug and Play (PnP), fino all'attivazione della porta. NDIS attiva automaticamente la porta predefinita dopo che il driver miniport imposta gli attributi di registrazione in una struttura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES. Per richiedere che NDIS non attivi la porta predefinita, un driver miniport può impostare il flag NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT nel membro AttributeFlags di NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES.
NDIS passa lo stato di autenticazione della porta predefinita alla funzione MiniportInitializeEx al membro DefaultPortAuthStates della struttura NDIS_MINIPORT_INIT_PARAMETERS. Se un driver miniport controlla la porta predefinita, quando il driver miniport attiva la porta predefinita, può attivare la porta predefinita usando le impostazioni di autenticazione predefinite. Per altre informazioni sull'attivazione della porta predefinita, vedere Attivazione delle porte NDIS.
I driver Miniport possono utilizzare il flag NDIS_PORT_CHAR_USE_DEFAULT_AUTH_SETTINGS nel Flags membro della struttura NDIS_PORT_CHARACTERISTICS per le porte che i driver allocano e attivano. Per il caso di allocazione, NDIS assegna gli stati di autenticazione predefiniti alle nuove porte e ignora gli stati di autenticazione passati alla funzione NdisMAllocatePort.
Per altre informazioni sugli Stati delle Porte NDIS, vedere Stati delle Porte NDIS. Per altre informazioni sull'attivazione delle porte, vedere Attivazione delle porte NDIS.