次の方法で共有


FWPS_CALLOUT_CLASSIFY_FN0 コールバック関数 (fwpsu.h)

フィルター エンジンは、吹き出しによって処理されるデータがある場合は常に、吹き出しの classifyFn0 吹き出し関数を呼び出します。

注意

classifyFn0 は、Windows Vista 以降で使用される classifyFn の特定のバージョンです。 詳細については、「 WFP のバージョンに依存しない名前」と「特定のバージョンの Windows を対象とする」を参照してください。 Windows 8 の場合、 classifyFn2 を使用できます。 Windows 7 の場合、 classifyFn1 を使用できます。

構文

FWPS_CALLOUT_CLASSIFY_FN0 FwpsCalloutClassifyFn0;

void FwpsCalloutClassifyFn0(
  const FWPS_INCOMING_VALUES0 *inFixedValues,
  const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
  void *layerData,
  const FWPS_FILTER0 *filter,
  UINT64 flowContext,
  FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}

パラメーター

inFixedValues

FWPS_INCOMING_VALUES0構造体へのポインター。 この構造体には、フィルター処理されるレイヤーの各データ フィールドの値が含まれます。

inMetaValues

FWPS_INCOMING_METADATA_VALUES0構造体へのポインター。 この構造体には、フィルター処理されるレイヤーの各メタデータ フィールドの値が含まれます。

layerData

フィルター処理されるレイヤーの生データを記述する構造体へのポインター。 このパラメーターは、フィルター処理されるレイヤーと、classifyFn0 吹き出し関数が呼び出される条件に応じて NULL になる場合があります。 ストリーム レイヤーの場合、このパラメーターは FWPS_STREAM_CALLOUT_IO_PACKET0 構造体を指します。 他のすべてのレイヤーについて、このパラメーターは NULL でない場合、NET_BUFFER_LIST構造体を指します。

filter

FWPS_FILTER0構造体へのポインター。 この構造体では、フィルターのアクションの吹き出しを指定するフィルターについて説明します。

flowContext

データ フローに関連付けられているコンテキストを含む UINT64 型の変数。 データ フローに関連付けられているコンテキストがない場合、このパラメーターは 0 です。 データ フローをサポートしていないフィルター レイヤーで吹き出しがフィルター エンジンに追加された場合、 classifyFn0 吹き出し関数はこのパラメーターを無視する必要があります。

classifyOut

classifyFn0 吹き出し関数が呼び出し元に返すデータを受け取るFWPS_CLASSIFY_OUT0構造体へのポインター。

戻り値

なし

解説

吹き出しドライバーは 、FwpsCalloutRegister0 関数を呼び出すことによって、吹き出しの吹き出し関数をフィルター エンジンに登録します。

フィルター エンジンは、フィルターのアクションの吹き出しを指定するフィルター エンジンのフィルターに対して、すべてのテスト条件が true の場合に処理されるデータを含む吹き出しの classifyFn0 吹き出し関数を呼び出します。

吹き出しの classifyFn0 吹き出し関数は、次のいずれかの状況で 、FWPS_CLASSIFY_OUT0 構造体の rights メンバーの FWPS_RIGHT_ACTION_WRITE フラグをクリアする必要があります。

  • classifyFn0 吹き出し関数が、FWPS_CLASSIFY_OUT0構造体の actionType メンバーをFWP_ACTION_BLOCKに設定する場合。
  • classifyFn0 吹き出し関数がFWPS_CLASSIFY_OUT0構造体の actionType メンバーをFWP_ACTION_PERMITに設定し、FWPS_FILTER0構造体の flags メンバーに FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT フラグを設定する場合。
  • 吹き出しが、FwpsReferenceNetBufferList0 関数の呼び出しで intendToModify パラメーターを TRUE に設定して、複製されたネット バッファー リストを変更することを示した場合。

要件

要件
Header fwpsu.h