KsPinGetTrailingEdgeStreamPointer 함수(ks.h)

KsPinGetTrailingEdgeStreamPointer 함수는 지정된 핀과 연결된 큐에 대한 후행 에지 스트림 포인터를 가져옵니다.

구문

KSDDKAPI PKSSTREAM_POINTER KsPinGetTrailingEdgeStreamPointer(
  [in] PKSPIN                 Pin,
  [in] KSSTREAM_POINTER_STATE State
);

매개 변수

[in] Pin

후행 에지 스트림 포인터를 반환할 큐에 대한 KSPIN 구조체에 대한 포인터입니다.

[in] State

이 매개 변수는 후행 에지 스트림 포인터를 가져올 상태를 지정합니다. 다음 중 하나일 수 있습니다.

KSSTREAM_POINTER_STATE_UNLOCKED

데이터 프레임을 참조하는지 여부에 관계없이 선행 에지 스트림 포인터를 가져옵니다.

포인터가 잠기기 전까지는 포인터와 연결된 데이터에 액세스하려고 시도할 수 없습니다. 또한 잠금 해제된 스트림 포인터와 연결된 프레임을 취소할 수 있습니다.

KSSTREAM_POINTER_STATE_LOCKED

선행 에지 스트림 포인터를 획득하고 잠급 수 있습니다. 스트림 포인터와 연결된 데이터 프레임이 없으면 NULL을 반환합니다. null이 아닌 포인터가 반환되면 잠긴 스트림 포인터이며 연결된 데이터 프레임이 있습니다. 잠긴 스트림 포인터와 연결된 프레임은 취소할 수 없습니다 .

반환 값

KsPinGetTrailingEdgeStreamPointer는 후행 에지 스트림 포인터 또는 NULL을 나타내는 KSSTREAM_POINTER 구조체에 대한 포인터를 반환합니다. NULL의 반환 값은 핀과 연결된 큐에 대한 후행 가장자리가 없음을 나타낼 수 있습니다. 이 경우 핀 설명자는 핀에 고유한 후행 가장자리가 있어야 한다고 지정하지 않을 수 있습니다. 또는 NULL 은 핀과 연결된 큐가 없음을 나타낼 수 있습니다. 이 경우 문제의 핀은 표준 전송 메커니즘을 사용하지 않습니다. NULL의 반환 값은 후행 에지를 잠그려는 시도가 실패했음을 나타낼 수도 있습니다. 즉, 현재 선행 에지와 연결된 데이터 프레임이 없습니다.

설명

후행 에지 스트림 포인터는 핀의 핀 설명자가 고유한 후행 가장자리를 지정하는 경우에만 존재하는 데이터 스트림에 대한 특수 포인터입니다. 이 포인터가 있는 경우 KsStreamPointerAdvanceXxx 또는 KsStreamPointerUnlock 호출로 특별히 고급화되지 않는 한 큐에서 가장 오래된 데이터를 가리킵니다. 후행 가장자리가 가리키는 것보다 오래된 프레임에 대해 복제된 스트림 포인터가 있는 경우에도 이전 데이터가 큐에 있을 수 있습니다.

선행 에지 스트림 포인터와 후행 에지 스트림 포인터 사이의 창에 상주하는 데이터 프레임에는 하나 이상의 참조 수가 있으므로 큐를 벗어나지 않고 후행 가장자리의 발전으로 인해 창이 종료될 때까지 완료됩니다. 선행 가장자리와 후행 가장자리 사이의 프레임은 기본적으로 잠겨 있지 않으므로 취소할 수 있습니다.

KsPinGetTrailingEdgeStreamPointer 는 주로 핀 중심 필터에서 사용합니다. 자세한 내용은 핀 중심 처리필터 중심 처리를 참조하세요.

KsPinGetTrailingEdgeStreamPointer 는 핀의 핀 설명자가 KSPIN_FLAG_DISTINCT_TRAILING_EDGE 플래그를 설정하여 큐에 고유한 후행 가장자리를 갖도록 지정하지 않으면 작동하지 않습니다.

요구 사항

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

추가 정보

KsPinGetLeadingEdgeStreamPointer

KsStreamPointerAdvance

KsStreamPointerAdvanceOffsetsAndUnlock

KsStreamPointerClone

KsStreamPointerDelete

KsStreamPointerLock

KsStreamPointerUnlock