KsPinDataIntersectionEx 関数 (ks.h)
KsPinDataIntersectionEx 関数は、コールバック関数を使用してKSPROPERTY_PIN_DATAINTERSECTIONを処理します。
構文
KSDDKAPI NTSTATUS KsPinDataIntersectionEx(
[in] PIRP Irp,
[in] PKSP_PIN Pin,
[out] PVOID Data,
[in] ULONG DescriptorsCount,
[in] const KSPIN_DESCRIPTOR *Descriptor,
[in] ULONG DescriptorSize,
[in, optional] PFNKSINTERSECTHANDLEREX IntersectHandler,
[in, optional] PVOID HandlerContext
);
パラメーター
[in] Irp
プロパティ要求を記述する IRP を指定します。
[in] Pin
クエリを実行する特定のプロパティを指定します。
[out] Data
pin プロパティ固有のデータを指定します。
[in] DescriptorsCount
記述子構造体の数を指定します。
[in] Descriptor
ピン情報構造体のリストへのポインターを指定します。
[in] DescriptorSize
記述子構造体のサイズ (バイト単位)。
[in, optional] IntersectHandler
データ範囲を比較するためのオプションのミニドライバー定義 KStrIntersectHandlerEx コールバック関数が含まれます。
[in, optional] HandlerContext
ハンドラーに提供される省略可能なコンテキスト。
戻り値
STATUS_SUCCESSを返します。それ以外の場合は、処理されるプロパティに固有のエラー。
注釈
KsPinDataIntersectionEx は KsPinDataIntersection とよく似ていますが、次のわずかな違いがいくつかあります。
- KsPinDataIntersectionEx では、記述子のサイズが渡されます。これは、拡張記述子を許可する機能です。
- データ交差コールバック関数は、拡張バージョン (NTSTATUS コールバック (コンテキスト、 Irp、 Pin、 DataRange、 MatchingDataRange、 DataBufferSize、 Data、 DataSize) と KsPinDataIntersection (NTSTATUS コールバック (Irp、 Pin、 DataRange、 DataSize)) で異なる方法でプロトタイプ化されます。
- 出力バッファー (データ) の長さは、現在の I/O スタックの場所から抽出されるのではなく、データ交差コールバック関数 (DataBufferSize) にパラメーターとして渡されます。
- データ交差コールバック関数には、Context パラメーター (KsPinDataIntersectionEx に渡されるのと同じ Context パラメーター) が渡されます。
- 結果の形式のサイズは、Irp->IoStatus.Information ではなく DataSize で返されます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | ks.h (Ks.h を含む) |