mmdevapi: correct MMDevPropStore_GetAt
Jeff Klein
jeffrey.a.klein at gmail.com
Sun Sep 29 16:26:36 CDT 2013
---
dlls/mmdevapi/devenum.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/mmdevapi/devenum.c b/dlls/mmdevapi/devenum.c
index 21a3530..6635588 100644
--- a/dlls/mmdevapi/devenum.c
+++ b/dlls/mmdevapi/devenum.c
@@ -1342,10 +1342,10 @@ static HRESULT WINAPI MMDevPropStore_GetCount(IPropertyStore *iface, DWORD *npro
*nprops = 0;
do {
DWORD len = sizeof(buffer)/sizeof(*buffer);
- if (RegEnumKeyExW(propkey, i, buffer, &len, NULL, NULL, NULL, NULL) != ERROR_SUCCESS)
+ if (RegEnumValueW(propkey, i, buffer, &len, NULL, NULL, NULL, NULL) != ERROR_SUCCESS)
break;
i++;
- } while (0);
+ } while (1);
RegCloseKey(propkey);
TRACE("Returning %i\n", i);
*nprops = i;
@@ -1368,16 +1368,16 @@ static HRESULT WINAPI MMDevPropStore_GetAt(IPropertyStore *iface, DWORD prop, PR
if (FAILED(hr))
return hr;
- if (RegEnumKeyExW(propkey, prop, buffer, &len, NULL, NULL, NULL, NULL) != ERROR_SUCCESS
- || len <= 40)
+ if (RegEnumValueW(propkey, prop, buffer, &len, NULL, NULL, NULL, NULL) != ERROR_SUCCESS
+ || len <= 39)
{
WARN("GetAt %u failed\n", prop);
return E_INVALIDARG;
}
RegCloseKey(propkey);
- buffer[39] = 0;
+ buffer[38] = 0;
CLSIDFromString(buffer, &key->fmtid);
- key->pid = atoiW(&buffer[40]);
+ key->pid = atoiW(&buffer[39]);
return S_OK;
}
--
1.8.3.2
More information about the wine-patches
mailing list