Annulation de l’inscription d’un filtre
Pour annuler l’inscription d’un filtre, implémentez la fonction DllUnregisterServer . dans cette fonction, appelez la fonction DirectShow AMovieDllRegisterServer2 avec la valeur false. Si vous avez appelé IFilterMapper2 :: RegisterFilter lorsque vous avez inscrit le filtre, appelez la méthode IFilterMapper2 :: UnregisterFilter ici.
L’exemple suivant montre comment annuler l’inscription d’un filtre :
STDAPI DllUnregisterServer()
{
HRESULT hr;
IFilterMapper2 *pFM2 = NULL;
hr = AMovieDllRegisterServer2(FALSE);
if (FAILED(hr))
return hr;
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_SomeFilter);
pFM2->Release();
return hr;
}