Función KsPinDataIntersection (ks.h)

La función KsPinDataIntersection controla la propiedad KSPROPERTY_PIN_DATAINTERSECTION a través de una función de devolución de llamada y realiza gran parte de la validación inicial de los parámetros que se pasan. KsPinDataIntersection llama a la función de devolución de llamada KStrIntersectHandler definida por el minidriver con cada rango de datos potencial después de que coincida con la lista de intervalos de datos asignados a esa factoría de patillas.

Sintaxis

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
);

Parámetros

[in] Irp

Especifica el IRP que describe la solicitud de propiedad.

[in] Pin

Especifica la propiedad específica que se está consultando.

[out, optional] Data

Especifica los datos específicos de la propiedad pin.

[in] DescriptorsCount

Especifica el número de estructuras descriptores.

[in] Descriptor

Especifica el puntero a la lista de estructuras de información de anclaje.

[in] IntersectHandler

Especifica la función de devolución de llamada KStrIntersectHandler definida por el minidriver para comparar un intervalo de datos.

Valor devuelto

La función KsPinDataIntersection devuelve STATUS_SUCCESS si se encuentra un intervalo coincidente, STATUS_NO_MATCH si no se encontró ningún intervalo coincidente o un error específico de la propiedad que se está controlando. Se llama al controlador de intersección KStrIntersectHandler definido por el minidriver proporcionado a KsPinDataIntersection con cada intervalo de datos proporcionado por el autor de la llamada hasta que se encuentre una coincidencia o se produzca un error.

Tenga en cuenta que la función de devolución de llamada KStrIntersectHandler definida por el minidriver tiene su propio conjunto de valores devueltos.

Comentarios

Una coincidencia puede producirse en tres condiciones: si el formato principal del intervalo pasado es un carácter comodín o coincide con un intervalo de generador de patillas, si el subformato es un carácter comodín o coincide, y si el especificador es un carácter comodín o coincide. Dado que el tamaño del intervalo de datos puede ser variable, no se valida más allá de comprobar que es al menos el tamaño de una estructura KSDATARANGE .

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ks.h (incluye Ks.h)
Library Ks.lib

Consulte también

KSDATARANGE

KStrIntersectHandler