2 #include "DeviceNode.h"
17 CRootNode
*m_RootNode
;
18 CAtlList
<CClassNode
*> m_ClassNodeList
;
19 CAtlList
<CDeviceNode
*> m_DeviceNodeList
;
20 SP_CLASSIMAGELIST_DATA m_ImageListData
;
23 HWND m_hPropertyDialog
;
26 HTREEITEM m_hTreeRoot
;
50 LRESULT
OnContextMenu(
60 _In_
bool ScanForChanges
,
62 _In_opt_ LPWSTR DeviceId
65 VOID
DisplayPropertySheet();
68 VOID
SetHiddenDevices(_In_
bool ShowHidden
)
70 m_ShowHidden
= ShowHidden
;
73 ViewType
GetCurrentView() { return m_ViewType
; }
75 bool CreateActionMenu(
80 CNode
* GetSelectedNode(
83 bool SelDeviceIsStarted();
84 bool SelDeviceIsInstalled();
89 bool RefreshDeviceList();
91 static unsigned int __stdcall
RefreshThread(
95 bool ListDevicesByConnection(
97 bool ListDevicesByType(
101 _In_ ULONG ClassIndex
,
102 _Out_ LPGUID ClassGuid
,
103 _Out_ HDEVINFO
*hDevInfo
106 bool RecurseChildDevices(
107 _In_ DEVINST ParentDevice
,
108 _In_ HTREEITEM hParentTreeItem
111 bool EnableSelectedDevice(
113 _Out_
bool &NeedsReboot
116 bool UninstallSelectedDevice(
120 _In_ DEVINST ParentDevInst
,
121 _Out_ PDEVINST DevInst
124 bool GetSiblingDevice(
125 _In_ DEVINST PrevDevice
,
126 _Out_ PDEVINST DevInst
129 HTREEITEM
InsertIntoTreeView(
130 _In_opt_ HTREEITEM hParent
,
134 void BuildActionMenuForNode(
135 _In_ HMENU OwnerMenu
,
140 HTREEITEM
RecurseFindDevice(
141 _In_ HTREEITEM hParentItem
,
149 void EmptyDeviceView(
153 _In_ LPTV_ITEMW TvItem
156 CClassNode
* GetClassNode(
157 _In_ LPGUID ClassGuid
159 CDeviceNode
* GetDeviceNode(