Функция обратного вызова 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) |