다음을 통해 공유


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

이 매개 변수는 결과 복제본 스트림 포인터에 있어야 하는 미니 드라이버 컨텍스트 정보의 바이트 수를 나타냅니다. 0이 아닌 경우 요청된 바이트 수는 반환된 스트림 포인터 바로 다음에 할당되고 CloneStreamPointer컨텍스트 필드는 할당된 메모리를 가리킵니다.

[out] CloneStreamPointer

KSSTREAM_POINTER 구조체에 대한 포인터에 대한 포인터입니다. 복제 작업이 성공적으로 완료되면 CloneStreamPointer 는 복제된 스트림 포인터의 주소에 대한 포인터를 포함합니다.

반환 값

KsStreamPointerClone 은 복제 작업이 정상적으로 완료되었음을 나타내는 STATUS_SUCCESS 반환하거나 적절한 오류 코드를 반환합니다.

설명

결과 복제본은 처음에 원래 스트림 포인터와 동일한 데이터 프레임을 참조하며 동일한 상태(잠기거나 잠금 해제됨)입니다. 데이터 프레임을 참조하는 복제 스트림 포인터를 추가하면 해당 특정 프레임에 대한 참조 수가 증가합니다. 해당 프레임 및 따라서 프레임이 속한 IRP는 참조 횟수가 0으로 떨어질 때까지 완료되지 않습니다.

이 호출의 ContextSize 매개 변수를 사용하여 할당 호출을 최소화할 수 있습니다.

또한 Stream 포인터를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows XP 이상 운영 체제 및 DirectX 8.0 이상 DirectX 버전에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib
IRQL <=DISPATCH_LEVEL

추가 정보

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsets

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerDelete

KsStreamPointerLock

KsStreamPointerUnlock