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

Функция KsPinRegisterIrpCompletionCallback регистрирует определяемую мини-driver процедуру обратного вызова для указанного контакта. AVStream вызывает подпрограмму, предоставляемую мини-driver, когда IRP завершает проход вокруг цепи и кадр, связанный с IRP, скоро будет перезагрущен или выведен из эксплуатации.

Синтаксис

void KsPinRegisterIrpCompletionCallback(
  [in] PKSPIN                Pin,
  [in] PFNKSPINIRPCOMPLETION IrpCompletion
);

Параметры

[in] Pin

Указатель на структуру KSPIN , для которой регистрируется обратный вызов завершения.

[in] IrpCompletion

Этот параметр предоставляет адрес подпрограммы AVStrMiniPinIrpCompletion , которая будет вызвана, когда IRP завершит обход канала и будет переработана или прекращена.

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

None

Remarks

KsPinRegisterIrpCompletionCallback необходимо вызвать по адресу IRQL=PASSIVE_LEVEL, прежде чем контакт перейдет в KSSTATE_ACQUIRE. Дополнительные сведения о состояниях закрепления см. в разделе KSSTATE.

Эта функция часто вызывается из диспетчера создания контактов. См . KSPIN_DISPATCH.

KsPinRegisterIrpCompletionCallback полезен только для контактов источника IRP и обычно используется для контактов источника данных. Для пин-кода источника данных обратный вызов выполняется после того, как IRP будет завершена обратно в контакт и будет удалена. Однако для контакта приемника данных обратный вызов не привязан непосредственно к завершению IRP. AVStream по-прежнему выполняет обратный вызов, когда IRP возвращается для повторного использования. Этот возврат не выполняется до тех пор, пока IRP не пройдет через все очереди, которые должны использовать содержащиеся в ней данные. Сведения об источниках и приемниках IRP и контактах источника данных и приемника см. в разделе Элементы потока данных и связи структуры KSPIN_DESCRIPTOR .

KsPinRegisterIrpCompletionCallback значительно отличается от KsPinRegisterFrameReturnCallback тем, что эта подпрограмма не помещает закрепление в новый режим; он просто регистрирует подпрограмму обратного вызова.

Требования

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

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

AVStrMiniPinCreate

AVStrMiniPinIrpCompletion

KSPIN

KSPIN_DISPATCH

KSSTATE

KsPinRegisterFrameReturnCallback