FILTER_SET_MODULE_OPTIONS回呼函式 (ndis.h)
FilterSetModuleOptions 函式會變更與指定篩選模組相關聯的選擇性服務集。
語法
FILTER_SET_MODULE_OPTIONS FilterSetModuleOptions;
NDIS_STATUS FilterSetModuleOptions(
[in] NDIS_HANDLE FilterModuleContext
)
{...}
參數
[in] FilterModuleContext
此要求目標之篩選模組的內容區域句柄。 篩選驅動程式已在 FilterAttach 函式中建立並初始化此內容區域。
傳回值
FilterSetModuleOptions 會傳回下列其中一個狀態值:
傳回碼 | Description |
---|---|
|
FilterSetModuleOptions 已成功註冊篩選模組的選擇性服務和資源。 |
|
FilterSetModuleOptions 無法配置篩選模組所需的資源。 |
|
篩選驅動程式嘗試註冊選項失敗。 這類錯誤狀態通常會從 NdisXxx 函式或核心模式支援例程傳播。 |
備註
如果已定義 FilterSetModuleOptions,NDIS 會先呼叫 FilterSetModuleOptions ,再呼叫 FilterRestart 函式來啟動篩選模組。
篩選驅動程式會指定傳遞給 NDIS_FILTER_DRIVER_CHARACTERISTICS 結構中可變更篩選模組選項的預設值 NdisFRegisterFilterDriver 函式在驅動程式初始化期間。
若要在運行時間變更特定篩選模組的選項,篩選驅動程式也必須在 中指定 FilterSetModuleOptions 的進入點 NDIS_FILTER_DRIVER_CHARACTERISTICS 結構。
若要指定應該變更的選項, FilterSetModuleOptions 會定義特性結構,並呼叫 NdisSetOptionalHandlers 函式。 篩選驅動程式不得從不同的線程呼叫 NdisSetOptionalHandlers 。
可從 FilterSetModuleOptions 指定的可能特性結構如下:
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如需最後四個結構的資訊,請參閱 NDIS 6.0 TCP chimney 卸除檔。
每個特性結構中指定的選項可以針對每個篩選模組不同。
當 NDIS 呼叫 FilterDetach 函式時,篩選驅動程式應該復原 FilterSetModuleOptions 中執行的所有作業。
NDIS 會在 IRQL = PASSIVE_LEVEL呼叫 FilterSetModuleOptions 。
例子
若要定義 FilterSetModuleOptions 函式,您必須先提供函式宣告,以識別您要定義的函式類型。 Windows 提供一組驅動程式的函式類型。 使用函式類型宣告函式有助於 驅動程式的程式代碼分析、 靜態驅動程序驗證器 (SDV) ,以及其他驗證工具會尋找錯誤,而且這是撰寫 Windows 操作系統驅動程式的需求。例如,若要定義名為 「 MySetModuleOptions」 的 FilterSetModuleOptions 函式,請使用 FILTER_SET_MODULE_OPTIONS 類型,如下列程式代碼範例所示:
FILTER_SET_MODULE_OPTIONS MySetModuleOptions;
然後,實作您的函式,如下所示:
_Use_decl_annotations_
NDIS_STATUS
MySetModuleOptions(
NDIS_HANDLE FilterModuleContext
)
{...}
FILTER_SET_MODULE_OPTIONS函式類型定義於 Ndis.h 頭檔中。 若要在執行程式代碼分析工具時更精確地識別錯誤,請務必將 Use_decl_annotations 註釋新增至函式定義。 Use_decl_annotations批注可確保使用頭檔中套用至FILTER_SET_MODULE_OPTIONS函式類型的批注。 如需函式宣告需求的詳細資訊,請參閱 使用 NDIS 驅動程式的函式角色類型來宣告函式。
如需 Use_decl_annotations的詳細資訊,請參閱 標註函式行為。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
目標平台 | Windows |
標頭 | ndis.h (包括 Ndis.h) |
IRQL | PASSIVE_LEVEL |
另請參閱
NDIS_FILTER_DRIVER_CHARACTERISTICS NDIS_FILTER_PARTIAL_CHARACTERISTICS意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應