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 KsPinDataIntersection function handles the KSPROPERTY_PIN_DATAINTERSECTION property through a callback function and performs much of the initial validation of the parameters that are passed. KsPinDataIntersection calls the minidriver-defined KStrIntersectHandler callback function with each potential data range after matching it to the list of data ranges assigned to that pin factory.
Syntax
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
);
Parameters
[in] Irp
Specifies the IRP that describes the property request.
[in] Pin
Specifies the specific property that is being queried.
[out, optional] 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] IntersectHandler
Specifies the minidriver-defined KStrIntersectHandler callback function to compare a data range.
Return value
The KsPinDataIntersection function returns STATUS_SUCCESS if a matching range is found, STATUS_NO_MATCH if no matching range was found, or an error specific to the property being handled. The minidriver-defined KStrIntersectHandler intersection handler provided to KsPinDataIntersection is called with each data range supplied by the caller until either a match is found or an error occurs.
Note that the minidriver-defined KStrIntersectHandler callback function has its own set of return values.
Remarks
A match can occur under three conditions: if the major format of the range passed is a wildcard or matches a pin factory range, if the subformat is a wildcard or matches, and if the specifier is a wildcard or matches. Since the data range size may be variable, it is not validated beyond checking that it is at least the size of a KSDATARANGE structure.
Requirements
Requirement | Value |
---|---|
Target Platform | Universal |
Header | ks.h (include Ks.h) |
Library | Ks.lib |