Поделиться через


Функция 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 указателем на мини-drive. AVStream вызывает эту процедуру, если IRP, связанная с CloneStreamPointer отменена.

[in] ContextSize

Этот параметр указывает, сколько байтов сведений о контексте мини-driver должен иметь результирующий указатель потока клона. Если ненулевое значение, запрашиваемое число байтов выделяется сразу после возвращаемого указателя потока, а поле контекста контекстаCloneStreamPointer указывает на выделенную память.

[out] CloneStreamPointer

Указатель на указатель на структуру KSSTREAM_POINTER. После успешного завершения операции клонирования CloneStreamPointer содержит указатель на адрес клонированного указателя потока.

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

KsStreamPointerClone возвращает либо STATUS_SUCCESS, указывая, что операция клонирования выполнена нормально или соответствующий код ошибки.

Замечания

Результирующий клон изначально ссылается на тот же кадр данных, что и исходный указатель потока и находится в том же состоянии (заблокирован или разблокирован). Добавление указателя потока клона, ссылающегося на кадр данных, увеличивает количество ссылок на определенный кадр. Обратите внимание, что указанный кадр и, следовательно, IRP, к которому принадлежит кадр, не завершается, пока число ссылок не падает до нуля.

Для минимизации вызовов выделения можно использовать параметр ContextSize этого вызова.

См. также указатели потока.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Microsoft Windows XP и более поздних операционных системах и версиях DirectX 8.0 и более поздних версий DirectX.
целевая платформа Всеобщий
заголовка ks.h (include Ks.h)
библиотеки Ks.lib
IRQL <=DISPATCH_LEVEL

См. также

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsets

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerDelete

KsStreamPointerLock

KsStreamPointerUnlock