Поделиться через


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

Функция 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

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

[in] DescriptorsCount

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

[in] Descriptor

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

[in] DescriptorSize

Размер структур дескриптора в байтах.

[in, optional] IntersectHandler

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

[in, optional] HandlerContext

Необязательный контекст, предоставленный обработчику.

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

Возвращает STATUS_SUCCESS; в противном случае ошибка, связанная с обрабатываемым свойством.

Замечания

KsPinDataIntersectionEx очень похож на KsPinDataIntersection, за исключением некоторых из следующих незначительных различий:

  • В KsPinDataIntersectionExпередается размер дескриптора, функция, которая позволяет расширенным дескрипторам.
  • Функция обратного вызова пересечения данных создается по-разному в расширенной версии (обратный вызов NTSTATUS (контексте, Irp, Закрепить, DataRange, MatchingDataRange, DataBufferSize , Data, DataSize)) и KsPinDataIntersection (обратный вызов NTSTATUS (Irp, закрепить, DataRange, data)).
  • Длина выходного буфера (данных) передается в функцию обратного вызова пересечения данных (DataBufferSize), а не извлекается из текущего расположения стека ввода-вывода.
  • Функция обратного вызова пересечения данных передает параметр контекста (тот же параметр контекстаKsPinDataIntersectionEx).
  • Размер результирующий формат передается обратно в DataSize вместо Irp—>IoStatus.Information.
Эти различия за исключением KsPinDataIntersection и KsPinDataIntersectionEx работают аналогично.

Требования

Требование Ценность
целевая платформа Настольный
заголовка ks.h (include Ks.h)

См. также

KStrIntersectHandlerEx