다음을 통해 공유


IKsControl 인터페이스(ks.h)

IKsControl 인터페이스는 AVStream 필터 및 핀에 구현된 COM 스타일 인터페이스입니다. 이를 통해 커널 모드의 클라이언트가 AVStream 자동화 개체(속성, 메서드 및 이벤트)에 액세스할 수 있습니다.

이 인터페이스에 해당하는 커널 모드 에 대한 자세한 내용은 IKsControl(ksproxy.h) 커널 스트리밍 프록시 COM 인터페이스를 참조하세요.

상속

IKsControl 인터페이스는 IUnknown 인터페이스에서 상속됩니다.

메서드

IKsControl 인터페이스에는 이러한 메서드가 있습니다.

 
IKsControl::KsEvent

IKsControl::KsEvent 메서드는 이벤트 집합에서 사용할 수 있는 다른 정의된 지원 작업과 함께 이벤트를 사용하거나 사용하지 않도록 설정합니다.
IKsControl::KsMethod

IKsControl::KsMethod 메서드는 메서드 집합에서 사용할 수 있는 다른 정의된 지원 작업과 함께 메서드를 KS 개체로 보냅니다.
IKsControl::KsProperty

IKsControl::KsProperty 메서드는 속성 집합에서 사용할 수 있는 다른 정의된 지원 작업과 함께 속성을 설정하거나 속성 정보를 검색합니다.

설명

참고:IKsControl 인터페이스는 KSPROPERTYSETID_ExtendedCameraControl 속성 집합의 KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY 속성과 함께 사용하면 안 됩니다. IMFExtendedCameraController를 사용하세요.

미니드라이버들은 일반적으로 KsPinGetConnectedFilterInterface 또는 KsPinGetConnectedPinInterface 호출을 통해 IKsControl 인터페이스를 획득합니다. COM 스타일 인터페이스이므로 이 인터페이스를 가져오기 위한 함수 호출은 QueryInterface 메서드를 호출하며, 이 메서드는 AddRef 메서드를 호출합니다. 따라서 미니 드라이버는 이러한 단계를 수행할 필요가 없습니다.

그러나 클라이언트가 IKsControl 인터페이스를 완료하는 즉시 Release 메서드를 호출하여 IKsControl을 해제해야 합니다.

C로 작성된 미니드라이버에서는 IKsControl 인터페이스를 C++ 추상 기본 클래스 대신 함수 테이블에 대한 포인터가 포함된 구조체로 조작합니다.

C++로 작성된 클라이언트는 다음을 수행합니다.

IKsControl *Control;

if (NT_SUCCESS (
  KsPinGetConnectedPinInterface (
    Pin,
    IID_IKsControl,
    (PVOID *)&Control) )
) {
  Control -> KsProperty (...);
  Control -> Release ();
}

그러나 C로 작성된 클라이언트는 대신 다음 코드를 사용합니다.

IKsControl *Control;

    If (NT_SUCCESS (
      KsPinGetConnectedPinInterface (
        Pin,
        IID_IKsControl,
        (PVOID *)&Control) )
    ) {
      Control -> lpVtbl -> KsProperty (...);
      Control -> lpVtbl -> Release ();
    }

자세한 내용은 AVStream 개요를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 ks.h(Ks.h 포함)

추가 정보

IKsControl(ksproxy.h)

KsPinGetConnectedFilterInterface

KsPinGetConnectedPinInterface