Condividi tramite


Funzione NdisMCmRegisterAddressFamilyEx (ndis.h)

La funzione NdisMCmRegisterAddressFamilyEx registra una famiglia di indirizzi (AF) per la comunicazione tra un gestore di chiamate miniport (MCM) e i client CoNDIS.

Sintassi

NDIS_STATUS NdisMCmRegisterAddressFamilyEx(
  [in] NDIS_HANDLE        MiniportAdapterHandle,
  [in] PCO_ADDRESS_FAMILY AddressFamily
);

Parametri

[in] MiniportAdapterHandle

Handle fornito da NDIS che identifica un adattatore miniport. Questo handle è un parametro di input per il MCM funzione miniportInitializeEx.

[in] AddressFamily

Puntatore a una struttura CO_ADDRESS_FAMILY che identifica l'AF supportato dal driver MCM.

Il puntatore diventa un parametro di input per il ProtocolCoAfRegisterNotify funzioni di tutti i client CoNDIS associati a questo driver MCM.

Valore restituito

NdisMCmRegisterAddressFamilyEx può restituire uno dei seguenti elementi:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Il driver miniport registrato con NDIS come gestore di chiamate per l'af che il AddressFamily parametro specificato, quindi NDIS chiamerà il ProtocolCoAfRegisterNotify funzioni di tutti i client associati al driver MCM.
NDIS_STATUS_RESOURCES
L'operazione richiesta non è riuscita perché NDIS non è riuscito ad allocare memoria sufficiente o inizializzare le informazioni sullo stato usate per tenere traccia del driver MCM come gestore chiamate dell'af specificato.
NDIS_STATUS_FAILURE
NDIS non è riuscita la chiamata a NdisMCmRegisterAddressFamilyEx, probabilmente per uno dei motivi seguenti:
  • Il chiamante non è stato registrato come driver miniport orientato alla connessione.
  • Il chiamante ha tentato di registrare un af duplicato per un adattatore miniport specificato.

Osservazioni

MCMs NDIS, che si registrano come driver miniport NDIS chiamando il funzione NdisMRegisterMiniportDriver, deve chiamare la funzione NdisMCmRegisterAddressFamilyEx per registrare un AF. I responsabili delle chiamate autonomi devono invece chiamare il funzione NdisCmRegisterAddressFamilyEx.

Per registrare un AF per un adattatore miniport, mcm deve chiamare NdisMCmRegisterAddressFamilyEx dalla funzione MiniportInitializeEx.

Il driver di qualsiasi scheda di interfaccia di rete (NIC) con supporto per la segnalazione orientata alla connessione a bordo può registrarsi come driver MCM per migliorare le prestazioni nella gestione delle chiamate. Se un driver viene registrato come driver MCM, qualsiasi gestore chiamate autonomo con il supporto di gestione delle chiamate del driver NIC viene spostato.

Un driver MCM chiama NdisMCmRegisterAddressFamilyEx dopo aver determinato che una scheda di interfaccia di rete è completamente operativa e il driver può completare le operazioni di I/O di rete. Ovvero, tale MCM si registra come gestore chiamate e annuncia i suoi servizi di segnalazione specifici per i client CoNDIS.

Dopo MiniportInitializeEx restituisce il controllo con una registrazione corretta come gestore chiamate, NDIS chiama ProtocolBindAdapterEx funzioni di potenziali client e quindi ProtocolCoAfRegisterNotify funzioni di tutti i client che si associano all'adattatore miniport MCM associato. Questi client determinano quindi che NDIS chiami la funzione ProtocolCmOpenAf di MCM.

Un MCM può supportare più afte per una singola scheda di interfaccia di rete gestita. Il driver MCM deve chiamare NdisMCmRegisterAddressFamilyEx una volta per ogni AF registrato per un adattatore miniport. Solo un driver MCM può supportare un particolare tipo di AF per i client associati a una determinata scheda miniport.

Fabbisogno

Requisito Valore
client minimo supportato Supportato in NDIS 6.0 e versioni successive.
piattaforma di destinazione Desktop
intestazione ndis.h (include Ndis.h)
libreria Ndis.lib
IRQL PASSIVE_LEVEL
regole di conformità DDI Irql_MCM_Function(ndis)

Vedere anche

CO_ADDRESS_FAMILY

MiniportInitializeEx

NdisCmRegisterAddressFamilyEx

NdisMRegisterMiniportDriver

ProtocolBindAdapterEx

ProtocolCmOpenAf

ProtocolCoAfRegisterNotify

ProtocolCoCreateVc

ProtocolCoDeleteVc

ProtocolCoOidRequest

ProtocolCoOidRequestComplete