FILTER_SET_MODULE_OPTIONS funzione di callback (ndis.h)

La funzione FilterSetModuleOptions modifica il set di servizi facoltativi associati a un modulo di filtro specificato.

Nota È necessario dichiarare la funzione usando il tipo di FILTER_SET_MODULE_OPTIONS . Per altre informazioni, vedere la sezione Esempi seguenti.
 

Sintassi

FILTER_SET_MODULE_OPTIONS FilterSetModuleOptions;

NDIS_STATUS FilterSetModuleOptions(
  [in] NDIS_HANDLE FilterModuleContext
)
{...}

Parametri

[in] FilterModuleContext

Handle per l'area di contesto per il modulo di filtro di destinazione di questa richiesta. Il driver di filtro creato e inizializzato questa area di contesto nella funzione FilterAttach .

Valore restituito

FilterSetModuleOptions restituisce uno dei valori di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
FilterSetModuleOptions ha registrato correttamente i servizi e le risorse facoltativi del modulo di filtro.
NDIS_STATUS_RESOURCES
FilterSetModuleOptions non è stato possibile allocare le risorse necessarie per il modulo di filtro.
NDIS_STATUS_ XXX o NTSTATUS_ XXX
Il tentativo del driver di filtro di registrare le opzioni non è riuscito. In genere, tale stato di errore viene propagato da una funzione NdisXxx o da una routine di supporto in modalità kernel.

Commenti

Se FilterSetModuleOptions è definito, NDIS chiama FilterSetModuleOptions prima di chiamare la funzione FilterRestart per avviare il modulo di filtro.

Un driver di filtro specifica i valori predefiniti per le opzioni del modulo filtro modificabili nella struttura NDIS_FILTER_DRIVER_CHARACTERISTICS che passa all'oggetto Funzione NdisFRegisterFilterDriver durante l'inizializzazione del driver.

Per modificare le opzioni per un modulo di filtro specifico in fase di esecuzione, il driver di filtro deve specificare anche un punto di ingresso per FilterSetModuleOptions nell'oggetto NDIS_FILTER_DRIVER_CHARACTERISTICS struttura.

Per specificare le opzioni che devono essere modificate, FilterSetModuleOptions definisce una struttura di caratteristiche e chiama la funzione NdisSetOptionalHandlers . I driver di filtro non devono chiamare NdisSetOptionalHandlers da un thread diverso.

Le possibili strutture di caratteristiche che possono essere specificate da FilterSetModuleOptions sono:

NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Per informazioni sulle ultime quattro strutture, vedere la documentazione relativa all'offload del camino TCP NDIS 6.0.

Le opzioni specificate in ogni struttura delle caratteristiche possono essere diverse per ogni modulo di filtro.

Quando NDIS chiama la funzione FilterDetach , il driver di filtro deve annullare tutte le operazioni eseguite in FilterSetModuleOptions.

NDIS chiama FilterSetModuleOptions in IRQL = PASSIVE_LEVEL.

Esempi

Per definire una funzione FilterSetModuleOptions , è prima necessario fornire una dichiarazione di funzione che identifica il tipo di funzione che si sta definendo. Windows fornisce un set di tipi di funzione per i driver. La dichiarazione di una funzione usando i tipi di funzione consente l'analisi del codice per i driver, il verifica driver statico (SDV) e altri strumenti di verifica trovano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.

Ad esempio, per definire una funzione FilterSetModuleOptions denominata "MySetModuleOptions", usare il tipo di FILTER_SET_MODULE_OPTIONS come illustrato in questo esempio di codice:

FILTER_SET_MODULE_OPTIONS MySetModuleOptions;

Implementare quindi la funzione come indicato di seguito:

_Use_decl_annotations_
NDIS_STATUS
 MySetModuleOptions(
    NDIS_HANDLE  FilterModuleContext
    )
  {...}

Il tipo di funzione FILTER_SET_MODULE_OPTIONS è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori durante l'esecuzione degli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations garantisce che vengano usate le annotazioni applicate al tipo di funzione FILTER_SET_MODULE_OPTIONS nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo per i driver NDIS.

Per informazioni su Use_decl_annotations, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Windows
Intestazione ndis.h (includere Ndis.h)
IRQL PASSIVE_LEVEL

Vedi anche

FilterRestart

NDIS_FILTER_DRIVER_CHARACTERISTICS NDIS_FILTER_PARTIAL_CHARACTERISTICS

NdisFRegisterFilterDriver

NdisSetOptionalHandlers