Funzione NdisIfRegisterProvider (ndis.h)
La funzione NdisIfRegisterProvider registra un provider di interfaccia di rete NDIS.
Sintassi
NDIS_STATUS NdisIfRegisterProvider(
[in] PNDIS_IF_PROVIDER_CHARACTERISTICS ProviderCharacteristics,
[in] NDIS_HANDLE IfProviderContext,
PNDIS_HANDLE pNdisIfProviderHandle
);
Parametri
[in] ProviderCharacteristics
Puntatore a un chiamante fornito NDIS_IF_PROVIDER_CHARACTERISTICS struttura. Questa struttura definisce le caratteristiche del provider, inclusi i punti di ingresso per le funzioni di callback del provider.
[in] IfProviderContext
Handle per un'area di contesto fornita dal chiamante per questo provider di interfaccia di rete. Impostare questo parametro su NULL se non è presente alcuna area di contesto.
pNdisIfProviderHandle
Puntatore a una variabile di handle fornita dal chiamante. Se l'operazione di registrazione ha esito positivo, NDIS scrive un handle in questa variabile che identifica il provider dell'interfaccia di rete. Il provider di interfaccia deve conservare questo handle per l'uso nelle chiamate successive che richiedono un handle del provider di interfaccia.
Valore restituito
NdisIfRegisterProvider restituisce uno dei valori di stato seguenti:
Codice restituito | Descrizione |
---|---|
|
Operazione completata correttamente. |
|
L'operazione non è riuscita a causa di risorse insufficienti. |
|
NdisIfRegisterProvider non è riuscito a registrare il provider perché NDIS_IF_PROVIDER_CHARACTERISTICS struttura nel parametro ProviderCharacteristics contiene dati del membro non validi. |
|
NdisIfRegisterProvider non è riuscito a registrare il provider perché il membro header in NDIS_IF_PROVIDER_CHARACTERISTICS specifica una versione della struttura non supportata. |
Osservazioni
I driver NDIS chiamano la funzione NdisIfRegisterProvider una volta durante l'inizializzazione per la registrazione come provider di interfaccia NDIS. Ad esempio, il driver può chiamare NdisIfRegisterProvider dalla routine DriverEntry. Un provider di interfaccia è un componente software che gestisce le interfacce di rete per supportare MIB ( RFC 2863).
Per gestire le richieste OID del provider di interfacce, i provider di interfacce forniscono punti di ingresso per le funzioni di callback in NDIS_IF_PROVIDER_CHARACTERISTICS struttura nel parametro providerCharacteristics di NdisIfRegisterProvider.
I provider di interfacce NDIS chiamano la funzione NdisIfRegisterInterface per registrare un'interfaccia di rete. Un provider può registrare più interfacce.
Se NdisIfRegisterProvider ha esito positivo, restituisce un handle nella posizione a cui punta il parametro pNdisProviderHandle. Il provider di interfaccia deve conservare questo handle per l'uso nelle chiamate successive che richiedono un handle del provider di interfaccia. Ad esempio, un driver deve chiamare NdisIfDeregisterProvider prima che il driver venga scaricato.
Un componente che non è più un provider di interfaccia può chiamare la funzione NdisIfDeregisterProvider in qualsiasi momento per rilasciare le risorse del provider di interfaccia allocate NDIS quando il driver chiamato NdisIfRegisterProvider.