FWPS_CALLOUT_CLASSIFY_FN1 コールバック関数 (fwpsk.h)
フィルター エンジンは、吹き出しによって処理されるデータがある場合は常に、吹き出しの classifyFn1 吹き出し関数を呼び出します。
構文
FWPS_CALLOUT_CLASSIFY_FN1 FwpsCalloutClassifyFn1;
void FwpsCalloutClassifyFn1(
[in] const FWPS_INCOMING_VALUES0 *inFixedValues,
[in] const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
[in, out] void *layerData,
[in, optional] const void *classifyContext,
[in] const FWPS_FILTER1 *filter,
[in] UINT64 flowContext,
[in, out] FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}
パラメーター
[in] inFixedValues
FWPS_INCOMING_VALUES0構造体へのポインター。 この構造体には、フィルター処理されるレイヤー内の各データ フィールドの値が含まれます。
[in] inMetaValues
へのポインター FWPS_INCOMING_METADATA_VALUES0 構造体。 この構造体には、フィルター処理されるレイヤー内の各メタデータ フィールドの値が含まれます。
[in, out] layerData
フィルター処理されるレイヤー内の生データを記述する構造体へのポインター。 このパラメーターは、フィルター処理されるレイヤーと、classifyFn1 吹き出し関数が呼び出される条件に応じて NULL になる場合があります。 ストリーム レイヤーの場合、このパラメーターは を指します。 FWPS_STREAM_CALLOUT_IO_PACKET0 構造体。 他のすべてのレイヤーについて、このパラメーターは NULL でない場合、NET_BUFFER_LIST構造体を指します。
[in, optional] classifyContext
フィルター エンジンによって引き出しドライバーに関連付けられているコンテキスト データへのポインター。
[in] filter
FWPS_FILTER1構造体へのポインター。 この構造体は、フィルターのアクションの吹き出しを指定するフィルターを記述します。
[in] flowContext
データ フローに関連付けられているコンテキストを含む UINT64 型の変数。 データ フローに関連付けられているコンテキストがない場合、このパラメーターは 0 になります。 データ フローをサポートしていないフィルター レイヤーで吹き出しがフィルター エンジンに追加された場合、 classifyFn1 吹き出し関数はこのパラメーターを無視する必要があります。
[in, out] classifyOut
classifyFn1 吹き出し関数が呼び出し元に返すデータを受け取るFWPS_CLASSIFY_OUT0構造体へのポインター。
戻り値
なし
解説
吹き出しドライバーは、 FwpsCalloutRegister1 関数を呼び出すことによって、吹き出しの吹き出し関数をフィルター エンジンに登録します。
フィルター エンジンは、フィルターのアクションの吹き出しを指定するフィルター エンジンのフィルターに対してすべてのテスト条件が true の場合に、データを処理する吹き出しの classifyFn1 吹き出し関数を呼び出します。
吹き出しの classifyFn1 吹き出し関数は、次のいずれかの状況で、FWPS_CLASSIFY_OUT0構造体の rights メンバーのFWPS_RIGHT_ACTION_WRITE フラグをクリアする必要があります。
- classifyFn1 吹き出し関数が、FWPS_CLASSIFY_OUT0構造体の actionType メンバーをFWP_ACTION_BLOCKに設定する場合。
- classifyFn1 吹き出し関数がFWPS_CLASSIFY_OUT0構造体の actionType メンバーをFWP_ACTION_PERMITに設定し、FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT フラグがFWPS_FILTER1構造体の Flags メンバーに設定されている場合。
- への呼び出しで intendToModify パラメーターを TRUE に設定して、複製されたネット バッファー リストを変更することを示した吹き出し FwpsReferenceNetBufferList0 関数。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 以降で使用できます。 |
対象プラットフォーム | Windows |
ヘッダー | fwpsk.h (Fwpsk.h を含む) |
IRQL | <= DISPATCH_LEVEL |