KsPinGetConnectedFilterInterface 함수(ks.h)

KsPinGetConnectedFilterInterface 함수는 COM 인터페이스에 대한 포인터를 얻기 위해 이 연결된 필터를 쿼리합니다.

구문

KSDDKAPI NTSTATUS KsPinGetConnectedFilterInterface(
  [in]  PKSPIN     Pin,
  [in]  const GUID *InterfaceId,
  [out] PVOID      *Interface
);

매개 변수

[in] Pin

KSPIN 구조체에 대한 포인터입니다. 이 핀이 연결된 필터는 요청된 인터페이스에 대해 쿼리됩니다.

[in] InterfaceId

가져올 인터페이스의 인터페이스 ID를 나타내는 GUID에 대한 포인터입니다. 이 인터페이스에 대해 QueryInterface 호출이 자동으로 수행됩니다.

[out] Interface

PVOID에 대한 포인터입니다. COM에서와 같이 결과 인터페이스 포인터는 *Interface에 입금됩니다. 이 인터페이스에는 해당 참조 수가 있으며 COM에서와 같이 호출자가 해제 해야 합니다 .

반환 값

KsPinGetConnectedFilterInterface는 인터페이스가 연결된 필터 또는 AVStream thunk에 있는 경우 STATUS_SUCCESS 반환합니다. STATUS_SUCCESS 반환되면 인터페이스 포인터가 *Interface에 입금됩니다. 그렇지 않으면 STATUS_NOINTERFACE 반환합니다. 이는 COM HRESULT E_NOINTERFACE 해당합니다.

설명

기본적으로 개체는 IUnknown 인터페이스 및 IKsControl 인터페이스를 지원합니다 . 필터 및 연결된 핀이 AVStream 개체인 경우 쿼리 및 반환된 인터페이스 포인터는 다른 드라이버에 대한 직접 호출입니다. 그러나 연결된 핀 및 필터가 AVStream 드라이버에 속하지 않는 경우 IoCallDriver를 사용하여 필터를 포함하는 드라이버에 대한 동기 호출을 통해 IKsControl 지원을 제공하는 thunk가 만들어집니다.

KsPinGetConnectedFilterInterface의 가장 일반적인 사용법은 Pin이 연결되는 필터에 대한 제어 인터페이스를 획득하는 것입니다. 그런 다음, 연결된 핀에 대한 속성, 메서드 또는 이벤트 호출에 이 컨트롤 인터페이스를 사용하거나 연결된 필터에 집계된 인터페이스를 쿼리할 수 있습니다. 연결된 필터가 AVStream 필터인 경우 AVStream은 비 AVStream 필터에 대해 IKsControlIUnknown 에 대해서만 unking을 제공합니다.

unk는 Pin이 원본 인 경우에만 만들어집니다. 따라서 다음 중 하나 이상이 true인 경우에만 호출이 작동합니다.

  • 연결이 AVStream 내(의 연결된 핀은 AVStream 핀임)입니다.
  • 은 원본 핀입니다.
그렇지 않으면 STATUS_UNSUCCESSFUL 반환됩니다.

요구 사항

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

추가 정보

IKsControl

IKsReferenceClock

KsFilterGetOuterUnknown

KsGetOuterUnknown

KsPinGetConnectedPinInterface

KsPinGetReferenceClockInterface

KsRegisterAggregatedClientUnknown