Reactos
1/*
2* PROJECT: ReactOS Device Manager
3* LICENSE: GPL - See COPYING in the top level directory
4* FILE: dll/win32/devmgr/devmgmt/RootNode.cpp
5* PURPOSE: Root object for
6* COPYRIGHT: Copyright 2015 Ged Murphy <gedmurphy@reactos.org>
7*
8*/
9
10#include "precomp.h"
11#include "devmgmt.h"
12#include "RootNode.h"
13
14
15CRootNode::CRootNode(_In_ PSP_CLASSIMAGELIST_DATA ImageListData) :
16 CNode(RootNode, ImageListData)
17{
18}
19
20
21CRootNode::~CRootNode()
22{
23}
24
25
26bool
27CRootNode::SetupNode()
28{
29
30 // Load the bitmap we'll be using as the root image
31 HBITMAP hRootImage;
32 hRootImage = LoadBitmapW(g_hThisInstance,
33 MAKEINTRESOURCEW(IDB_ROOT_IMAGE));
34 if (hRootImage == NULL)
35 return false;
36
37 // Add this bitmap to the device image list. This is a bit hacky, but it's safe
38 m_ClassImage = ImageList_Add(m_ImageListData->ImageList,
39 hRootImage,
40 NULL);
41 DeleteObject(hRootImage);
42
43
44 // Get the root instance
45 CONFIGRET cr;
46 cr = CM_Locate_DevNodeW(&m_DevInst,
47 NULL,
48 CM_LOCATE_DEVNODE_NORMAL);
49 if (cr != CR_SUCCESS)
50 {
51 return false;
52 }
53
54 // The root name is the computer name
55 DWORD Size = _countof(m_DisplayName);
56 GetComputerNameW(m_DisplayName, &Size);
57
58 return true;
59}