Функция KsPinDataIntersection (ks.h)

Функция KsPinDataIntersection обрабатывает свойство KSPROPERTY_PIN_DATAINTERSECTION с помощью функции обратного вызова и выполняет большую часть начальной проверки передаваемых параметров. KsPinDataIntersection вызывает функцию обратного вызова 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

Указывает данные, относящиеся к свойству закрепления.

[in] DescriptorsCount

Указывает количество структур дескрипторов.

[in] Descriptor

Указывает указатель на список информационных структур закрепления.

[in] IntersectHandler

Задает функцию обратного вызова KStrIntersectHandler , определяемую мини-driver, для сравнения диапазона данных.

Возвращаемое значение

Функция KsPinDataIntersection возвращает STATUS_SUCCESS, если найден соответствующий диапазон, STATUS_NO_MATCH, если соответствующий диапазон не найден, или ошибка, связанная с обрабатываемым свойством. Определенный мини-диском обработчик пересечения KStrIntersectHandler , предоставляемый KsPinDataIntersection , вызывается с каждым диапазоном данных, предоставленным вызывающим, до тех пор, пока не будет найдено совпадение или не возникнет ошибка.

Обратите внимание, что функция обратного вызова KStrIntersectHandler , определяемая мини-накопителем, имеет собственный набор возвращаемых значений.

Комментарии

Совпадение может происходить при трех условиях: если основной формат передаваемого диапазона является подстановочным знаком или соответствует диапазону фабрики контактов, если подчиненный формат является подстановочным знаком или соответствует, а описатель — подстановочный знак или совпадения. Так как размер диапазона данных может быть переменным, он не проверяется за пределами проверки того, что он по крайней мере равен размеру структуры KSDATARANGE .

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ks.h (включая Ks.h)
Библиотека Ks.lib

См. также раздел

KSDATARANGE

KStrIntersectHandler