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

此参数指示生成的克隆流指针应具有多少字节的微型驱动程序上下文信息。 如果不是零,则请求的字节数将紧接在返回的流指针之后分配,CloneStreamPointerContext 字段指向已分配的内存。

[out] CloneStreamPointer

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

返回值

KsStreamPointerClone 返回STATUS_SUCCESS(指示克隆操作正常完成)或相应的错误代码。

注解

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

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

另请参阅Stream指针

要求

要求
最低受支持的客户端 适用于 Microsoft Windows XP 及更高版本的操作系统以及 DirectX 8.0 及更高版本的 DirectX。
目标平台 通用
标头 ks.h (包括 Ks.h)
Library Ks.lib
IRQL <=DISPATCH_LEVEL

另请参阅

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsets

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerDelete

KsStreamPointerLock

KsStreamPointerUnlock