다음을 통해 공유


5단계. 필터에 대한 포인터 저장

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

CBasePropertyPage::OnConnect 메서드를 재정의하여 필터에 대한 포인터를 저장합니다. 다음 예제에서는 필터의 사용자 지정 ISaturation 인터페이스에 대해 pUnk 매개 변수를 쿼리합니다.

HRESULT CGrayProp::OnConnect(IUnknown *pUnk)
{
    if (pUnk == NULL)
    {
        return E_POINTER;
    }
    ASSERT(m_pGray == NULL);
    return pUnk->QueryInterface(IID_ISaturation, 
        reinterpret_cast<void**>(&m_pGray));
}

다음: 6단계. 대화 상자를 초기화합니다.

필터 속성 페이지 만들기