Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The KsPinDataIntersectionEx function handles the KSPROPERTY_PIN_DATAINTERSECTION through a callback function.
Syntax
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
);
Parameters
[in] Irp
Specifies the IRP that describes the property request.
[in] Pin
Specifies the specific property that is being queried.
[out] Data
Specifies the pin property-specific data.
[in] DescriptorsCount
Specifies the number of descriptor structures.
[in] Descriptor
Specifies the pointer to the list of pin information structures.
[in] DescriptorSize
Size of the descriptor structures, in bytes.
[in, optional] IntersectHandler
Contains the optional minidriver-defined KStrIntersectHandlerEx callback function to compare data ranges.
[in, optional] HandlerContext
Optional context that is supplied to the handler.
Return value
Returns STATUS_SUCCESS; otherwise, an error specific to the property that is being handled.
Remarks
KsPinDataIntersectionEx is very similar to KsPinDataIntersection, except for some of the following slight differences:
- In KsPinDataIntersectionEx, the size of the descriptor is passed, a feature that allows extended descriptors.
- The data intersection callback function is prototyped differently in the extended version (NTSTATUS Callback (Context, Irp, Pin, DataRange, MatchingDataRange, DataBufferSize, Data, DataSize)) versus KsPinDataIntersection (NTSTATUS Callback (Irp, Pin, DataRange, Data)).
- The output buffer (Data) length is passed as a parameter to the data intersection callback function (DataBufferSize) rather than being extracted from the current I/O stack ___location.
- The data intersection callback function is passed a Context parameter (the same Context parameter passed to KsPinDataIntersectionEx).
- The size of the resultant format is passed back in DataSize instead of Irp->IoStatus.Information.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | ks.h (include Ks.h) |