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.
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 |
---|---|
|
FilterSetModuleOptions ha registrato correttamente i servizi e le risorse facoltativi del modulo di filtro. |
|
FilterSetModuleOptions non è stato possibile allocare le risorse necessarie per il modulo di filtro. |
|
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_CHARACTERISTICSPer 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
NDIS_FILTER_DRIVER_CHARACTERISTICS NDIS_FILTER_PARTIAL_CHARACTERISTICSCommenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per