[ros-diffs] [ekohl] 44921: [devmgr] - Display the 'Enumerator' property.

ekohl at svn.reactos.org ekohl at svn.reactos.org
Sun Jan 3 23:41:13 CET 2010


Author: ekohl
Date: Sun Jan  3 23:41:13 2010
New Revision: 44921

URL: http://svn.reactos.org/svn/reactos?rev=44921&view=rev
Log:
[devmgr]
- Display the 'Enumerator' property.

Modified:
    trunk/reactos/base/services/umpnpmgr/umpnpmgr.c
    trunk/reactos/dll/win32/devmgr/advprop.c

Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/umpnpmgr/umpnpmgr.c?rev=44921&r1=44920&r2=44921&view=diff
==============================================================================
--- trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] (original)
+++ trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] Sun Jan  3 23:41:13 2010
@@ -667,11 +667,11 @@
             case CM_DRP_BUSNUMBER:
                 PlugPlayData.Property = DevicePropertyBusNumber;
                 break;
+#endif
 
             case CM_DRP_ENUMERATOR_NAME:
-                PlugPlayData.Property = DevicePropertyEnumeratorName;
+                PlugPlayData.Property = 15; //DevicePropertyEnumeratorName;
                 break;
-#endif
 
             default:
                 return CR_INVALID_PROPERTY;

Modified: trunk/reactos/dll/win32/devmgr/advprop.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/advprop.c?rev=44921&r1=44920&r2=44921&view=diff
==============================================================================
--- trunk/reactos/dll/win32/devmgr/advprop.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/devmgr/advprop.c [iso-8859-1] Sun Jan  3 23:41:13 2010
@@ -791,6 +791,39 @@
 //    SetListViewText(hwndListView, 0, dap->szTemp);
 }
 
+static VOID
+DisplayDevNodeEnumerator(IN PDEVADVPROP_INFO dap,
+                         IN HWND hwndListView)
+{
+    HDEVINFO DeviceInfoSet;
+    PSP_DEVINFO_DATA DeviceInfoData;
+
+    DWORD dwType = 0;
+    WCHAR szBuffer[256];
+    DWORD dwSize = 256 * sizeof(WCHAR);
+
+    if (dap->CurrentDeviceInfoSet != INVALID_HANDLE_VALUE)
+    {
+        DeviceInfoSet = dap->CurrentDeviceInfoSet;
+        DeviceInfoData = &dap->CurrentDeviceInfoData;
+    }
+    else
+    {
+        DeviceInfoSet = dap->DeviceInfoSet;
+        DeviceInfoData = &dap->DeviceInfoData;
+    }
+
+    CM_Get_DevNode_Registry_Property_ExW(DeviceInfoData->DevInst,
+                                         CM_DRP_ENUMERATOR_NAME,
+                                         &dwType,
+                                         &szBuffer,
+                                         &dwSize,
+                                         0,
+                                         dap->hMachine);
+
+    SetListViewText(hwndListView, 0, szBuffer);
+}
+
 
 
 static VOID
@@ -840,9 +873,11 @@
             break;
 
         case 5: /* Enumerator */
-            DisplayDevicePropertyText(dap,
-                                      hwndListView,
-                                      SPDRP_ENUMERATOR_NAME);
+            DisplayDevNodeEnumerator(dap,
+                                     hwndListView);
+//            DisplayDevicePropertyText(dap,
+//                                      hwndListView,
+//                                      SPDRP_ENUMERATOR_NAME);
             break;
 
         case 6: /* Capabilities */




More information about the Ros-diffs mailing list