From 327a05db0fa7bf455e03d8dc3b8a0cf99b87ac30 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sun, 2 Jul 2006 19:20:45 +0000 Subject: [PATCH] Implement CM_Open_DevNode_Key and add CM_Open_DevNode_Key_Ex stub. svn path=/trunk/; revision=22777 --- reactos/dll/win32/cfgmgr32/cfgmgr32.def | 4 ++-- reactos/dll/win32/setupapi/cfgmgr.c | 29 ++++++++++++++++++++++++ reactos/dll/win32/setupapi/setupapi.spec | 4 ++-- reactos/include/ddk/cfgmgr32.h | 27 ++++++++++++++++++++-- reactos/include/reactos/wine/cfgmgr32.h | 2 ++ 5 files changed, 60 insertions(+), 6 deletions(-) diff --git a/reactos/dll/win32/cfgmgr32/cfgmgr32.def b/reactos/dll/win32/cfgmgr32/cfgmgr32.def index 031fa19b18c..ccf4a81958a 100644 --- a/reactos/dll/win32/cfgmgr32/cfgmgr32.def +++ b/reactos/dll/win32/cfgmgr32/cfgmgr32.def @@ -159,8 +159,8 @@ CM_Open_Class_KeyA@24=SETUPAPI.CM_Open_Class_KeyA CM_Open_Class_KeyW@24=SETUPAPI.CM_Open_Class_KeyW CM_Open_Class_Key_ExA@28=SETUPAPI.CM_Open_Class_Key_ExA CM_Open_Class_Key_ExW@28=SETUPAPI.CM_Open_Class_Key_ExW -;CM_Open_DevNode_Key -;CM_Open_DevNode_Key_Ex +CM_Open_DevNode_Key@24=SETUPAPI.CM_Open_DevNode_Key +CM_Open_DevNode_Key_Ex@28=SETUPAPI.CM_Open_DevNode_Key_Ex ;CM_Query_Arbitrator_Free_Data ;CM_Query_Arbitrator_Free_Data_Ex ;CM_Query_Arbitrator_Free_Size diff --git a/reactos/dll/win32/setupapi/cfgmgr.c b/reactos/dll/win32/setupapi/cfgmgr.c index 815862d3e2f..f0f345e6edc 100644 --- a/reactos/dll/win32/setupapi/cfgmgr.c +++ b/reactos/dll/win32/setupapi/cfgmgr.c @@ -2481,6 +2481,35 @@ CONFIGRET WINAPI CM_Open_Class_Key_ExW( } +/*********************************************************************** + * CM_Open_DevNode_Key [SETUPAPI.@] + */ +CONFIGRET WINAPI CM_Open_DevNode_Key( + DEVINST dnDevNode, REGSAM samDesired, ULONG ulHardwareProfile, + REGDISPOSITION Disposition, PHKEY phkDevice, ULONG ulFlags) +{ + TRACE("%lx %lx %lu %lx %p %lx\n", dnDevNode, samDesired, + ulHardwareProfile, Disposition, phkDevice, ulFlags); + return CM_Open_DevNode_Key_Ex(dnDevNode, samDesired, ulHardwareProfile, + Disposition, phkDevice, ulFlags, NULL); +} + + +/*********************************************************************** + * CM_Open_DevNode_Key_Ex [SETUPAPI.@] + */ +CONFIGRET WINAPI CM_Open_DevNode_Key_Ex( + DEVINST dnDevNode, REGSAM samDesired, ULONG ulHardwareProfile, + REGDISPOSITION Disposition, PHKEY phkDevice, ULONG ulFlags, + HMACHINE hMachine) +{ + FIXME("%lx %lx %lu %lx %p %lx %lx\n", dnDevNode, samDesired, + ulHardwareProfile, Disposition, phkDevice, ulFlags, hMachine); + + return CR_CALL_NOT_IMPLEMENTED; +} + + /*********************************************************************** * CM_Reenumerate_DevNode [SETUPAPI.@] */ diff --git a/reactos/dll/win32/setupapi/setupapi.spec b/reactos/dll/win32/setupapi/setupapi.spec index 3ed6659b7fc..1ed5789343c 100644 --- a/reactos/dll/win32/setupapi/setupapi.spec +++ b/reactos/dll/win32/setupapi/setupapi.spec @@ -143,8 +143,8 @@ @ stdcall CM_Open_Class_KeyW(ptr wstr long long ptr long) @ stdcall CM_Open_Class_Key_ExA(ptr str long long ptr long long) @ stdcall CM_Open_Class_Key_ExW(ptr wstr long long ptr long long) -@ stub CM_Open_DevNode_Key -@ stub CM_Open_DevNode_Key_Ex +@ stdcall CM_Open_DevNode_Key(ptr long long long ptr long) +@ stdcall CM_Open_DevNode_Key_Ex(ptr long long long ptr long long) @ stub CM_Query_Arbitrator_Free_Data @ stub CM_Query_Arbitrator_Free_Data_Ex @ stub CM_Query_Arbitrator_Free_Size diff --git a/reactos/include/ddk/cfgmgr32.h b/reactos/include/ddk/cfgmgr32.h index 42473acccdf..70c15d94581 100644 --- a/reactos/include/ddk/cfgmgr32.h +++ b/reactos/include/ddk/cfgmgr32.h @@ -1804,8 +1804,31 @@ CM_Open_Class_Key_ExW( #define CM_Open_Class_Key_Ex CM_Open_Class_Key_ExA #endif /* UNICODE */ -/* FIXME: Obsolete CM_Open_DevNode_Key */ -/* FIXME: Obsolete CM_Open_DevNode_Key_Ex */ +CMAPI +CONFIGRET +WINAPI +CM_Open_DevNode_Key( + IN DEVINST dnDevNode, + IN REGSAM samDesired, + IN ULONG ulHardwareProfile, + IN REGDISPOSITION Disposition, + OUT PHKEY phkDevice, + IN ULONG ulFlags); + +CMAPI +CONFIGRET +WINAPI +CM_Open_DevNode_Key_Ex( + IN DEVINST dnDevNode, + IN REGSAM samDesired, + IN ULONG ulHardwareProfile, + IN REGDISPOSITION Disposition, + OUT PHKEY phkDevice, + IN ULONG ulFlags, + IN HMACHINE hMachine); + +#define CM_Open_DevInst_Key CM_Open_DevNode_Key +#define CM_Open_DevInst_Key_Ex CM_Open_DevNode_Key_Ex /* CM_Query_And_Remove_SubTree.ulFlags constants */ #define CM_REMOVE_UI_OK 0x00000000 diff --git a/reactos/include/reactos/wine/cfgmgr32.h b/reactos/include/reactos/wine/cfgmgr32.h index ec66ac21178..7ab4ac3d4ad 100644 --- a/reactos/include/reactos/wine/cfgmgr32.h +++ b/reactos/include/reactos/wine/cfgmgr32.h @@ -304,6 +304,8 @@ CONFIGRET WINAPI CM_Open_Class_KeyW( LPGUID, LPCWSTR, REGSAM, REGDISPOSITION, PH CONFIGRET WINAPI CM_Open_Class_Key_ExA( LPGUID, LPCSTR, REGSAM, REGDISPOSITION, PHKEY, ULONG, HMACHINE ); CONFIGRET WINAPI CM_Open_Class_Key_ExW( LPGUID, LPCWSTR, REGSAM, REGDISPOSITION, PHKEY, ULONG, HMACHINE ); #define CM_Open_Class_Key_Ex WINELIB_NAME_AW(CM_Open_Class_Key_Ex) +CONFIGRET WINAPI CM_Open_DevNode_Key( DEVINST, REGSAM, ULONG, REGDISPOSITION, PHKEY, ULONG ); +CONFIGRET WINAPI CM_Open_DevNode_Key_Ex( DEVINST, REGSAM, ULONG, REGDISPOSITION, PHKEY, ULONG, HMACHINE ); CONFIGRET WINAPI CM_Reenumerate_DevNode( DEVINST, ULONG ); CONFIGRET WINAPI CM_Reenumerate_DevNode_Ex( DEVINST, ULONG, HMACHINE );