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 a un'area di contesto fornita dal chiamante per questo provider di interfaccia di rete. Impostare questo parametro su NULL se non esiste 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 di interfaccia di rete. Il provider di interfacce 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
NDIS_STATUS_SUCCESS
Operazione riuscita.
NDIS_STATUS_RESOURCES
L'operazione non è riuscita a causa di risorse insufficienti.
NDIS_STATUS_INVALID_PARAMETER
NdisIfRegisterProvider non è riuscito a registrare il provider perché NDIS_IF_PROVIDER_CHARACTERISTICS struttura nel parametro ProviderCharacteristics contiene dati membri non validi.
NDIS_STATUS_NOT_SUPPORTED
NdisIfRegisterProvider non è riuscito a registrare il provider perché il membro Intestazione in NDIS_IF_PROVIDER_CHARACTERISTICS specifica una versione della struttura non supportata.

Commenti

I driver NDIS chiamano la funzione NdisIfRegisterProvider una volta durante l'inizializzazione per registrare come provider di interfaccia NDIS. Ad esempio, il driver può chiamare NdisIfRegisterProvider dalla routine DriverEntry . Un provider di interfacce è 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 nell'oggetto NDIS_IF_PROVIDER_CHARACTERISTICS struttura nel parametro ProviderCharacteristics di NdisIfRegisterProvider.

I provider di interfaccia NDIS chiamano la funzione NdisIfRegisterInterface per registrare un'interfaccia di rete. Un provider può registrare più interfacce.

Se NdisIfRegisterProvider riesce, restituisce un handle nella posizione a cui punta il parametro pNdisProviderHandle . Il provider di interfacce 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 del caricamento del driver.

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 quando il driver denominato NdisIfRegisterProvider.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Desktop
Intestazione ndis.h (includere Ndis.h)
Libreria Ndis.lib
IRQL PASSIVE_LEVEL
Regole di conformità DDI Irql_Interfaces_Function(ndis)

Vedi anche

DriverEntry

NDIS_IF_PROVIDER_CHARACTERISTICS

NdisIfDeregisterProvider

NdisIfRegisterInterface