ファクトリ テンプレートの宣言
次のステップは、フィルタ用のファクトリ テンプレートの宣言である。ファクトリ テンプレートは、クラス ファクトリの情報を格納する C++ クラスである。DLL の中で、DLL 内のフィルタまたは COM コンポーネントごとに 1 つずつ、CFactoryTemplate オブジェクトのグローバル配列を宣言する。この配列の名前は g_Templates でなければならない。ファクトリ テンプレートの詳細については、「DLL の作成方法」を参照すること。
ファクトリ テンプレートの m_pAMovieSetup_Filter メンバは、前に説明した AMOVIESETUP_FILTER 構造体へのポインタである。次の例に、ファクトリ テンプレートを示す。前の例で示した構造体を使っている。
CFactoryTemplate g_Templates[] = {
{
g_wszName, // 名前。
&CLSID_SomeFilter, // CLSID。
CSomeFilter::CreateInstance, // 作成関数。
NULL,
&sudFilterReg // フィルタ情報へのポインタ。
}
};
int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
フィルタ情報を宣言していない場合、m_pAMoveSetup_Filter は NULL にできる。