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

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

Синтаксис

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

Параметры

[in] Pin

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

[in] IrpCompletion

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

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

Никакой

Замечания

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 и более поздних версий DirectX.
целевая платформа Всеобщий
заголовка ks.h (include Ks.h)
библиотеки Ks.lib
IRQL PASSIVE_LEVEL

См. также

AVStrMiniPinCreate

AVStrStrMiniPinIrpCompletion

KSPIN

KSPIN_DISPATCH

KSSTATE

KsPinRegisterFrameReturnCallback