Condividi tramite


Funzione NdisMRegisterMiniportDriver (ndis.h)

Un driver miniport chiama la funzione NdisMRegisterMiniportDriver per registrare i punti di ingresso MiniportXxx con NDIS come primo passaggio dell'inizializzazione.

Sintassi

NDIS_STATUS NdisMRegisterMiniportDriver(
  [in]           PDRIVER_OBJECT                        DriverObject,
  [in]           PUNICODE_STRING                       RegistryPath,
  [in, optional] NDIS_HANDLE                           MiniportDriverContext,
  [in]           PNDIS_MINIPORT_DRIVER_CHARACTERISTICS MiniportDriverCharacteristics,
  [out]          PNDIS_HANDLE                          NdisMiniportDriverHandle
);

Parametri

[in] DriverObject

Puntatore a un oggetto driver opaco che il driver miniport ha ricevuto nella routine DriverEntry nel parametro Argument1 (vedere DriverEntry of NDIS Miniport Drivers).

[in] RegistryPath

Puntatore a un percorso opaco del Registro di sistema ricevuto dal driver miniport nella routine DriverEntry al parametro Argument2 .

[in, optional] MiniportDriverContext

Handle in un'area di contesto allocata dal driver in cui il driver gestisce le informazioni sullo stato e sulla configurazione.

[in] MiniportDriverCharacteristics

Puntatore a un oggetto NDIS_MINIPORT_DRIVER_CHARACTERISTICS struttura inizializzata dal chiamante.

[out] NdisMiniportDriverHandle

Puntatore a una variabile handle fornita dal chiamante. NDIS scrive un handle in questa variabile che identifica in modo univoco questo driver. Il driver deve salvare questo handle per l'uso nelle chiamate di funzione NdisXxx successive.

Valore restituito

NdisMRegisterMiniportDriver restituisce uno dei valori di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS

NdisMRegisterMiniportDriver ha registrato correttamente il driver miniport.

NDIS_STATUS_BAD_CHARACTERISTICS
Il parametro CharacteristicsLength non è corretto per la versione NDIS specificata nel membro MajorNdisVersion nella struttura in MiniportDriverCharacteristics .
NDIS_STATUS_BAD_VERSION
La proprietà MajorNdisVersion o MinorNdisVersion specificata nella struttura delle caratteristiche non è valida.
NDIS_STATUS_RESOURCES
Una carenza di risorse, possibilmente memoria, ha impedito a NDIS di registrare il chiamante.
NDIS_STATUS_FAILURE
Si tratta di uno stato di errore predefinito, restituito quando nessuno degli errori precedenti ha causato l'esito negativo della registrazione.

Commenti

Un driver NDIS chiama NdisMRegisterMiniportDriver dalla routine DriverEntry . Per altre informazioni, vedere DriverEntry of NDIS Miniport Driver.

Ogni driver miniport esporta un set di funzioni MiniportXxx standard configurando la struttura delle caratteristiche e chiamando NdisMRegisterMiniportDriver. NDIS copia la struttura delle caratteristiche nell'archiviazione interna di NDIS. Pertanto, dopo aver registrato, un driver non può modificare i punti di ingresso MiniportXxx .

Per registrare l'interfaccia miniport virtuale, un driver intermedio NDIS deve chiamare NdisMRegisterMiniportDriver con il flag NDIS_INTERMEDIATE_DRIVER impostato nella struttura in MiniportDriverCharacteristics . I driver NDIS con un bordo inferiore WDM devono chiamare NdisMRegisterMiniportDriver con il flag NDIS_WDM_DRIVER impostato nella struttura in MiniportDriverCharacteristics .

I driver possono registrare come driver miniport combinato e driver intermedio. Per registrare il driver miniport fisico, un driver intermedio miniport chiama NdisMRegisterMiniportDriver con parametri appropriati come per qualsiasi driver miniport. Per registrare nuovamente l'interfaccia miniport virtuale, il driver chiama nuovamente NdisMRegisterMiniportDriver , ma con il flag NDIS_INTERMEDIATE_DRIVER impostato nel parametro MiniportDriverCharacteristics .

Per abilitare i driver miniport per registrare i servizi facoltativi, NDIS chiama la funzione MiniportSetOptions nel contesto di NdisMRegisterMiniportDriver.

Dopo che un driver chiama NdisMRegisterMiniportDriver, il driver deve essere richiamato nella funzione MiniportInitializeEx specificata nel parametro MiniportDriverCharacteristics qualsiasi volta che DriverEntry restituisce.

Se si verifica un errore in DriverEntry dopo che NdisMRegisterMiniportDriver restituisce correttamente, il driver deve chiamare il Funzione NdisMDeregisterMiniportDriver prima che DriverEntry restituisca. Se DriverEntry ha esito positivo, il driver deve chiamare NdisMDeregisterMiniportDriver dalla relativa funzione MiniportDriverUnload .

Requisiti

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

Vedi anche

Inizializzazione di un driver Miniport

DriverEntry

MiniportDriverUnload

MiniportInitializeEx

MiniportSetOptions

NDIS_MINIPORT_DRIVER_CHARACTERISTICS NdisMDeregisterMiniportDriver