다음을 통해 공유


IKsClockPropertySet::KsGetState 메서드(ksproxy.h)

KsGetState 메서드는 기본 클록에서 핀의 스트리밍 상태를 검색합니다.

구문

HRESULT KsGetState(
  [out] KSSTATE *State
);

매개 변수

[out] State

핀의 스트리밍 상태를 지정하는 값을 받는 변수에 대한 포인터입니다. 이 값은 KSSTATE 열거 형식의 다음 값 중 하나일 수 있습니다.

Description
KSSTATE_STOP 핀을 오가는 데이터 스트리밍이 중지됩니다. 리소스 사용량이 가장 적고 KSSTATE_RUN 상태를 얻기 위한 대기 시간이 가장 많은 핀의 초기 상태를 나타냅니다.
KSSTATE_ACQUIRE 할당자가 협상되고 리소스가 획득되는 상태를 나타내지만 이 상태에서는 데이터가 버퍼링되지 않을 수 있습니다.
KSSTATE_PAUSE 시계가 대기 중이며 즉시 KSSTATE_RUN 상태로 변경되도록 준비됩니다. 실제로 KSSTATE_RUN 상태가 되지 않고 대부분의 리소스 사용량과 실행 상태에 대한 최소 대기 시간의 모드를 나타냅니다. 데이터는 이 상태에서 버퍼링할 수 있습니다. 핀 상태가 쿼리되고 해당 상태가 현재 일시 중지된 경우 핀은 일시 중지된 상태일 때 이 핀이 데이터 큐를 수행하지 않음을 나타내는 STATUS_NO_DATA_DETECTED 오류를 반환할 수 있습니다.
KSSTATE_RUN 핀이 스트리밍 데이터입니다. 즉, 핀은 스트림 데이터를 사용하거나 생성합니다.

반환 값

성공하면 NOERROR를 반환합니다. 그렇지 않으면 오류 코드를 반환합니다.

설명

핀의 상태는 핀에 대한 총 모터 컨트롤을 제공합니다. 미세 모터 제어는 사용자 지정 속성을 사용하여 클래스별로 수행됩니다. instance 경우 외부 레이저 디스크 플레이어를 스핀업하기 위해 해당 클래스와 관련된 사용자 지정 Mode 속성을 설정할 수 있습니다. 이 속성을 설정하면 모드의 효과에 따라 디바이스의 상태가 변경되는 경우도 있습니다.

필터 자체는 애플리케이션이 전체 필터의 상태를 설정할 수 있도록 이 상태 속성을 지원할 수 있습니다. 그렇지 않으면 각 핀의 상태가 설정되어야 합니다. 핀 상태가 KSSTATE_STOP 전환되면 IRP를 전달하는 각 연결은 스택 깊이를 다시 계산해야 합니다.

프록시는 KSPROPERTY_CLOCK_STATE 속성을 사용하여 핀의 스트리밍 상태를 검색합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 ksproxy.h(Ksproxy.h 포함)