KsPinDataIntersection 関数 (ks.h)

KsPinDataIntersection 関数は、コールバック関数を使用して KSPROPERTY_PIN_DATAINTERSECTION プロパティを処理し、渡されるパラメーターの初期検証の多くを実行します。 KsPinDataIntersection は、ミニドライバー定義 の KStrIntersectHandler コールバック関数を呼び出し、そのピン ファクトリに割り当てられているデータ範囲の一覧と照合した後、各潜在的なデータ範囲を使用します。

構文

KSDDKAPI NTSTATUS KsPinDataIntersection(
  [in]            PIRP                   Irp,
  [in]            PKSP_PIN               Pin,
  [out, optional] PVOID                  Data,
  [in]            ULONG                  DescriptorsCount,
  [in]            const KSPIN_DESCRIPTOR *Descriptor,
  [in]            PFNKSINTERSECTHANDLER  IntersectHandler
);

パラメーター

[in] Irp

プロパティ要求を記述する IRP を指定します。

[in] Pin

クエリを実行する特定のプロパティを指定します。

[out, optional] Data

pin プロパティ固有のデータを指定します。

[in] DescriptorsCount

記述子構造体の数を指定します。

[in] Descriptor

ピン情報構造体の一覧へのポインターを指定します。

[in] IntersectHandler

データ範囲を比較するミニドライバー定義 の KStrIntersectHandler コールバック関数を指定します。

戻り値

KsPinDataIntersection 関数は、一致する範囲が見つかった場合はSTATUS_SUCCESS、一致する範囲が見つからない場合はSTATUS_NO_MATCH、処理されるプロパティに固有のエラーを返します。 KsPinDataIntersection に提供されるミニドライバー定義の KStrIntersectHandler 交差ハンドラーは、一致が見つかるかエラーが発生するまで、呼び出し元によって提供される各データ範囲で呼び出されます。

ミニドライバー定義の KStrIntersectHandler コールバック関数には、独自の戻り値のセットがあることに注意してください。

注釈

一致は、渡される範囲のメジャー形式がワイルドカードであるか、ピン ファクトリ範囲と一致する場合、サブフォーマットがワイルドカードまたは一致する場合、および指定子がワイルドカードまたは一致する場合の 3 つの条件で発生する可能性があります。 データ範囲のサイズは可変である可能性があるため、少なくとも KSDATARANGE 構造体のサイズであることを確認する以外に検証されません。

要件

要件
対象プラットフォーム ユニバーサル
Header ks.h (Ks.h を含む)
Library Ks.lib

こちらもご覧ください

KSDATARANGE

KStrIntersectHandler