다음을 통해 공유


CBasePin.CBasePin 생성자

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

생성자 메서드입니다.

구문

CBasePin(
   TCHAR         *pObjectName,
   CBaseFilter   *pFilter,
   CCritSec      *pLock,
   HRESULT       *phr,
   LPCWSTR       pName,
   PIN_DIRECTION dir
);

매개 변수

pObjectName

개체의 디버그 이름을 포함하는 문자열입니다. 자세한 내용은 CBaseObject를 참조하세요.

pFilter

이 핀을 만든 필터에 대한 포인터입니다.

pLock

상태 변경 내용을 직렬화하는 데 사용되는 CCritSec 잠금에 대한 포인터입니다. 필터 잠금 CBaseFilter::m_pLock 같은 중요한 섹션일 수 있습니다.

Phr

메서드의 성공 또는 실패를 나타내는 HRESULT 값을 받는 변수에 대한 포인터입니다. 개체를 만들기 전에 S_OK 값을 초기화합니다. 값은 오류가 발생한 경우에만 변경됩니다.

pName

핀의 이름을 포함하는 와이드 문자열입니다. 자세한 내용은 CBasePin::QueryPinInfo를 참조하세요.

dir

핀의 방향을 지정하는 PIN_DIRECTION 열거형의 멤버입니다.

설명

pLock으로 지정된 중요 섹션은 연결 상태, 할당자 선택, 미디어 유형 및 플러시 작업 상태 포함하여 핀의 상태를 직렬화합니다. 이 중요한 섹션을 사용하여 스트리밍 작업을 직렬화하지 마세요. 자세한 내용은 필터 그래프의 Data Flow 참조하세요.

필터는 생성자 메서드에 핀을 만들 수 있으므로 이 시점에서 pFilter 포인터는 유효한 개체를 참조하지 않을 수 있습니다. 포인터를 저장하지만 핀의 생성자 내에 있는 동안 역참조하지 마세요.

요구 사항

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

추가 정보

CBasePin 클래스