Funzione NdisFRegisterFilterDriver (ndis.h)

Un driver di filtro chiama la funzione NdisFRegisterFilterDriver per registrare le funzioni FilterXxx con NDIS.

Sintassi

NDIS_STATUS NdisFRegisterFilterDriver(
  [in]  PDRIVER_OBJECT                      DriverObject,
  [in]  NDIS_HANDLE                         FilterDriverContext,
        PNDIS_FILTER_DRIVER_CHARACTERISTICS FilterDriverCharacteristics,
  [out] PNDIS_HANDLE                        NdisFilterDriverHandle
);

Parametri

[in] DriverObject

Puntatore a un oggetto driver opaco che il driver di filtro ha ricevuto nella routine DriverEntry al parametro Argument1 . Per altre informazioni, vedere DriverEntry of NDIS Filter Drivers(DriverEntry of NDIS Filter Drivers).

[in] FilterDriverContext

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

FilterDriverCharacteristics

Puntatore a una struttura NDIS_FILTER_DRIVER_CHARACTERISTICS creata e inizializzata dal driver di filtro con i punti di ingresso della funzione FilterXxx .

[out] NdisFilterDriverHandle

Puntatore a una variabile handle. Se la chiamata a NdisFRegisterFilterDriver ha esito positivo, NDIS riempie questa variabile con un handle del driver di filtro. Il driver di filtro salva questo handle e in seguito passa questo handle alle funzioni NDIS, ad esempio NdisFDeregisterFilterDriver, che richiedono un handle del driver di filtro come parametro di input.

Valore restituito

NdisFRegisterFilterDriver restituisce uno dei valori di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS

NdisFRegisterFilterDriver restituisce NDIS_STATUS_SUCCESS se ha registrato il driver di filtro.

NDIS_STATUS_BAD_VERSION
La versione specificata nel membro MajorNdisVersion della struttura in FilterCharacteristics non è valida.
NDIS_STATUS_BAD_CHARACTERISTICS
Almeno uno dei membri specificati in NDIS_FILTER_DRIVER_CHARACTERISTICS non è valido.
NDIS_STATUS_INVALID_PARAMETER
Almeno uno dei parametri di input passati al driver passato a NdisFRegisterFilterDriver non è valido.
NDIS_STATUS_RESOURCES

NdisFRegisterFilterDriver non è riuscito a causa di risorse insufficienti.

NDIS_STATUS_FAILURE

NdisFRegisterFilterDriver restituisce NDIS_STATUS_FAILURE se nessuno dei valori precedenti si applica.

Commenti

Un driver di filtro chiama la funzione NdisFRegisterFilterDriver dalla routine DriverEntry . Per altre informazioni su DriverEntry, vedere DriverEntry dei driver di filtro NDIS.

I driver che chiamano NdisFRegisterFilterDriver devono essere preparati per una chiamata immediata a una qualsiasi delle funzioni FilterXxx . Per altre informazioni, vedere Inizializzazione di un driver di filtro.

Ogni driver di filtro esporta un set di funzioni FilterXxx configurando la struttura NDIS_FILTER_DRIVER_CHARACTERISTICS e chiamando NdisFRegisterFilterDriver. NDIS copia questa struttura nell'archiviazione interna della libreria NDIS.

Per consentire ai driver di filtro di registrare i servizi facoltativi, NDIS chiama la funzione FilterSetOptions nel contesto di NdisFRegisterFilterDriver.

Dopo la registrazione, un driver di filtro può in seguito chiamare la funzione NdisSetOptionalHandlers per modificare i punti di ingresso per le funzioni FilterXxx facoltative.

I driver di filtro chiamano la funzione NdisFDeregisterFilterDriver per rilasciare le risorse assegnate in precedenza con NdisFRegisterFilterDriver.

Requisiti

   
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_Filter_Driver_Function(ndis), NdisFDeregisterFilterDriver(ndis)

Vedi anche

DriverEntry dei driver di filtro NDIS

FilterAttach

Inizializzazione di un driver di filtro

NDIS_FILTER_DRIVER_CHARACTERISTICS

NdisFDeregisterFilterDriver

NdisSetOptionalHandlers