Author: gedmurphy
Date: Thu Nov 27 13:47:49 2014
New Revision: 65502

URL: http://svn.reactos.org/svn/reactos?rev=65502&view=rev
Log:
[DEVICE_MANAGER]
- Test whether a driver is hidden or not by checking its status instead of the 
old hack of hiding certain classes which we deemed should be hidden.
- Add support for hiding devices and problem overlays when showing by 
connection. 
- We now show and hide identical devices when run alongside the Win8 MS device 
manager in both by type and by connection.
- Update the radio buttons when selecting the menu type.
- Add a manifest and use Win7 arrows on the TreeView.

Added:
    trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt.exe.manifest   
(with props)
Modified:
    trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.cpp
    trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.h
    trunk/reactos/base/applications/mscutils/devmgmt_new/Devices.cpp
    trunk/reactos/base/applications/mscutils/devmgmt_new/Devices.h
    trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.cpp
    trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.h
    trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt.rc
    trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt_new.sln
    trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj
    trunk/reactos/base/applications/mscutils/devmgmt_new/stdafx.h

Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.cpp
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.cpp?rev=65502&r1=65501&r2=65502&view=diff
==============================================================================
--- trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.cpp 
[iso-8859-1] (original)
+++ trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.cpp 
[iso-8859-1] Thu Nov 27 13:47:49 2014
@@ -35,16 +35,16 @@
 /* PUBLIC METHODS *************************************/
 
 CDeviceView::CDeviceView(
-    HWND hMainWnd
+    HWND hMainWnd,
+    ListDevices List
     ) :
     m_Devices(NULL),
     m_hMainWnd(hMainWnd),
     m_hTreeView(NULL),
     m_hPropertyDialog(NULL),
     m_hShortcutMenu(NULL),
-    m_ListDevices(DevicesByType),
-    m_ShowHidden(FALSE),
-    m_ShowUnknown(TRUE)
+    m_ListDevices(List),
+    m_ShowHidden(FALSE)
 {
     m_Devices = new CDevices();
 }
@@ -85,8 +85,8 @@
                                     m_ImageList,
                                     TVSIL_NORMAL);
 
-        /* Display the devices */
-        Refresh();
+        /* Give the treeview arrows instead of +/- boxes (on Win7) */
+        SetWindowTheme(m_hTreeView, L"explorer", NULL);
     }
 
     return !!(m_hTreeView);
@@ -224,9 +224,6 @@
     INT ClassIndex;
     INT ClassImage;
     LPTSTR DeviceId = NULL;
-    
-    BOOL IsUnknown = FALSE;
-    BOOL IsHidden = FALSE;
     BOOL bSuccess;
 
 
@@ -255,12 +252,8 @@
                                           CLASS_NAME_LEN,
                                           ClassDescription,
                                           CLASS_DESC_LEN,
-                                          &ClassImage,
-                                          &IsUnknown,
-                                          &IsHidden);
-        if (bSuccess &&
-            (IsUnknown == FALSE || (IsUnknown && m_ShowUnknown)) &&
-            (IsHidden == FALSE || (IsHidden && m_ShowHidden)))
+                                          &ClassImage);
+        if (bSuccess)
         {
             BOOL bDevSuccess, AddedParent;
             HANDLE Handle = NULL;
@@ -268,7 +261,8 @@
             INT DeviceIndex = 0;
             BOOL MoreItems = FALSE;
             BOOL DeviceHasProblem = FALSE;
-            ULONG DeviceStatus, ProblemNumber;
+            ULONG DeviceStatus = 0;
+            ULONG ProblemNumber = 0;
             ULONG OverlayImage = 0;
 
             AddedParent = FALSE;
@@ -282,9 +276,35 @@
                                                              &MoreItems,
                                                              DeviceName,
                                                              DEVICE_NAME_LEN,
-                                                             &DeviceId);
+                                                             &DeviceId,
+                                                             &DeviceStatus,
+                                                             &ProblemNumber);
                 if (bDevSuccess)
                 {
+                    /* Check if this is a hidden device */
+                    if (DeviceStatus & DN_NO_SHOW_IN_DM)
+                    {
+                        if (m_ShowHidden == FALSE)
+                        {
+                            DeviceIndex++;
+                            continue;
+                        }
+                    }
+
+                    /* Check if the device has a problem */
+                    if (DeviceStatus & DN_HAS_PROBLEM)
+                    {
+                        DeviceHasProblem = TRUE;
+                        OverlayImage = 1;
+                    }
+
+                    /* The disabled overlay takes precidence over the problem 
overlay */
+                    if (ProblemNumber == CM_PROB_HARDWARE_DISABLED)
+                    {
+                        OverlayImage = 2;
+                    }
+
+
                     /* We have a device, we're gonna need to add the parent 
first */
                     if (AddedParent == FALSE)
                     {
@@ -299,26 +319,6 @@
                         AddedParent = TRUE;
                     }
 
-                    /* Get the status of the device */
-                    if (m_Devices->GetDeviceStatus(DeviceId,
-                                                   &DeviceStatus,
-                                                   &ProblemNumber))
-                    {
-                        /* Check if the device has a problem */
-                        if (DeviceStatus & DN_HAS_PROBLEM)
-                        {
-                            DeviceHasProblem = TRUE;
-                            OverlayImage = 1;
-                        }
-
-                        /* The disabled overlay takes precidence over the 
problem overlay */
-                        if (ProblemNumber == CM_PROB_DISABLED ||
-                            ProblemNumber == CM_PROB_HARDWARE_DISABLED)
-                        {
-                            OverlayImage = 2;
-                        }
-                    }
-
                     /* Add the device under the class item */
                     (VOID)InsertIntoTreeView(hDevItem,
                                              DeviceName,
@@ -414,6 +414,9 @@
     INT ClassImage;
     BOOL IsUnknown = FALSE;
     BOOL IsHidden = FALSE;
+    ULONG DeviceStatus = 0;
+    ULONG ProblemNumber = 0;
+    UINT OverlayImage = 0;
     BOOL bSuccess;
 
     /* Check if the parent has any child devices */
@@ -426,20 +429,38 @@
                                     DEVICE_NAME_LEN,
                                     &DeviceId,
                                     &ClassImage,
-                                    &IsUnknown,
-                                    &IsHidden);
+                                    &DeviceStatus,
+                                    &ProblemNumber);
     if (bSuccess)
     {
-        /* Add this device to the tree under its parent */
-        hDevItem = InsertIntoTreeView(hParentTreeItem,
-                                        DeviceName,
-                                        (LPARAM)DeviceId,
-                                        ClassImage,
-                                        0);
-        if (hDevItem)
+        /* Check if this is a hidden device */
+        if ((m_ShowHidden == TRUE) || (!(DeviceStatus & DN_NO_SHOW_IN_DM)))
         {
-            /* Check if this child has any children itself */
-            RecurseChildDevices(Device, hDevItem);
+            /* Check if the device has a problem */
+            if (DeviceStatus & DN_HAS_PROBLEM)
+            {
+                OverlayImage = 1;
+            }
+
+            /* The disabled overlay takes precidence over the problem overlay 
*/
+            if (ProblemNumber == CM_PROB_HARDWARE_DISABLED)
+            {
+                OverlayImage = 2;
+            }
+
+            /* Add this device to the tree under its parent */
+            hDevItem = InsertIntoTreeView(hParentTreeItem,
+                                          DeviceName,
+                                          (LPARAM)DeviceId,
+                                          ClassImage,
+                                          0);
+
+
+            if (hDevItem)
+            {
+                /* Check if this child has any children itself */
+                RecurseChildDevices(Device, hDevItem);
+            }
         }
     }
 
@@ -456,10 +477,30 @@
                                         DEVICE_NAME_LEN,
                                         &DeviceId,
                                         &ClassImage,
-                                        &IsUnknown,
-                                        &IsHidden);
+                                        &DeviceStatus,
+                                        &ProblemNumber);
         if (bSuccess)
         {
+            /* Check if this is a hidden device */
+            if (DeviceStatus & DN_NO_SHOW_IN_DM)
+            {
+                if (m_ShowHidden == FALSE)
+                    continue;
+            }
+
+            /* Check if the device has a problem */
+            if (DeviceStatus & DN_HAS_PROBLEM)
+            {
+                OverlayImage = 1;
+            }
+
+            /* The disabled overlay takes precidence over the problem overlay 
*/
+            if (ProblemNumber == CM_PROB_HARDWARE_DISABLED)
+            {
+                OverlayImage = 2;
+            }
+
+
             /* Add this device to the tree under its parent */
             hDevItem = InsertIntoTreeView(hParentTreeItem,
                                             DeviceName,
@@ -530,6 +571,7 @@
     tvItem.hItem = hItem;
     tvItem.mask = TVIF_PARAM;
 
+    /* Get the item data */
     if (TreeView_GetItem(m_hTreeView, &tvItem) &&
         tvItem.lParam != NULL)
     {
@@ -546,9 +588,11 @@
         hItem = TreeView_GetNextSibling(m_hTreeView, hItem);
         if (hItem == NULL) break;
 
+        /* The lParam contains the device id */
         tvItem.hItem = hItem;
         tvItem.mask = TVIF_PARAM;
 
+        /* Get the item data and free the device id */
         if (TreeView_GetItem(m_hTreeView, &tvItem))
         {
             if (tvItem.lParam != NULL)

Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.h?rev=65502&r1=65501&r2=65502&view=diff
==============================================================================
--- trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.h   
[iso-8859-1] (original)
+++ trunk/reactos/base/applications/mscutils/devmgmt_new/DeviceView.h   
[iso-8859-1] Thu Nov 27 13:47:49 2014
@@ -19,15 +19,16 @@
     ListDevices m_ListDevices;
 
     HIMAGELIST m_ImageList;
-    //HDEVINFO m_hDevInfo;
-
     HTREEITEM m_hTreeRoot;
 
     BOOL m_ShowHidden;
-    BOOL m_ShowUnknown;
 
 public:
-    CDeviceView(HWND hMainWnd);
+    CDeviceView(
+        HWND hMainWnd,
+        ListDevices List
+        );
+
     ~CDeviceView(void);
 
     BOOL Initialize();
@@ -52,11 +53,6 @@
     VOID ShowHiddenDevices(_In_ BOOL ShowHidden)
     {
         m_ShowHidden = ShowHidden;
-    }
-
-    VOID ShowUnknownDevices(BOOL ShowUnknown)
-    {
-        m_ShowUnknown = ShowUnknown;
     }
 
 private:

Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/Devices.cpp
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/devmgmt_new/Devices.cpp?rev=65502&r1=65501&r2=65502&view=diff
==============================================================================
--- trunk/reactos/base/applications/mscutils/devmgmt_new/Devices.cpp    
[iso-8859-1] (original)
+++ trunk/reactos/base/applications/mscutils/devmgmt_new/Devices.cpp    
[iso-8859-1] Thu Nov 27 13:47:49 2014
@@ -138,14 +138,15 @@
     _In_ DWORD DeviceNameSize,
     _Outptr_ LPWSTR *DeviceId,
     _Out_ PINT ClassImage,
-    _Out_ LPBOOL IsUnknown,
-    _Out_ LPBOOL IsHidden
+    _Out_ PULONG Status,
+    _Out_ PULONG ProblemNumber
     )
 {
     WCHAR ClassGuidString[MAX_GUID_STRING_LEN];
     GUID ClassGuid;
     ULONG ulLength;
     CONFIGRET cr;
+    BOOL bSuccess;
 
     *DeviceId = NULL;
 
@@ -153,11 +154,13 @@
     cr = CM_Get_Device_ID_Size(&ulLength, Device, 0);
     if (cr == CR_SUCCESS)
     {
+        /* We alloc heap here because this will be stored in the lParam of the 
TV */
         *DeviceId = (LPWSTR)HeapAlloc(GetProcessHeap(),
                                       0,
                                       (ulLength + 1) * sizeof(WCHAR));
         if (*DeviceId)
         {
+            /* Now get the actual device id */
             cr = CM_Get_Device_IDW(Device,
                                    *DeviceId,
                                    ulLength + 1,
@@ -175,6 +178,15 @@
         return FALSE;
 
 
+    /* Get the current status of the device */
+    bSuccess = GetDeviceStatus(*DeviceId, Status, ProblemNumber);
+    if (bSuccess == FALSE)
+    {
+        HeapFree(GetProcessHeap(), 0, *DeviceId);
+        *DeviceId = NULL;
+        return FALSE;
+    }
+
     /* Get the class guid for this device */
     ulLength = MAX_GUID_STRING_LEN * sizeof(WCHAR);
     cr = CM_Get_DevNode_Registry_PropertyW(Device,
@@ -187,20 +199,13 @@
     {
         /* Convert the string to a proper guid */
         CLSIDFromString(ClassGuidString, &ClassGuid);
-
-        /* Check if this is a hidden device */
-        if ((IsEqualGUID(ClassGuid, GUID_DEVCLASS_LEGACYDRIVER) ||
-            IsEqualGUID(ClassGuid, GUID_DEVCLASS_VOLUME)))
-        {
-            *IsHidden = TRUE;
-        }
     }
     else
     {
         /* It's a device with no driver */
         ClassGuid = GUID_DEVCLASS_UNKNOWN;
-        *IsUnknown = TRUE;
-    }
+    }
+
 
     /* Get the image for the class this device is in */
     SetupDiGetClassImageIndex(&m_ImageListData,
@@ -245,9 +250,7 @@
     _In_ DWORD ClassNameSize,
     _Out_writes_(ClassDescSize) LPWSTR ClassDesc,
     _In_ DWORD ClassDescSize,
-    _Out_ PINT ClassImage,
-    _Out_ LPBOOL IsUnknown,
-    _Out_ LPBOOL IsHidden
+    _Out_ PINT ClassImage
     )
 {
     DWORD RequiredSize, Type, Size;
@@ -258,8 +261,6 @@
     ClassName[0] = UNICODE_NULL;
     ClassDesc[0] = UNICODE_NULL;
     *ClassImage = -1;
-    *IsUnknown = FALSE;
-    *IsHidden = FALSE;
 
     /* Get the next class in the list */
     cr = CM_Enumerate_Classes(ClassIndex,
@@ -332,16 +333,6 @@
                                     ClassGuid,
                                     ClassImage);
 
-    /* Check if this is an unknown device */
-    *IsUnknown = IsEqualGUID(*ClassGuid, GUID_DEVCLASS_UNKNOWN);
-
-    /* Check if this is one of the classes we hide by default */
-    if (IsEqualGUID(*ClassGuid, GUID_DEVCLASS_LEGACYDRIVER) ||
-        IsEqualGUID(*ClassGuid, GUID_DEVCLASS_VOLUME))
-    {
-        *IsHidden = TRUE;
-    }
-
     return TRUE;
 }
 
@@ -353,7 +344,9 @@
     _Out_ LPBOOL MoreItems,
     _Out_ LPTSTR DeviceName,
     _In_ DWORD DeviceNameSize,
-    _Outptr_ LPTSTR *DeviceId
+    _Outptr_ LPTSTR *DeviceId,
+    _Out_ PULONG Status,
+    _Out_ PULONG ProblemNumber
     )
 {
     SP_DEVINFO_DATA DeviceInfoData;
@@ -454,7 +447,6 @@
                                            NULL);
     if (bSuccess == FALSE) goto Quit;
 
-
     /* Skip the root device */
     if (*DeviceId != NULL &&
         wcscmp(*DeviceId, L"HTREE\\ROOT\\0") == 0)
@@ -462,6 +454,12 @@
         bSuccess = FALSE;
         goto Quit;
     }
+
+
+    /* Get the current status of the device */
+    bSuccess = GetDeviceStatus(*DeviceId, Status, ProblemNumber);
+    if (bSuccess == FALSE) goto Quit;
+
 
     /* Get the device's friendly name */
     bSuccess = SetupDiGetDeviceRegistryPropertyW(hDevInfo,
@@ -552,7 +550,6 @@
     return bSuccess;
 }
 
-
 DWORD
 CDevices::ConvertResourceDescriptorToString(
     _Inout_z_ LPWSTR ResourceDescriptor,

Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/Devices.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/devmgmt_new/Devices.h?rev=65502&r1=65501&r2=65502&view=diff
==============================================================================
--- trunk/reactos/base/applications/mscutils/devmgmt_new/Devices.h      
[iso-8859-1] (original)
+++ trunk/reactos/base/applications/mscutils/devmgmt_new/Devices.h      
[iso-8859-1] Thu Nov 27 13:47:49 2014
@@ -44,8 +44,8 @@
         _In_ DWORD DeviceNameSize,
         _Outptr_ LPTSTR *DeviceId,
         _Out_ PINT ClassImage,
-        _Out_ LPBOOL IsUnknown,
-        _Out_ LPBOOL IsHidden
+        _Out_ PULONG Status,
+        _Out_ PULONG ProblemNumber
         );
 
     BOOL EnumClasses(
@@ -55,9 +55,7 @@
         _In_ DWORD ClassNameSize,
         _Out_writes_(ClassDescSize) LPWSTR ClassDesc,
         _In_ DWORD ClassDescSize,
-        _Out_ PINT ClassImage,
-        _Out_ LPBOOL IsUnknown,
-        _Out_ LPBOOL IsHidden
+        _Out_ PINT ClassImage
         );
 
     BOOL EnumDevicesForClass(
@@ -67,7 +65,9 @@
         _Out_ LPBOOL MoreItems,
         _Out_writes_(DeviceNameSize)  LPTSTR DeviceName,
         _In_ DWORD DeviceNameSize,
-        _Outptr_ LPTSTR *DeviceId
+        _Outptr_ LPTSTR *DeviceId,
+        _Out_ PULONG Status,
+        _Out_ PULONG ProblemNumber
         );
 
     BOOL GetDeviceStatus(
@@ -87,7 +87,6 @@
     BOOL CreateRootDevice(
         );
 
-
     DWORD ConvertResourceDescriptorToString(
         _Inout_z_ LPWSTR ResourceDescriptor,
         _In_ DWORD ResourceDescriptorSize

Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.cpp
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.cpp?rev=65502&r1=65501&r2=65502&view=diff
==============================================================================
--- trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.cpp 
[iso-8859-1] (original)
+++ trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.cpp 
[iso-8859-1] Thu Nov 27 13:47:49 2014
@@ -105,10 +105,6 @@
                                      NULL,
                                      g_hInstance,
                                      this);
-        if (m_hMainWnd)
-        {
-            m_hMenu = GetMenu(m_hMainWnd);
-        }
     }
 
     /* Return creation result */
@@ -169,6 +165,38 @@
                         HintId);
 
     return Found;
+}
+
+BOOL
+CMainWindow::UpdateDevicesDisplay(ListDevices List)
+{
+    UINT CheckId;
+    BOOL bSuccess;
+
+    /* Set the new type*/
+    m_DeviceView->SetDeviceListType(List);
+
+    /* Get the menu item id */
+    switch (List)
+    {
+        case DevicesByType: CheckId = IDC_DEVBYTYPE; break;
+        case DevicesByConnection: CheckId = IDC_DEVBYCONN; break;
+        case ResourcesByType: CheckId = IDC_RESBYTYPE; break;
+        case ResourcesByConnection: CheckId = IDC_RESBYCONN; break;
+        default: ATLASSERT(FALSE); break;
+    }
+
+    /* Set the new check item */
+    bSuccess = CheckMenuRadioItem(m_hMenu,
+                                  IDC_DEVBYTYPE,
+                                  IDC_RESBYCONN,
+                                  CheckId,
+                                  MF_BYCOMMAND);
+
+    /* Refresh the view */
+    m_DeviceView->Refresh();
+
+    return TRUE;
 }
 
 BOOL
@@ -329,15 +357,20 @@
     /* Store the window handle */
     m_hMainWnd = hwnd;
 
+    /* Get the menu handle */
+    m_hMenu = GetMenu(m_hMainWnd);
+
     /* Create the toolbar */
     if (CreateToolBar() && CreateStatusBar())
     {
         /* Create the device view object */
-        m_DeviceView = new CDeviceView(m_hMainWnd);
+        m_DeviceView = new CDeviceView(m_hMainWnd, DevicesByType);
 
         /* Initialize it */
         if (m_DeviceView->Initialize())
         {
+            UpdateDevicesDisplay(DevicesByType);
+
             /* Display the window according to the user request */
             ShowWindow(hwnd, m_CmdShow);
 
@@ -450,27 +483,15 @@
 
         case IDC_DEVBYTYPE:
         {
-            m_DeviceView->SetDeviceListType(DevicesByType);
-            CheckMenuRadioItem(m_hMenu,
-                               IDC_DEVBYTYPE,
-                               IDC_RESBYCONN,
-                               IDC_DEVBYTYPE,
-                               MF_BYCOMMAND);
-            m_DeviceView->Refresh();
-        }
-        break;
+            UpdateDevicesDisplay(DevicesByType);
+            break;
+        }
 
         case IDC_DEVBYCONN:
         {
-            m_DeviceView->SetDeviceListType(DevicesByConnection);
-            CheckMenuRadioItem(m_hMenu,
-                               IDC_DEVBYTYPE,
-                               IDC_RESBYCONN,
-                               IDC_DEVBYCONN,
-                               MF_BYCOMMAND);
-            m_DeviceView->Refresh();
-        }
-        break;
+            UpdateDevicesDisplay(DevicesByConnection);
+            break;
+        }
 
         case IDC_SHOWHIDDEN:
         {

Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.h?rev=65502&r1=65501&r2=65502&view=diff
==============================================================================
--- trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.h   
[iso-8859-1] (original)
+++ trunk/reactos/base/applications/mscutils/devmgmt_new/MainWindow.h   
[iso-8859-1] Thu Nov 27 13:47:49 2014
@@ -18,8 +18,21 @@
     HMENU m_hMenu;
     int m_CmdShow;
 
+public:
+    CMainWindow(void);
+    ~CMainWindow(void);
+
+    BOOL Initialize(LPCTSTR lpCaption, int nCmdShow);
+    INT Run();
+    VOID Uninitialize();
+
 private:
-    static LRESULT CALLBACK MainWndProc(HWND hwnd, UINT msg, WPARAM wParam, 
LPARAM lParam);
+    static LRESULT CALLBACK MainWndProc(
+        HWND hwnd,
+        UINT msg,
+        WPARAM wParam,
+        LPARAM lParam
+        );
 
     LRESULT OnCreate(HWND hwnd);
     LRESULT OnDestroy();
@@ -30,19 +43,23 @@
 
     BOOL CreateToolBar();
     BOOL CreateStatusBar();
-    BOOL StatusBarLoadString(HWND hStatusBar, INT PartId, HINSTANCE hInstance, 
UINT uID);
-    BOOL MainWndMenuHint(WORD CmdId,
-                         const MENU_HINT *HintArray,
-                         DWORD HintsCount,
-                         UINT DefHintId);
 
-public:
-    CMainWindow(void);
-    ~CMainWindow(void);
+    BOOL StatusBarLoadString(
+        HWND hStatusBar,
+        INT PartId,
+        HINSTANCE hInstance,
+        UINT uID
+        );
 
-    BOOL Initialize(LPCTSTR lpCaption, int nCmdShow);
-    INT Run();
-    VOID Uninitialize();
+    BOOL MainWndMenuHint(
+        WORD CmdId,
+        const MENU_HINT *HintArray,
+        DWORD HintsCount,
+        UINT DefHintId
+        );
 
+    BOOL UpdateDevicesDisplay(
+        ListDevices List
+        );
 };
 

Added: trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt.exe.manifest
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt.exe.manifest?rev=65502
==============================================================================
--- trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt.exe.manifest   
(added)
+++ trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt.exe.manifest   
[iso-8859-1] Thu Nov 27 13:47:49 2014
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly
+  xmlns="urn:schemas-microsoft-com:asm.v1"
+  manifestVersion="1.0">
+<assemblyIdentity
+    name="ReactOS.Apps.devmgmt"
+    processorArchitecture="*"
+    version="1.0.0.0"
+    type="win32"/>
+<description>ReactOS Device Manager</description>
+<dependency>
+    <dependentAssembly>
+        <assemblyIdentity
+            type="win32"
+            name="Microsoft.Windows.Common-Controls"
+            version="6.0.0.0"
+            processorArchitecture="*"
+            publicKeyToken="6595b64144ccf1df"
+            language="*"
+        />
+    </dependentAssembly>
+</dependency>
+</assembly>
+

Propchange: 
trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt.exe.manifest
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt.rc?rev=65502&r1=65501&r2=65502&view=diff
==============================================================================
Binary files - no diff available.

Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt_new.sln
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt_new.sln?rev=65502&r1=65501&r2=65502&view=diff
==============================================================================
--- trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt_new.sln        
[iso-8859-1] (original)
+++ trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt_new.sln        
[iso-8859-1] Thu Nov 27 13:47:49 2014
@@ -4,11 +4,6 @@
 VisualStudioVersion = 12.0.30501.0
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "devmgmt_new", 
"devmgmt_new.vcxproj", "{47B3358F-E7C3-4D02-9310-68813B9292E0}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", 
"Solution Items", "{9ED8D860-F1E9-4F32-8EE7-D8BAEC9BF319}"
-       ProjectSection(SolutionItems) = preProject
-               Performance1.psess = Performance1.psess
-       EndProjectSection
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution

Modified: 
trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj?rev=65502&r1=65501&r2=65502&view=diff
==============================================================================
--- trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj    
[iso-8859-1] (original)
+++ trunk/reactos/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj    
[iso-8859-1] Thu Nov 27 13:47:49 2014
@@ -41,9 +41,11 @@
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <LinkIncremental>true</LinkIncremental>
+    <GenerateManifest>false</GenerateManifest>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
+    <GenerateManifest>false</GenerateManifest>
   </PropertyGroup>
   <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
@@ -56,7 +58,7 @@
     <Link>
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      
<AdditionalDependencies>comctl32.lib;setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>UxTheme.lib;comctl32.lib;setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
     <ResourceCompile>
       
<PreprocessorDefinitions>LANGUAGE_EN_US;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -77,7 +79,7 @@
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      
<AdditionalDependencies>comctl32.lib;setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>UxTheme.lib;comctl32.lib;setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>

Modified: trunk/reactos/base/applications/mscutils/devmgmt_new/stdafx.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/devmgmt_new/stdafx.h?rev=65502&r1=65501&r2=65502&view=diff
==============================================================================
--- trunk/reactos/base/applications/mscutils/devmgmt_new/stdafx.h       
[iso-8859-1] (original)
+++ trunk/reactos/base/applications/mscutils/devmgmt_new/stdafx.h       
[iso-8859-1] Thu Nov 27 13:47:49 2014
@@ -6,6 +6,7 @@
 #include <setupapi.h>
 #include <cfgmgr32.h>
 #include <commctrl.h>
+#include <Uxtheme.h>
 #include <Cfgmgr32.h>
 #include <devguid.h>
 


Reply via email to