added UpdateDriverForPlugAndPlayDevicesA (untested)
authorChristoph von Wittich <christoph_vw@reactos.org>
Wed, 16 Nov 2005 14:57:50 +0000 (14:57 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Wed, 16 Nov 2005 14:57:50 +0000 (14:57 +0000)
svn path=/trunk/; revision=19264

reactos/lib/newdev/newdev.c
reactos/lib/newdev/stubs.c

index cc5424f..4b19d24 100644 (file)
@@ -22,6 +22,68 @@ static DEVINSTDATA DevInstData;
 HINSTANCE hDllInstance;
 HANDLE hThread;
 
+/*
+* @unimplemented
+*/
+BOOL WINAPI
+UpdateDriverForPlugAndPlayDevicesW(
+            IN HWND hwndParent,
+            IN LPCWSTR HardwareId,
+            IN LPCWSTR FullInfPath,
+            IN DWORD InstallFlags,
+            OUT PBOOL bRebootRequired OPTIONAL)
+{
+    UNIMPLEMENTED;
+    SetLastError(ERROR_GEN_FAILURE);
+    return FALSE;
+}
+
+/*
+* @implemented
+*/
+BOOL WINAPI
+UpdateDriverForPlugAndPlayDevicesA(
+               IN HWND hwndParent,
+               IN LPCSTR HardwareId,
+               IN LPCSTR FullInfPath,
+               IN DWORD InstallFlags,
+               OUT PBOOL bRebootRequired OPTIONAL)
+{
+    BOOL Result;
+    LPWSTR HardwareIdW = NULL;
+    LPWSTR FullInfPathW = NULL;
+
+    int len = MultiByteToWideChar(CP_ACP, 0, HardwareId, -1, NULL, 0);
+    HardwareIdW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+    if (!HardwareIdW)
+    {
+        SetLastError(ERROR_GEN_FAILURE);
+        return FALSE;
+    }
+    MultiByteToWideChar(CP_ACP, 0, HardwareId, -1, HardwareIdW, len);
+
+    len = MultiByteToWideChar(CP_ACP, 0, FullInfPath, -1, NULL, 0);
+    FullInfPathW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+    if (!FullInfPathW)
+    {
+        SetLastError(ERROR_GEN_FAILURE);
+        return FALSE;
+    }
+    MultiByteToWideChar(CP_ACP, 0, FullInfPath, -1, FullInfPathW, len);
+
+    Result = UpdateDriverForPlugAndPlayDevicesW(hwndParent,
+        HardwareIdW,
+        FullInfPathW,
+        InstallFlags,
+        bRebootRequired);
+
+    HeapFree(GetProcessHeap(), 0, HardwareIdW);
+    HeapFree(GetProcessHeap(), 0, FullInfPathW);
+
+    return Result;
+}
+
+
 static HFONT
 CreateTitleFont(VOID)
 {
index 03b8ae9..7b465aa 100644 (file)
@@ -36,29 +36,6 @@ InstallSelectedDriverW(
        return FALSE;
 }
 
-BOOL WINAPI
-UpdateDriverForPlugAndPlayDevicesA(
-       IN HWND hwndParent,
-       IN LPCSTR HardwareId,
-       IN LPCSTR FullInfPath,
-       IN DWORD InstallFlags,
-       OUT PBOOL bRebootRequired OPTIONAL)
-{
-       UNIMPLEMENTED;
-       SetLastError(ERROR_GEN_FAILURE);
-       return FALSE;
-}
 
-BOOL WINAPI
-UpdateDriverForPlugAndPlayDevicesW(
-       IN HWND hwndParent,
-       IN LPCWSTR HardwareId,
-       IN LPCWSTR FullInfPath,
-       IN DWORD InstallFlags,
-       OUT PBOOL bRebootRequired OPTIONAL)
-{
-       UNIMPLEMENTED;
-       SetLastError(ERROR_GEN_FAILURE);
-       return FALSE;
-}
+