共用方式為


附加篩選模組

若要起始將篩選模組插入驅動程式堆疊的程式,NDIS 會呼叫篩選驅動程式的 FilterAttach 函式。 在 FilterAttach 函式執行開始時,篩選模組會進入 附加 狀態。 如需將篩選模組附加至驅動程式堆疊的詳細資訊,請參閱 啟動驅動程式堆疊

篩選驅動程式會使用控制碼,NDIS 會在所有參考此篩選模組的未來NdisXxx函式呼叫中,傳遞FilterAttachNdisFilterHandle參數。 這類函式包括狀態指示、傳送要求、接收指示和 OID 要求。

當篩選模組處於 附加 狀態時,驅動程式:

  • 建立篩選模組的內容區域,並配置緩衝集區和其他篩選模組特定資源。 如需緩衝集區的詳細資訊,請參閱 篩選驅動程式緩衝區管理

  • 使用 NDIS 傳遞至FilterAttachNdisFilterHandle值,呼叫NdisFSetAttributes函式。 NdisFSetAttributesFilterModuleCoNtext參數會指定此篩選模組的篩選驅動程式內容區域。 NDIS 會將此內容區域傳遞至篩選驅動程式的 FilterXxx 函式。

  • 或者,從登錄讀取此篩選模組的組態參數。 如需詳細資訊,請參閱 存取篩選驅動程式的組態資訊

  • 如果上述作業成功完成,篩選模組會處於 [已暫停 ] 狀態。

  • 如果上述作業失敗,篩選驅動程式必須釋放它在 FilterAttach 函式中配置的任何資源,並將篩選模組傳回至 [中斷連結 ] 狀態。

  • 傳回NDIS_STATUS_SUCCESS或適當的失敗碼。 如果驅動程式傳回失敗碼,NDIS 會終止驅動程式堆疊。

注意 登錄可以包含旗標,指定篩選模組是選擇性的。 如果選擇性篩選模組未附加,NDIS 不會終止驅動程式堆疊的其餘部分。

篩選驅動程式無法發出傳送要求、指出已接收的資料、提出 OID 要求,或從 附加 狀態提出狀態指示。 執行中和暫停狀態支援傳送和接收作業。 暫停重新開機執行中和暫停狀態支援 OID 要求和狀態指示。

NDIS 會呼叫 FilterDetach 函式,卸離與 FilterAttach連結的 NDIS 篩選模組。 如需詳細資訊,請參閱 中斷連結篩選模組