NDIS_FILTER_INTERFACE 構造体 (ndis.h)
NDIS_FILTER_INTERFACE構造体は、NDIS フィルターの属性を定義します。
構文
typedef struct _NDIS_FILTER_INTERFACE {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG FilterType;
ULONG FilterRunType;
NET_IFINDEX IfIndex;
NET_LUID NetLuid;
NDIS_STRING FilterClass;
NDIS_STRING FilterInstanceName;
} NDIS_FILTER_INTERFACE, *PNDIS_FILTER_INTERFACE;
メンバー
Header
フィルター インターフェイス構造体の NDIS_OBJECT_HEADER 構造体。
NDIS は、ヘッダーがNDIS_OBJECT_TYPE_DEFAULTに指定する構造体の Type メンバーを設定します。
NdisEnumerateFilterModules に渡されるハンドルが NDIS 6.30 以降のオブジェクトに属している場合、NDIS は Revision を NDIS_FILTER_INTERFACE_REVISION_2 に、Size を NDIS_SIZEOF_FILTER_INTERFACE_REVISION_2 に設定します。
NdisEnumerateFilterModules に渡されるハンドルが NDIS 6.20 以前のオブジェクトに属している場合、NDIS はリビジョンを NDIS_FILTER_INTERFACE_REVISION_1 に、サイズを NDIS_SIZEOF_FILTER_INTERFACE_REVISION_1 に設定します。
Flags
フィルターを実装する NDIS ドライバーの種類を定義するビット フィールド。 このメンバーは、次のいずれかのドライバーの種類に設定する必要があります。
NDIS_FILTER_INTERFACE_IM_FILTER
フィルターは、NDIS 5.1 以前のフィルター中間ドライバーに実装されています。
NDIS_FILTER_INTERFACE_LW_FILTER
フィルターは、NDIS 6.0 以降のフィルター ドライバーに実装されます。
NDIS_FILTER_INTERFACE_SEND_BYPASS
現在、フィルターは送信パスにアタッチされていません。 このフラグは、 Header.Revision が NDIS_FILTER_INTERFACE_REVISION_2 以上の場合にのみ設定されます。
NDIS_FILTER_INTERFACE_RECEIVE_BYPASS
現在、フィルターは受信パスにアタッチされていません。 このフラグは、 Header.Revision が NDIS_FILTER_INTERFACE_REVISION_2 以上の場合にのみ設定されます。
FilterType
フィルターの動作の種類。 この型は、次のいずれかの値である必要があります。
NdisFilterTypeMonitoring = 1
監視フィルター。
NdisFilterTypeModifying = 2
変更フィルター。
FilterRunType
フィルターのランタイム添付ファイルの優先度の種類。 この型は、次のいずれかの値である必要があります。
NdisFilterRunTypeMandatory = 1
必須のフィルター。 フィルターがドライバー スタックに接続されていない場合、NDIS はスタックの残りの部分を破棄します。
NdisFilterRunTypeOptional = 2
省略可能なフィルター。 フィルターがドライバー スタックに接続されていない場合、NDIS はスタックの残りの部分を破棄しません。
IfIndex
フィルター モジュールの NDIS インターフェイス インデックス。
NetLuid
フィルター モジュールに割り当てられる NET_LUID 値。 NET_LUIDはインターフェイス名 (RFC 2863 の ifName) と同じです。
FilterClass
フィルター クラスを指定する UNICODE 文字列。 この文字列は、 FilterClass INF ファイル エントリと同じです。
FilterInstanceName
フィルター インスタンス名。
注釈
次に、 NdisEnumerateFilterModules 関数は、 ドライバー スタック内のフィルターごとに 1 つのNDIS_FILTER_INTERFACE構造体を返します。 Flags メンバーは、NDIS 5.1 以前のフィルター中間ドライバーまたは NDIS 6.0 以降の NDIS フィルター モジュールとしてフィルターを識別します。
軽量フィルターは、NdisFRestartFilter を呼び出し、NdisSetOptionalHandlers にNDIS_FILTER_PARTIAL_CHARACTERISTICS構造体を提供することで、送信パスまたは受信パスに動的に挿入または削除できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
Header | ndis.h (Ndis.h を含む) |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示