Condividi tramite


Funzione NdisMRegisterMiniportDriver (ndis.h)

Un driver miniport chiama la funzione NdisMRegisterMiniportDriver per registrare MiniportXxx punti di ingresso 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 ricevuto dal driver miniport nella routine DriverEntry nel parametro Argument1 (vedere DriverEntry dei driver miniport NDIS).

[in] RegistryPath

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

[in, optional] MiniportDriverContext

Handle per un'area di contesto allocata dal driver in cui il driver mantiene 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 successive chiamate di funzione NdisXxx.

Valore restituito

NdisMRegisterMiniportDriver restituisce uno dei valori di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS

NdisMRegisterMiniportDriver 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
Il MajorNdisVersion o MinorNdisVersion specificato nella struttura delle caratteristiche non è valido.
NDIS_STATUS_RESOURCES
Una carenza di risorse, possibilmente di 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.

Osservazioni

Un driver NDIS chiama NdisMRegisterMiniportDriver dalla routine DriverEntry. Per altre informazioni, vedere DriverEntry dei driver miniport NDIS.

Ogni driver miniport esporta un set di funzioni di MiniportXxx impostando la struttura delle caratteristiche e chiamando NdisMRegisterMiniportDriver. NDIS copia la struttura delle caratteristiche nella risorsa di archiviazione interna NDIS. Pertanto, dopo la registrazione, un driver non può modificare il relativo MiniportXxx punti di ingresso.

Per registrare l'interfaccia miniport virtuale, i driver intermedi NDIS devono 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 registrarsi come driver miniport combinati e driver intermedi. 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 NdisMRegisterMiniportDriver, ma con il flag NDIS_INTERMEDIATE_DRIVER impostato nel parametro MiniportDriverCharacteristics.

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

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

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

Fabbisogno

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

Vedere anche

inizializzazione di un driver Miniport

DriverEntry

MiniportDriverUnload

MiniportInitializeEx

miniportSetOptions

NDIS_MINIPORT_DRIVER_CHARACTERISTICS NdisMDeregisterMiniportDriver