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 例程的微型驱动程序的指针。 如果取消了与 CloneStreamPointer 关联的 IRP,AVStream 将调用此例程。

[in] ContextSize

此参数指示生成的克隆流指针应包含的微型驱动程序上下文信息的字节数。 如果为非零,则请求的字节数会在返回的流指针之后立即分配,CloneStreamPointer 的 上下文 字段 指向分配的内存。

[out] CloneStreamPointer

指向指向 KSSTREAM_POINTER 结构的指针的指针。 成功完成克隆作后,CloneStreamPointer 包含指向克隆流指针地址的指针。

返回值

KsStreamPointerClone 返回STATUS_SUCCESS,指示克隆作已正常完成,或者返回适当的错误代码。

言论

生成的克隆最初引用与原始流指针相同的数据帧,并且处于相同的状态(锁定或解锁)。 添加引用数据帧的克隆流指针会递增该特定帧的引用计数。 请注意,在引用计数降至零之前,不会完成有问题的帧(因此帧所属的 IRP)。

可以使用此调用的 ContextSize 参数来最大程度地减少分配调用。

另请参阅 流指针

要求

要求 价值
最低支持的客户端 Microsoft Windows XP 及更高版本的作系统以及 DirectX 8.0 及更高版本的 DirectX 版本中提供。
目标平台 普遍
标头 ks.h (包括 Ks.h)
Ks.lib
IRQL <=DISPATCH_LEVEL

另请参阅

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsets

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerDelete

KsStreamPointerLock

KsStreamPointerUnlock