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 |