mfplat: Implement MFTUnregister.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
993f59361a
commit
4615f4db3a
|
@ -163,6 +163,44 @@ HRESULT WINAPI MFTRegister(CLSID clsid, GUID category, LPWSTR name, UINT32 flags
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* MFTUnregister (mfplat.@)
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI MFTUnregister(CLSID clsid)
|
||||||
|
{
|
||||||
|
WCHAR buffer[64], category[MAX_PATH];
|
||||||
|
HKEY htransform, hcategory, htmp;
|
||||||
|
DWORD size = MAX_PATH;
|
||||||
|
DWORD index = 0;
|
||||||
|
|
||||||
|
TRACE("(%s)\n", debugstr_guid(&clsid));
|
||||||
|
|
||||||
|
GUIDToString(buffer, &clsid);
|
||||||
|
|
||||||
|
if (!RegOpenKeyW(HKEY_CLASSES_ROOT, transform_keyW, &htransform))
|
||||||
|
{
|
||||||
|
RegDeleteKeyW(htransform, buffer);
|
||||||
|
RegCloseKey(htransform);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!RegOpenKeyW(HKEY_CLASSES_ROOT, categories_keyW, &hcategory))
|
||||||
|
{
|
||||||
|
while (RegEnumKeyExW(hcategory, index, category, &size, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
if (!RegOpenKeyW(hcategory, category, &htmp))
|
||||||
|
{
|
||||||
|
RegDeleteKeyW(htmp, buffer);
|
||||||
|
RegCloseKey(htmp);
|
||||||
|
}
|
||||||
|
size = MAX_PATH;
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
RegCloseKey(hcategory);
|
||||||
|
}
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* MFStartup (mfplat.@)
|
* MFStartup (mfplat.@)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -140,7 +140,7 @@
|
||||||
@ stdcall MFTRegister(int128 int128 wstr long long ptr long ptr ptr)
|
@ stdcall MFTRegister(int128 int128 wstr long long ptr long ptr ptr)
|
||||||
@ stub MFTRegisterLocal
|
@ stub MFTRegisterLocal
|
||||||
@ stub MFTRegisterLocalByCLSID
|
@ stub MFTRegisterLocalByCLSID
|
||||||
@ stub MFTUnregister
|
@ stdcall MFTUnregister(int128)
|
||||||
@ stub MFTUnregisterLocal
|
@ stub MFTUnregisterLocal
|
||||||
@ stub MFTUnregisterLocalByCLSID
|
@ stub MFTUnregisterLocalByCLSID
|
||||||
@ stub MFTraceError
|
@ stub MFTraceError
|
||||||
|
|
|
@ -39,6 +39,7 @@ HRESULT WINAPI MFTRegister(CLSID clsid, GUID category, LPWSTR name, UINT32 flags
|
||||||
HRESULT WINAPI MFShutdown(void);
|
HRESULT WINAPI MFShutdown(void);
|
||||||
HRESULT WINAPI MFStartup(ULONG version, DWORD flags);
|
HRESULT WINAPI MFStartup(ULONG version, DWORD flags);
|
||||||
HRESULT WINAPI MFUnlockPlatform(void);
|
HRESULT WINAPI MFUnlockPlatform(void);
|
||||||
|
HRESULT WINAPI MFTUnregister(CLSID clsid);
|
||||||
HRESULT WINAPI MFGetPluginControl(IMFPluginControl**);
|
HRESULT WINAPI MFGetPluginControl(IMFPluginControl**);
|
||||||
|
|
||||||
#endif /* __WINE_MFAPI_H */
|
#endif /* __WINE_MFAPI_H */
|
||||||
|
|
Loading…
Reference in New Issue