팩터리 템플릿 선언
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
다음 단계는 필터에 대한 팩터리 템플릿을 선언하는 것입니다. 팩터리 템플릿은 클래스 팩터리에 대한 정보를 포함하는 C++ 클래스입니다. DLL에서 DLL의 각 필터 또는 COM 구성 요소에 대해 하나씩 CFactoryTemplate 개체의 전역 배열을 선언합니다. 배열의 이름은 g_Templates. 팩터리 템플릿에 대한 자세한 내용은 DirectShow 필터 DLL을 만드는 방법을 참조하세요.
팩터리 템플릿의 m_pAMovieSetup_Filter 멤버는 앞에서 설명한 AMOVIESETUP_FILTER 구조체에 대한 포인터입니다. 다음 예제에서는 이전 예제에 제공된 구조를 사용하여 팩터리 템플릿을 보여 줍니다.
CFactoryTemplate g_Templates[] = {
{
g_wszName, // Name.
&CLSID_SomeFilter, // CLSID.
CSomeFilter::CreateInstance, // Creation function.
NULL,
&sudFilterReg // Pointer to filter information.
}
};
int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
필터 정보를 선언하지 않은 경우 m_pAMoveSetup_FilterNULL일 수 있습니다.
관련 항목