[SETUPAPI]
authorEric Kohl <eric.kohl@reactos.org>
Sun, 29 May 2011 16:18:22 +0000 (16:18 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 29 May 2011 16:18:22 +0000 (16:18 +0000)
- Add stubs for CM_Set_Class_Registry_PropertyA/W.
- Add support for missing properties to CM_Set_DevNode_Registry_Property_ExA/W.

svn path=/trunk/; revision=51996

reactos/dll/win32/setupapi/cfgmgr.c
reactos/dll/win32/setupapi/setupapi.spec

index 212fa3d..482d711 100644 (file)
@@ -5000,6 +5000,32 @@ CONFIGRET WINAPI CM_Run_Detection_Ex(
 }
 
 
+/***********************************************************************
+ * CM_Set_Class_Registry_PropertyA [SETUPAPI.@]
+ */
+CONFIGRET WINAPI CM_Set_Class_Registry_PropertyA(
+    LPGUID ClassGuid, ULONG ulProperty, PCVOID Buffer, ULONG ulLength,
+    ULONG ulFlags, HMACHINE hMachine)
+{
+    FIXME("%p %lx %p %lu %lx %p\n",
+          ClassGuid, ulProperty, Buffer, ulLength, ulFlags, hMachine);
+    return CR_CALL_NOT_IMPLEMENTED;
+}
+
+
+/***********************************************************************
+ * CM_Set_Class_Registry_PropertyW [SETUPAPI.@]
+ */
+CONFIGRET WINAPI CM_Set_Class_Registry_PropertyW(
+    LPGUID ClassGuid, ULONG ulProperty, PCVOID Buffer, ULONG ulLength,
+    ULONG ulFlags, HMACHINE hMachine)
+{
+    FIXME("%p %lx %p %lu %lx %p\n",
+          ClassGuid, ulProperty, Buffer, ulLength, ulFlags, hMachine);
+    return CR_CALL_NOT_IMPLEMENTED;
+}
+
+
 /***********************************************************************
  * CM_Set_DevNode_Problem [SETUPAPI.@]
  */
@@ -5180,6 +5206,30 @@ CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExA(
                 ulType = REG_MULTI_SZ;
                 break;
 
+            case CM_DRP_SECURITY:
+                ulType = REG_BINARY;
+                break;
+
+            case CM_DRP_DEVTYPE:
+                ulType = REG_DWORD;
+                break;
+
+            case CM_DRP_EXCLUSIVE:
+                ulType = REG_DWORD;
+                break;
+
+            case CM_DRP_CHARACTERISTICS:
+                ulType = REG_DWORD;
+                break;
+
+            case CM_DRP_UI_NUMBER_DESC_FORMAT:
+                ulType = REG_SZ;
+                break;
+
+            case CM_DRP_REMOVAL_POLICY_OVERRIDE:
+                ulType = REG_DWORD;
+                break;
+
             default:
                 return CR_INVALID_PROPERTY;
         }
@@ -5332,6 +5382,30 @@ CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExW(
             ulType = REG_MULTI_SZ;
             break;
 
+        case CM_DRP_SECURITY:
+            ulType = REG_BINARY;
+            break;
+
+        case CM_DRP_DEVTYPE:
+            ulType = REG_DWORD;
+            break;
+
+        case CM_DRP_EXCLUSIVE:
+            ulType = REG_DWORD;
+            break;
+
+        case CM_DRP_CHARACTERISTICS:
+            ulType = REG_DWORD;
+            break;
+
+        case CM_DRP_UI_NUMBER_DESC_FORMAT:
+            ulType = REG_SZ;
+            break;
+
+        case CM_DRP_REMOVAL_POLICY_OVERRIDE:
+            ulType = REG_DWORD;
+            break;
+
         default:
             return CR_INVALID_PROPERTY;
     }
index c2ee183..e76d872 100644 (file)
 @ stdcall CM_Request_Eject_PC_Ex(long)
 @ stdcall CM_Run_Detection(long)
 @ stdcall CM_Run_Detection_Ex(long long)
-@ stub CM_Set_Class_Registry_PropertyA
-@ stub CM_Set_Class_Registry_PropertyW
+@ stdcall CM_Set_Class_Registry_PropertyA(ptr long ptr long long ptr)
+@ stdcall CM_Set_Class_Registry_PropertyW(ptr long ptr long long ptr)
 @ stdcall CM_Set_DevNode_Problem(long long long)
 @ stdcall CM_Set_DevNode_Problem_Ex(long long long long)
 @ stdcall CM_Set_DevNode_Registry_PropertyA(long long ptr long long)