From bc297b2f4bffc8015422d316b8ff33461d37f60c Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sun, 11 Jun 2006 21:56:08 +0000 Subject: [PATCH] Implement CM_Delete_DevNode_Key and add CM_Delete_DevNode_Key_Ex stub. svn path=/trunk/; revision=22316 --- reactos/dll/win32/cfgmgr32/cfgmgr32.def | 4 ++-- reactos/dll/win32/setupapi/cfgmgr.c | 24 ++++++++++++++++++++++++ reactos/dll/win32/setupapi/setupapi.spec | 4 ++-- reactos/include/ddk/cfgmgr32.h | 22 ++++++++++++++++++++-- reactos/include/reactos/wine/cfgmgr32.h | 4 ++++ 5 files changed, 52 insertions(+), 6 deletions(-) diff --git a/reactos/dll/win32/cfgmgr32/cfgmgr32.def b/reactos/dll/win32/cfgmgr32/cfgmgr32.def index 3603b8c9fae..46a7efe9dcd 100644 --- a/reactos/dll/win32/cfgmgr32/cfgmgr32.def +++ b/reactos/dll/win32/cfgmgr32/cfgmgr32.def @@ -43,8 +43,8 @@ CM_Create_DevNode_ExW@20=SETUPAPI.CM_Create_DevNode_ExW ;CM_Create_Range_List CM_Delete_Class_Key@8=SETUPAPI.CM_Delete_Class_Key CM_Delete_Class_Key_Ex@12=SETUPAPI.CM_Delete_Class_Key_Ex -;CM_Delete_DevNode_Key -;CM_Delete_DevNode_Key_Ex +CM_Delete_DevNode_Key@12=SETUPAPI.CM_Delete_DevNode_Key +CM_Delete_DevNode_Key_Ex@16=SETUPAPI.CM_Delete_DevNode_Key_Ex ;CM_Delete_Range ;CM_Detect_Resource_Conflict ;CM_Detect_Resource_Conflict_Ex diff --git a/reactos/dll/win32/setupapi/cfgmgr.c b/reactos/dll/win32/setupapi/cfgmgr.c index 9ecb4012402..9e82cfdfee7 100644 --- a/reactos/dll/win32/setupapi/cfgmgr.c +++ b/reactos/dll/win32/setupapi/cfgmgr.c @@ -446,6 +446,30 @@ CONFIGRET WINAPI CM_Delete_Class_Key_Ex( ulFlags); } +/*********************************************************************** + * CM_Delete_DevNode_Key [SETUPAPI.@] + */ +CONFIGRET WINAPI CM_Delete_DevNode_Key( + DEVNODE dnDevNode, ULONG ulHardwareProfile, ULONG ulFlags) +{ + TRACE("%p %lu %lx\n", dnDevNode, ulHardwareProfile, ulFlags); + return CM_Delete_DevNode_Key_Ex(dnDevNode, ulHardwareProfile, ulFlags, + NULL); +} + +/*********************************************************************** + * CM_Delete_DevNode_Key_Ex [SETUPAPI.@] + */ +CONFIGRET WINAPI CM_Delete_DevNode_Key_Ex( + DEVNODE dnDevNode, ULONG ulHardwareProfile, ULONG ulFlags, + HANDLE hMachine) +{ + FIXME("%p %lu %lx %p\n", + dnDevNode, ulHardwareProfile, ulFlags, hMachine); + + return CR_CALL_NOT_IMPLEMENTED; +} + /*********************************************************************** * CM_Disable_DevNode [SETUPAPI.@] diff --git a/reactos/dll/win32/setupapi/setupapi.spec b/reactos/dll/win32/setupapi/setupapi.spec index d08393f9cc0..ee374c0d882 100644 --- a/reactos/dll/win32/setupapi/setupapi.spec +++ b/reactos/dll/win32/setupapi/setupapi.spec @@ -27,8 +27,8 @@ @ stub CM_Create_Range_List @ stdcall CM_Delete_Class_Key(ptr long) @ stdcall CM_Delete_Class_Key_Ex(ptr long long) -@ stub CM_Delete_DevNode_Key -@ stub CM_Delete_DevNode_Key_Ex +@ stdcall CM_Delete_DevNode_Key(long long long) +@ stdcall CM_Delete_DevNode_Key_Ex(long long long ptr) @ stub CM_Delete_Range @ stub CM_Detect_Resource_Conflict @ stub CM_Detect_Resource_Conflict_Ex diff --git a/reactos/include/ddk/cfgmgr32.h b/reactos/include/ddk/cfgmgr32.h index d01722306ec..9ea0bd624f5 100644 --- a/reactos/include/ddk/cfgmgr32.h +++ b/reactos/include/ddk/cfgmgr32.h @@ -827,8 +827,26 @@ CM_Delete_Class_Key_Ex( IN ULONG ulFlags, IN HANDLE hMachine); -/* FIXME: Obsolete CM_Delete_DevNode_Key */ -/* FIXME: Obsolete CM_Delete_DevNode_Key_Ex */ +CMAPI +CONFIGRET +WINAPI +CM_Delete_DevNode_Key( + IN DEVNODE dnDevNode, + IN ULONG ulHardwareProfile, + IN ULONG ulFlags); + +CMAPI +CONFIGRET +WINAPI +CM_Delete_DevNode_Key_Ex( + IN DEVNODE dnDevNode, + IN ULONG ulHardwareProfile, + IN ULONG ulFlags, + IN HANDLE hMachine); + +#define CM_Delete_DevInst_Key CM_Delete_DevNode_Key +#define CM_Delete_DevInst_Key_Ex CM_Delete_DevNode_Key_Ex + /* FIXME: Obsolete CM_Delete_Range */ /* FIXME: Obsolete CM_Detected_Resource_Conflict */ /* FIXME: Obsolete CM_Detected_Resource_Conflict_Ex */ diff --git a/reactos/include/reactos/wine/cfgmgr32.h b/reactos/include/reactos/wine/cfgmgr32.h index 0daa4f01652..07c6e99106e 100644 --- a/reactos/include/reactos/wine/cfgmgr32.h +++ b/reactos/include/reactos/wine/cfgmgr32.h @@ -31,6 +31,8 @@ typedef HANDLE HMACHINE; typedef HMACHINE *PHMACHINE; typedef DWORD DEVINST; typedef DEVINST *PDEVINST; +typedef DWORD DEVNODE; +typedef DEVNODE *PDEVNODE; typedef ULONG REGDISPOSITION; typedef CHAR *DEVINSTID_A; @@ -207,6 +209,8 @@ CONFIGRET WINAPI CM_Create_DevNode_ExW( PDEVINST, DEVINSTID_W, DEVINST, ULONG, H #define CM_Create_DevNode_Ex WINELIB_NAME_AW(CM_Create_DevNode_Ex) CONFIGRET WINAPI CM_Delete_Class_Key( LPGUID, ULONG ); CONFIGRET WINAPI CM_Delete_Class_Key_Ex( LPGUID, ULONG, HANDLE ); +CONFIGRET WINAPI CM_Delete_DevNode_Key( DEVNODE, ULONG, ULONG ); +CONFIGRET WINAPI CM_Delete_DevNode_Key_Ex( DEVNODE, ULONG, ULONG, HANDLE ); CONFIGRET WINAPI CM_Disable_DevNode( DEVINST, ULONG ); CONFIGRET WINAPI CM_Disable_DevNode_Ex( DEVINST, ULONG, HMACHINE ); CONFIGRET WINAPI CM_Disconnect_Machine( HMACHINE );