KsPinDataIntersection 函式 (ks.h)
KsPinDataIntersection 函式會透過回呼函式處理 KSPROPERTY_PIN_DATAINTERSECTION 屬性,並執行傳遞之參數的大部分初始驗證。 KsPinDataIntersection 會呼叫 minidriver 定義的 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
指定要比較數據範圍的minidriver定義 KStrIntersectHandler 回呼函式。
傳回值
如果找到相符的範圍, 則 KsPinDataIntersection 函式會傳回STATUS_SUCCESS,如果找不到相符的範圍,STATUS_NO_MATCH,或所處理之屬性特定的錯誤。 迷你驅動程式定義的 KStrIntersectHandler 交集處理程式提供給 KsPinDataIntersection ,會呼叫呼叫端所提供的每個數據範圍,直到找到相符專案或發生錯誤為止。
請注意,minidriver 定義的 KStrIntersectHandler 回呼函式有自己的一組傳回值。
備註
比對可能發生在三種情況下:如果傳遞範圍的主要格式是通配符,或符合釘選處理站範圍,如果子格式為通配符或相符專案,則為 ,如果規範為通配符或相符專案,則為 。 由於數據範圍大小可能是可變的,因此不會驗證超過檢查它是否至少是 KSDATARANGE 結構的大小。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ks.h (包含 Ks.h) |
程式庫 | Ks.lib |