From 0e5ee8026d978e7ce8574cca9789a7b64ecd445c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Herv=C3=A9=20Poussineau?= Date: Fri, 2 Jun 2006 11:17:37 +0000 Subject: [PATCH] Implement CM_Add_IDA, CM_Add_IDW, CM_Add_ID_ExA Add stub for CM_Add_ID_ExW svn path=/trunk/; revision=22174 --- reactos/dll/win32/setupapi/cfgmgr.c | 55 ++++++++++++++++++++++++ reactos/dll/win32/setupapi/setupapi.spec | 8 ++-- reactos/include/reactos/wine/cfgmgr32.h | 11 +++++ 3 files changed, 70 insertions(+), 4 deletions(-) diff --git a/reactos/dll/win32/setupapi/cfgmgr.c b/reactos/dll/win32/setupapi/cfgmgr.c index 386de0dd31f..b5897cf5880 100644 --- a/reactos/dll/win32/setupapi/cfgmgr.c +++ b/reactos/dll/win32/setupapi/cfgmgr.c @@ -121,6 +121,61 @@ CONFIGRET WINAPI CMP_Report_LogOn( } +/*********************************************************************** + * CM_Add_IDA [SETUPAPI.@] + */ +CONFIGRET WINAPI CM_Add_IDA( + DEVINST dnDevInst, PSTR pszID, ULONG ulFlags) +{ + TRACE("%p %s %lx\n", dnDevInst, pszID, ulFlags); + return CM_Add_ID_ExA(dnDevInst, pszID, ulFlags, NULL); +} + + +/*********************************************************************** + * CM_Add_IDW [SETUPAPI.@] + */ +CONFIGRET WINAPI CM_Add_IDW( + DEVINST dnDevInst, PWSTR pszID, ULONG ulFlags) +{ + TRACE("%p %s %lx\n", dnDevInst, debugstr_w(pszID), ulFlags); + return CM_Add_ID_ExW(dnDevInst, pszID, ulFlags, NULL); +} + + +/*********************************************************************** + * CM_Add_ID_ExA [SETUPAPI.@] + */ +CONFIGRET WINAPI CM_Add_ID_ExA( + DEVINST dnDevInst, PSTR pszID, ULONG ulFlags, HMACHINE hMachine) +{ + PWSTR pszIDW; + CONFIGRET ret; + + TRACE("%p %s %lx %p\n", dnDevInst, pszID, ulFlags, hMachine); + + if (CaptureAndConvertAnsiArg(pszID, &pszIDW)) + return CR_INVALID_DATA; + + ret = CM_Add_ID_ExW(dnDevInst, pszIDW, ulFlags, hMachine); + + MyFree(pszIDW); + + return ret; +} + + +/*********************************************************************** + * CM_Add_ID_ExW [SETUPAPI.@] + */ +CONFIGRET WINAPI CM_Add_ID_ExW( + DEVINST dnDevInst, PWSTR pszID, ULONG ulFlags, HMACHINE hMachine) +{ + FIXME("%p %s %lx %p\n", dnDevInst, debugstr_w(pszID), ulFlags, hMachine); + return CR_CALL_NOT_IMPLEMENTED; +} + + /*********************************************************************** * CM_Connect_MachineA [SETUPAPI.@] */ diff --git a/reactos/dll/win32/setupapi/setupapi.spec b/reactos/dll/win32/setupapi/setupapi.spec index d546764c181..d08393f9cc0 100644 --- a/reactos/dll/win32/setupapi/setupapi.spec +++ b/reactos/dll/win32/setupapi/setupapi.spec @@ -11,10 +11,10 @@ @ stub CMP_WaitServicesAvailable @ stub CM_Add_Empty_Log_Conf @ stub CM_Add_Empty_Log_Conf_Ex -@ stub CM_Add_IDA -@ stub CM_Add_IDW -@ stub CM_Add_ID_ExA -@ stub CM_Add_ID_ExW +@ stdcall CM_Add_IDA(ptr str long) +@ stdcall CM_Add_IDW(ptr wstr long) +@ stdcall CM_Add_ID_ExA(ptr str long ptr) +@ stdcall CM_Add_ID_ExW(ptr wstr long ptr) @ stub CM_Add_Range @ stub CM_Add_Res_Des @ stub CM_Add_Res_Des_Ex diff --git a/reactos/include/reactos/wine/cfgmgr32.h b/reactos/include/reactos/wine/cfgmgr32.h index 243779fb867..0daa4f01652 100644 --- a/reactos/include/reactos/wine/cfgmgr32.h +++ b/reactos/include/reactos/wine/cfgmgr32.h @@ -68,6 +68,11 @@ DECL_WINELIB_CFGMGR32_TYPE_AW(DEVINSTID) #define RegDisposition_OpenExisting 0x00000001 #define RegDisposition_Bits 0x00000001 +/* ulFlags for CM_Add_ID[_Ex] */ +#define CM_ADD_ID_HARDWARE 0x00000000 +#define CM_ADD_ID_COMPATIBLE 0x00000001 +#define CM_ADD_ID_BITS 0x00000001 + /* ulFlags for CM_Open_Class_Key[_Ex] */ #define CM_OPEN_CLASS_KEY_INSTALLER 0x00000000 #define CM_OPEN_CLASS_KEY_INTERFACE 0x00000001 @@ -185,6 +190,12 @@ DECL_WINELIB_CFGMGR32_TYPE_AW(DEVINSTID) CONFIGRET WINAPI CMP_Init_Detection( DWORD ); CONFIGRET WINAPI CMP_Report_LogOn( DWORD, DWORD ); +CONFIGRET WINAPI CM_Add_IDA( DEVINST, PSTR, ULONG ); +CONFIGRET WINAPI CM_Add_IDW( DEVINST, PWSTR, ULONG ); +#define CM_Add_ID WINELIB_NAME_AW(CM_Add_ID) +CONFIGRET WINAPI CM_Add_ID_ExA( DEVINST, PSTR, ULONG, HMACHINE ); +CONFIGRET WINAPI CM_Add_ID_ExW( DEVINST, PWSTR, ULONG, HMACHINE ); +#define CM_Add_ID_Ex WINELIB_NAME_AW(CM_Add_ID_Ex) CONFIGRET WINAPI CM_Connect_MachineA( PCSTR, PHMACHINE ); CONFIGRET WINAPI CM_Connect_MachineW( PCWSTR, PHMACHINE ); #define CM_Connect_Machine WINELIB_NAME_AW(CM_Connect_Machine) -- 2.17.1