다음을 통해 공유


CBasePin.CheckConnect 메서드

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

메서드는 CheckConnect 핀 연결이 적합한지 여부를 결정합니다.

구문

virtual HRESULT CheckConnect(
   IPin *pPin
);

매개 변수

pPin

다른 핀의 IPin 인터페이스에 대한 포인터입니다.

반환 값

다음 표에 표시된 HRESULT 값 중 하나를 반환합니다.

반환 코드 Description
S_OK
성공.
VFW_E_INVALID_DIRECTION
고정 방향은 호환되지 않습니다.

설명

이 메서드는 연결 프로세스가 시작될 때 두 핀에서 호출됩니다. 연결 핀은 CBasePin::Connect 메서드 내에서 호출하고 수신 핀은 CBasePin::ReceiveConnection 메서드 내에서 호출합니다.

이 메서드를 사용하여 pPin 매개 변수로 지정된 핀이 연결에 적합한지 여부를 확인합니다. 기본 클래스는 두 핀의 방향이 같은 경우(입력 또는 두 출력 모두) 오류를 반환합니다. 파생 클래스는 이 메서드를 재정의하여 핀의 다른 기능을 확인할 수 있습니다. 예를 들어 CBaseOutputPin 클래스는 IMemInputPin 인터페이스에 대한 입력 핀을 쿼리합니다.

이 메서드가 실패하면 연결이 실패하고 핀이 CBasePin::BreakConnect 메서드를 호출합니다. BreakConnect를 사용하여 에서 CheckConnect가져온 모든 리소스를 해제합니다. 예를 들어 QueryInterface 메서드를 호출하는 경우 CheckConnectBreakConnect는 인터페이스를 해제해야 합니다.

요구 사항

요구 사항
헤더
Amfilter.h(Streams.h 포함)
라이브러리
Strmbase.lib(소매 빌드);
Strmbasd.lib(디버그 빌드)

추가 정보

CBasePin 클래스