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 回调(Context、Irp、Pin、DataRange、MatchingDataRange、DataBufferSize、数据、DataSize)与 KsPinDataIntersection(NTSTATUS 回调(Irp、Pin、DataRange、Data))。
- 输出缓冲区(数据)长度作为参数传递给数据交集回调函数(DataBufferSize),而不是从当前 I/O 堆栈位置提取。
- 数据交集回调函数传递 Context 参数(传递给 KsPinDataIntersectionEx的相同 上下文 参数)。
- 生成的格式的大小将传回 DataSize 而不是 Irp->IoStatus.Information。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | ks.h (包括 Ks.h) |