From: Christoph von Wittich Date: Wed, 16 Nov 2005 14:57:50 +0000 (+0000) Subject: added UpdateDriverForPlugAndPlayDevicesA (untested) X-Git-Tag: backups/ros-branch-0_2_9@19949~643 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=57285d00b62d4740261d7dddb1714f248b9e722c added UpdateDriverForPlugAndPlayDevicesA (untested) svn path=/trunk/; revision=19264 --- diff --git a/reactos/lib/newdev/newdev.c b/reactos/lib/newdev/newdev.c index cc5424f6a51..4b19d24347c 100644 --- a/reactos/lib/newdev/newdev.c +++ b/reactos/lib/newdev/newdev.c @@ -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) { diff --git a/reactos/lib/newdev/stubs.c b/reactos/lib/newdev/stubs.c index 03b8ae9b3eb..7b465aaa3a6 100644 --- a/reactos/lib/newdev/stubs.c +++ b/reactos/lib/newdev/stubs.c @@ -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; -} +