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

AVStream вызывает подпрограмму AVStrMiniCancelCallback мини-driver при отмене IRP, связанной с клонированных указателем потока. Эта подпрограмма является необязательной.

Синтаксис

PFNKSSTREAMPOINTER Pfnksstreampointer;

void Pfnksstreampointer(
  [in] PKSSTREAM_POINTER StreamPointer
)
{...}

Параметры

[in] StreamPointer

Указатель на KSSTREAM_POINTER клонирования, связанный с отмененным IRP. StreamPointer был создан путем вызова KsStreamPointerClone.

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

None

Remarks

Мини-диск указывает адрес этой подпрограммы в параметре CancelCallbackобъекта KsStreamPointerClone.

В AVStrMiniCancelCallback мини-диск должен задать для всех ссылок на указатель клонирования значение NULL.

Кроме того, мини-диск должен удалить все сведения о контексте, связанные с указателем клонирования, и уведомить оборудование об отмене.

Наконец, мини-диск должен вызвать KsStreamPointerDelete , чтобы удалить клон и связанный с ним контекст. Если мини-накопитель не удаляет клон, IRP сохранит число ссылок и не будет завершено, что может привести к сбою связанных приложений.

AVStrMiniCancelCallback вызывается с удерживаемой блокировкой спина очереди, поэтому в DISPATCH_LEVEL. Соответственно, подпрограмма обратного вызова не может выполнять операции с очередью или функции вызова, которые получают мьютекс.

Требования

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

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

KSSTREAM_POINTER

KsStreamPointerClone

KsStreamPointerDelete