Skip to content

Latest commit

 

History

History
107 lines (67 loc) · 3.86 KB

nf-ks-ksstreampointerclone.md

File metadata and controls

107 lines (67 loc) · 3.86 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NF:ks.KsStreamPointerClone
KsStreamPointerClone function (ks.h)
The KsStreamPointerClone function creates a clone of a given stream pointer.
stream\ksstreampointerclone.htm
stream
04/23/2018
KsStreamPointerClone function
KsStreamPointerClone, KsStreamPointerClone function [Streaming Media Devices], avfunc_29a7da58-5321-4c19-83df-c9deab062e78.xml, ks/KsStreamPointerClone, stream.ksstreampointerclone
ks.h
Ks.h
Universal
Available in Microsoft Windows XP and later operating systems and DirectX 8.0 and later DirectX versions.
Ks.lib
<=DISPATCH_LEVEL
Windows
KsStreamPointerClone
ks/KsStreamPointerClone
APIRef
kbSyntax
LibDef
Ks.lib
Ks.dll
KsStreamPointerClone

KsStreamPointerClone function

-description

The KsStreamPointerClone function creates a clone of a given stream pointer.

-parameters

-param StreamPointer [in]

A pointer to a KSSTREAM_POINTER structure representing the stream pointer that is to be cloned.

-param CancelCallback [in, optional]

Optional. A pointer to a minidriver-supplied AVStrMiniCancelCallback routine. AVStream calls this routine if the IRP associated with CloneStreamPointer is canceled.

-param ContextSize [in]

This parameter indicates how many bytes of minidriver context information the resulting clone stream pointer should have. If nonzero, the requested number of bytes are allocated immediately after the returned stream pointer, and the Context field of CloneStreamPointer points to the allocated memory.

-param CloneStreamPointer [out]

A pointer to a pointer to a KSSTREAM_POINTER structure. Upon successful completion of the cloning operation, CloneStreamPointer contains a pointer to the address of the cloned stream pointer.

-returns

KsStreamPointerClone returns either STATUS_SUCCESS, indicating that the cloning operation completed normally, or an appropriate error code.

-remarks

The resulting clone initially refers to the same data frame as the original stream pointer and is in the same state (locked or unlocked). Adding a clone stream pointer referencing a data frame increments the reference count on that particular frame. Note that the frame in question, and therefore the IRP to which the frame belongs, is not completed until the reference count drops to zero.

You can use the ContextSize parameter of this call to minimize allocation calls.

Also see Stream Pointers.

-see-also

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsets

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerDelete

KsStreamPointerLock

KsStreamPointerUnlock