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
包含選擇性的 minidriver 定義 KStrIntersectHandlerEx 回呼函式來比較數據範圍。
[in, optional] HandlerContext
提供給處理程式的選擇性內容。
傳回值
傳回STATUS_SUCCESS;否則,所處理之屬性特有的錯誤。
言論
KsPinDataIntersectionEx 與 KsPinDataIntersection非常類似,但下列部分稍有差異:
- 在 KsPinDataIntersectionEx中,會傳遞描述項的大小,這是允許擴充描述項的功能。
- 數據交集回呼函式在擴充版本(NTSTATUS 回呼(Context、Irp、Pin、DataRange、MatchingDataRange、DataBufferSize、 Data、 DataSize)) 與 KsPinDataIntersection (NTSTATUS 回呼 (Irp、 Pin、 DataRange、 Data) 。
- 輸出緩衝區 (Data) 長度會當做參數傳遞至數據交集回呼函式 (DataBufferSize),而不是從目前的 I/O 堆棧位置擷取。
- 數據交集回呼函式會傳遞 Context 參數(傳遞 至 KsPinDataIntersectionEx的相同 Context 參數)。
- 結果格式的大小會傳回 DataSize,而不是 Irp->IoStatus.Information。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | ks.h (包括 Ks.h) |