Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/msdmo/dmoreg.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/dlls/msdmo/dmoreg.c b/dlls/msdmo/dmoreg.c index 1944a0a..96579df 100644 --- a/dlls/msdmo/dmoreg.c +++ b/dlls/msdmo/dmoreg.c @@ -117,6 +117,15 @@ static LPWSTR GUIDToString(LPWSTR lpwstr, REFGUID lpcguid) return lpwstr; }
+static HRESULT string_to_guid(const WCHAR *string, GUID *guid) +{ + WCHAR buffer[39] = {'{',0}; + strcatW(buffer, string); + buffer[37] = '}'; + buffer[38] = 0; + return CLSIDFromString(buffer, guid); +} + static BOOL IsMediaTypeEqual(const DMO_PARTIAL_MEDIATYPE* mt1, const DMO_PARTIAL_MEDIATYPE* mt2) {
@@ -514,6 +523,7 @@ static HRESULT WINAPI IEnumDMO_fnNext( UINT count = 0; HRESULT hres = S_OK; LONG ret; + GUID guid;
IEnumDMOImpl *This = impl_from_IEnumDMO(iface);
@@ -537,6 +547,9 @@ static HRESULT WINAPI IEnumDMO_fnNext( break; }
+ if (string_to_guid(szNextKey, &guid) != S_OK) + continue; + TRACE("found %s\n", debugstr_w(szNextKey));
if (!(This->dwFlags & DMO_ENUMF_INCLUDE_KEYED))