Функция KsStreamPointerClone (ks.h)
Функция KsStreamPointerClone создает клон заданного указателя потока.
Синтаксис
KSDDKAPI NTSTATUS KsStreamPointerClone(
[in] PKSSTREAM_POINTER StreamPointer,
[in, optional] PFNKSSTREAMPOINTER CancelCallback,
[in] ULONG ContextSize,
[out] PKSSTREAM_POINTER *CloneStreamPointer
);
Параметры
[in] StreamPointer
Указатель на структуру KSSTREAM_POINTER , представляющую клонированного указателя потока.
[in, optional] CancelCallback
Необязательный элемент. Указатель на подпрограмму AVStrMiniCancelCallback , предоставляемую мини-накопителем. AVStream вызывает эту подпрограмму, если IRP, связанный с CloneStreamPointer , отменен.
[in] ContextSize
Этот параметр указывает, сколько байтов информации о контексте мини-накопителя должен иметь результирующий указатель потока клонирования. Если значение не равно нулям, запрошенное количество байтов выделяется сразу после возвращаемого указателя потока, а поле Contextобъекта CloneStreamPointer указывает на выделенную память.
[out] CloneStreamPointer
Указатель на KSSTREAM_POINTER структуру . После успешного завершения операции клонирования CloneStreamPointer содержит указатель на адрес клонированного указателя потока.
Возвращаемое значение
KsStreamPointerClone возвращает либо STATUS_SUCCESS, указывая, что операция клонирования завершена нормально, либо соответствующий код ошибки.
Комментарии
Результирующий клон изначально относится к тому же кадру данных, что и исходный указатель потока, и находится в том же состоянии (заблокирован или разблокирован). Добавление указателя потока клона, ссылающегося на кадр данных, увеличивает количество ссылок для этого кадра. Обратите внимание, что рассматриваемый кадр и, следовательно, IRP, к которому принадлежит кадр, не завершается до тех пор, пока число ссылок не упадет до нуля.
Чтобы свести к минимуму вызовы выделения, можно использовать параметр ContextSize этого вызова.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в операционных системах Microsoft Windows XP и более поздних версиях, а также DirectX 8.0 и более поздних версиях. |
Целевая платформа | Универсальное |
Верхняя часть | ks.h (включая Ks.h) |
Библиотека | Ks.lib |
IRQL | <=DISPATCH_LEVEL |