Jeff Klein : mmdevapi: Correct MMDevPropStore_GetAt.

Alexandre Julliard julliard at winehq.org
Wed Oct 2 15:49:13 CDT 2013


Module: wine
Branch: master
Commit: 5b47e9b382d05532c3b8a5b68b63cfa4fa8408b0
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5b47e9b382d05532c3b8a5b68b63cfa4fa8408b0

Author: Jeff Klein <jeffrey.a.klein at gmail.com>
Date:   Sun Sep 29 17:26:36 2013 -0400

mmdevapi: Correct MMDevPropStore_GetAt.

---

 dlls/mmdevapi/devenum.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dlls/mmdevapi/devenum.c b/dlls/mmdevapi/devenum.c
index eebf4ed..6bb0d3f 100644
--- a/dlls/mmdevapi/devenum.c
+++ b/dlls/mmdevapi/devenum.c
@@ -1343,10 +1343,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;
@@ -1369,16 +1369,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;
 }
 




More information about the wine-cvs mailing list