2 #include "DeviceNode.h"
16 CAtlList
<CClassNode
*> m_ClassNodeList
;
17 CAtlList
<CDeviceNode
*> m_DeviceNodeList
;
19 SP_CLASSIMAGELIST_DATA m_ImageListData
;
23 HWND m_hPropertyDialog
;
28 HTREEITEM m_hTreeRoot
;
29 DEVINST m_RootDevInst
;
55 LRESULT
OnContextMenu(
61 _In_
bool ScanForChanges
,
65 VOID
DisplayPropertySheet();
68 VOID
SetHiddenDevices(_In_
bool ShowHidden
)
70 m_ShowHidden
= ShowHidden
;
73 ViewType
GetCurrentView() { return m_ViewType
; }
75 bool HasProperties(_In_ LPTV_ITEMW TvItem
);
76 //bool SelDeviceIsHidden();
77 bool CanDisable(_In_ LPTV_ITEMW TvItem
);
78 bool IsDisabled(_In_ LPTV_ITEMW TvItem
);
79 bool SelDeviceIsStarted();
80 bool SelDeviceIsInstalled();
85 bool RefreshDeviceList();
87 static unsigned int __stdcall
RefreshThread(
91 bool ListDevicesByConnection(
93 bool ListDevicesByType(
97 _In_ ULONG ClassIndex
,
98 _Out_ LPGUID ClassGuid
,
99 _Out_ HDEVINFO
*hDevInfo
102 VOID
RecurseChildDevices(
103 _In_ DEVINST ParentDevice
,
104 _In_ HTREEITEM hParentTreeItem
108 _In_ DEVINST ParentDevInst
,
109 _Out_ PDEVINST DevInst
112 bool GetSiblingDevice(
113 _In_ DEVINST PrevDevice
,
114 _Out_ PDEVINST DevInst
117 HTREEITEM
InsertIntoTreeView(
118 _In_ HTREEITEM hParent
,
122 VOID
RecurseDeviceView(
123 _In_ HTREEITEM hParentItem
126 VOID
EmptyDeviceView(
129 CNode
* GetNode(_In_ LPTV_ITEMW TvItem
);
130 CNode
* GetSelectedNode();
132 CClassNode
* GetClassNode(_In_ LPGUID ClassGuid
);
133 CDeviceNode
* GetDeviceNode(_In_ DEVINST Device
);