Microsoft DirectX 8.0 |
宣言 : Dllsetup.h
AMovieDllRegisterServer 使わない。 AMovieDllRegisterServer2 フィルタを登録および登録解除する。 AMovieDllUnregisterServer 使わない。 AMovieSetupRegisterFilter 使わない。 AMovieSetupRegisterFilter2 フィルタのメリット、ピン、およびメディア タイプを登録する。
使わない。代わりに AMovieDllRegisterServer2 を使用する。
構文
HRESULT AMovieDllRegisterServer(void);
フィルタを登録および登録解除する。
構文
HRESULT AMovieDllRegisterServer2( BOOL bRegister );
パラメータ
- bRegister
- TRUE はフィルタを登録することを表し、FALSE はフィルタの登録を解除することを表す。
戻り値
成功した場合は HRESULT 値 NOERROR を返す。それ以外の場合はエラー コードを返す。
注意
この関数はフィルタを設定するために使用する。詳細については、「DirectShow オブジェクトの登録方法」および SDK に含まれるサンプル フィルタを参照すること。
注 : フィルタ登録プロセスでは、カテゴリ別によるフィルタの登録が可能になっている。たとえば、キャプチャ フィルタと圧縮フィルタをそれぞれ対応するカテゴリにまとめて列挙することができる。以下の関数は、フィルタのカテゴリ別の登録および登録解除がどのように行われるかを示す。 以下の関数では、IFilterMapper2 インターフェイスを使用している。
static const WCHAR *g_wszName = L"Sample Compressor Filter" ; // サンプル コンプレッサ フィルタを登録する。 STDAPI DllRegisterServer( void ) { // サーバーを登録する。 HRESULT hr = AMovieDllRegisterServer2( TRUE ); if( FAILED(hr) ) return hr; IFilterMapper2 *pFm2 = 0; hr = CoCreateInstance( CLSID_FilterMapper2 , NULL , CLSCTX_INPROC_SERVER , IID_IFilterMapper2 , (void **)&pFm2 ); if(FAILED(hr)) return hr; static const AMOVIESETUP_MEDIATYPE sudAVICoTypeOut = { &MEDIATYPE_Video, &MEDIASUBTYPE_SampleVideoType }; static const AMOVIESETUP_MEDIATYPE sudAVICoTypeIn = { &MEDIATYPE_Video, &GUID_NULL }; static const AMOVIESETUP_PIN psudAVICoPins[] = { { L"Input" // strName , FALSE // bRendered , FALSE // bOutput , FALSE // bZero , FALSE // bMany , &CLSID_NULL // clsConnectsToFilter , 0 // strConnectsToPin , 1 // nTypes , &sudAVICoTypeIn } // lpTypes , { L"Output" // strName , FALSE // bRendered , TRUE // bOutput , FALSE // bZero , FALSE // bMany , &CLSID_NULL // clsConnectsToFilter , 0 // strConnectsToPin , 1 // nTypes , &sudAVICoTypeOut } }; // lpTypes REGFILTER2 rf2; rf2.dwVersion = 1; rf2.dwMerit = MERIT_DO_NOT_USE; rf2.cPins = NUMELMS(psudAVICoPins); rf2.rgPins = psudAVICoPins; hr = pFm2->RegisterFilter( CLSID_SampleCompressorFilter, g_wszName, // ユーザーに表示する名前 0, // デバイス モニカ &CLSID_VideoCompressorCategory, g_wszName, // 一意なインスタンス名 &rf2); pFm2->Release(); return hr; } // サンプル コンプレッサ フィルタの登録を解除する。 STDAPI DllUnregisterServer( void ) { HRESULT hr = AMovieDllRegisterServer2( FALSE ); if( FAILED(hr) ) return hr; IFilterMapper2 *pFm2 = 0; hr = CoCreateInstance( CLSID_FilterMapper2 , NULL , CLSCTX_INPROC_SERVER , IID_IFilterMapper2 , (void **)&pFm2 ); if(FAILED(hr)) return hr; hr = pFm2->UnregisterFilter( &CLSID_VideoCompressorCategory, g_wszName, CLSID_SampleCompressorFilter); pFm2->Release(); return hr; }
使わない。代わりに AMovieDllRegisterServer2 を使用する。
構文
HRESULT AMovieDllUnregisterServer(void);
使わない。代わりに AMovieSetupRegisterFilter2 を使用する。
構文
HRESULT AMovieSetupRegisterFilter( const AMOVIESETUP_FILTER const *psetupdata, IFilterMapper *pIFM, BOOL bRegister );
IFilterMapper2 を使用して、フィルタのメリット、ピン、およびメディア タイプをレジストリに登録する。
構文
HRESULT AMovieSetupRegisterFilter2( const AMOVIESETUP_FILTER const *psetupdata, IFilterMapper2 *pIFM2, BOOL bRegister );
パラメータ
- psetupdata
- AMOVIESETUP_FILTER データへのポインタ。
- pIFM
- IFilterMapper2 インターフェイスへのポインタ。
- bRegister
- フィルタを登録するかどうかを示す値。TRUE はフィルタを登録することを表し、FALSE はフィルタの登録を解除することを表す。
戻り値
成功した場合は HRESULT 値 NOERROR を返す。それ以外の場合はエラー コードを返す。
注意
AMovieDllRegisterServer2 は、COM サーバーが登録された後に、このヘルパー関数を使用してフィルタを登録する。
通常、フィルタは AMovieDllRegisterServer2 を使用し、この関数は直接呼び出さない。