FWPS_FILTER1 構造体 (fwpstypes.h)
FWPS_FILTER1構造体は、フィルター エンジンの実行時フィルターを定義します。 FWPS_FILTER0 を使用できます。
構文
typedef struct FWPS_FILTER1_ {
UINT64 filterId;
FWP_VALUE0 weight;
UINT16 subLayerWeight;
UINT16 flags;
UINT32 numFilterConditions;
FWPS_FILTER_CONDITION0 *filterCondition;
FWPS_ACTION0 action;
UINT64 context;
FWPM_PROVIDER_CONTEXT1 *providerContext;
} FWPS_FILTER1;
メンバー
filterId
フィルター エンジン内のフィルターを識別するランタイム識別子。
weight
フィルター エンジン内の他のフィルターに対するフィルターの重要度を指定する値を含む FWP_VALUE0 構造体。 重みの値が大きいフィルターは、最初に呼び出されます。 FWP_VALUE0構造体で指定されたデータ型は、FWP_UINT64またはFWP_EMPTYです。 FWP_VALUE0構造体で指定されたデータ型がFWP_EMPTYされている場合、フィルター エンジンは、フィルター エンジン内の他のフィルターと比較して、フィルターがデータをテストする具体的な方法に基づいて、フィルターに重みを自動的に割り当てます。
subLayerWeight
フィルター エンジン内の他のサブレイヤーに対するフィルターのサブレイヤーの重要度を示す 値。 subLayerWeight 値が高いサブレイヤーにあるフィルターは、最初に呼び出されます。
flags
ネットワーク データを処理するときに吹き出しの classifyFn1 吹き出し関数が実行する必要があるアクションを指定するフラグ。 使用可能なフラグは次のとおりです。
値 | 意味 |
---|---|
FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT | このフラグは、吹き出しの classifyFn0 吹き出し関数に対して、提案されたアクションのFWP_ACTION_BLOCKまたはFWP_ACTION_PERMITを返すときに、常にFWPS_RIGHT_ACTION_WRITE フラグをクリアする必要があることを示します。 このフラグが設定されていない場合、吹き出しの classifyFn0 吹き出し関数は、提案されたアクションのFWP_ACTION_BLOCKを返すときにのみ、FWPS_RIGHT_ACTION_WRITE フラグをクリアする必要があります。 |
FWPS_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED | このフラグは、吹き出しが登録されていない場合、引き出し線を許可フィルターとして扱う必要があることを吹き出しの classifyFn0 吹き出し関数に示します。 |
numFilterConditions
filterCondition メンバーが指す配列内のFWPS_FILTER_CONDITION0構造体の数。 このメンバーは 0 にすることができます。
filterCondition
FWPS_FILTER_CONDITION0構造体の配列へのポインター。 これらの構造体は、フィルターの実行時フィルター条件を定義します。 numFilterConditions メンバーが 0 の場合、このポインターは NULL になります。
action
フィルターのすべてのフィルター条件が true の場合にフィルターが実行する必要があるアクションを指定するFWPS_ACTION0構造体。
context
フィルターに関連付けられているコンテキスト値。 吹き出しは、フィルター がフィルター エンジンに追加されたときに、引き出し線ドライバーの notifyFn1 吹き出し関数内から引き出しドライバーが指定したコンテキスト構造を指すこのメンバーを設定できます。 フィルター エンジンに対して不透明なこのコンテキスト構造は、引き出し線ドライバーの classifyFn1 吹き出し関数によって使用され、フィルター エンジンによる呼び出し間のドライバー固有のデータまたは状態情報を、引き出しドライバーの classifyFn1 吹き出し関数に保持できます。
providerContext
プロバイダー コンテキストへのポインター。 これは、FWPM_PROVIDER_CONTEXT1 構造体として書式設定されます。 フィルターで吹き出しが使用され、吹き出しにFWPM_CALLOUT_FLAG_USES_PROVIDER_CONTEXT フラグが設定されている場合、このメンバーには、対応する FWPM_FILTER0 構造体のプロバイダー コンテキストが含まれます。 それ以外の場合、このパラメーターは NULL です。
注釈
フィルター エンジンは、引き出し線の notifyFn1 と classifyFn1 吹き出し関数にFWPS_FILTER1構造体へのポインターを渡します。
フィルターのアクションは、フィルターのすべてのフィルター条件が true の場合にのみ実行されます。 フィルターでフィルター条件が指定されていない場合、指定されたアクションは常に実行されます。
ProviderContext メンバーは、引き出し線ドライバーがベース フィルター エンジン (BFE) を呼び出さずにプロバイダー コンテキストを取得するためのメカニズムを提供します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 以降で使用できます。 |
Header | fwpstypes.h (Fwpsk.h を含む) |