Функция обратного вызова PFNKSPIN (ks.h)

Подпрограмма обратного вызова avStream minidriver вызывается в случаях, когда:

  • Существуют данные, доступные для обработки структуры KSPIN . Используйте эту подпрограмму для выполнения обработки, ориентированной на пин-код.
  • Соответствующий KSPIN выступает в качестве контакта приемника и подключен к источнику AVStream.

Синтаксис

PFNKSPIN Pfnkspin;

NTSTATUS Pfnkspin(
  [in] PKSPIN Pin
)
{...}

Параметры

[in] Pin

Указатель на KSPIN с данными кадра, доступными для обработки.

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

Верните STATUS_SUCCESS для продолжения обработки. Верните STATUS_PENDING, чтобы остановить обработку до следующего запуска события.

Комментарии

Сведения об AVStrMiniPinProcess

Мини-driver указывает адрес этой подпрограммы в элементе Process структуры KSPIN_DISPATCH .

Укажите, что фильтр использует пин-ориентированную обработку , предоставив эту функцию диспетчеризации. Мини-driver устанавливает флаги закрепления в соответствующей KSPIN_DESCRIPTOR_EX структуре, которая определяет, когда AVStream вызывает AVStrMiniPinProcess. Если мини-диск не устанавливает флаги в дескрипторе, поведение по умолчанию заключается в том, что AVStream вызывает AVStrMiniPinProcess , когда новые данные поступают в ранее пустую очередь. Дополнительные сведения об обработке триггеров см. в разделе обработка Pin-Centric.

После обработки мини-диск может предотвратить заполнение кадра путем клонирования указателя потока переднего края. Для этого вызовите KsStreamPointerClone. См. раздел Указатели Stream переднего и конечного краев.

Кроме того, можно указать отдельный конечный край, задав KSPIN_FLAG_DISTINCT_TRAILING_EDGE на KSPIN_DESCRIPTOR_EX. Третий вариант — не продвигать указатель потока переднего края.

Отправка процесса выполняется либо по умолчанию IRQL = PASSIVE_LEVEL, либо, возможно, в DISPATCH_LEVEL, если мини-накопитель указал KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING в соответствующем KSPIN_DESCRIPTOR_EX.

Эта подпрограмма является необязательной.

Сведения об AVStrMiniPinConnect

Мини-driver указывает адрес этой подпрограммы в элементе Connect своей структуры KSPIN_DISPATCH .

Верните STATUS_SUCCESS или ошибку, возвращенную при попытке установить внутреннее подключение. Не возвращайте STATUS_PENDING.

Эта подпрограмма является необязательной.

Также см. раздел Закрепления KS.

Требования

Требование Значение
Минимальная версия клиента Доступно в операционных системах Microsoft Windows XP и более поздних версиях, а также DirectX 8.0 и более поздних версиях.
Целевая платформа Персональный компьютер
Верхняя часть ks.h (включая Ks.h)
IRQL (См. раздел "Примечания")

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

Фильтрация обработки

KSPIN_DESCRIPTOR_EX

KSPIN_DISPATCH

KsStreamPointerClone

Обработка, ориентированная на закрепление