152{
155 int idev;
157 ULONG ulStatus, ulProblem;
160
162
165 return;
166
168
169
171 {
172 ulStatus = 0;
173 ulProblem = 0;
174
176 &ulProblem,
178 0);
180 continue;
181
182 dwCapabilities = 0,
183 dwSize =
sizeof(dwCapabilities);
187 &dwCapabilities,
189 0);
191 continue;
192
193
198 ulProblem == 0)
199 {
202 pHotplugData);
203
205 {
208 pHotplugData);
209 }
210 }
211 }
212
214}
#define CM_DEVCAP_EJECTSUPPORTED
#define CM_DRP_CAPABILITIES
#define CM_Get_DevNode_Registry_Property
#define CM_DEVCAP_SURPRISEREMOVALOK
#define CM_DEVCAP_DOCKDEVICE
#define CM_DEVCAP_REMOVABLE
CONFIGRET WINAPI CM_Get_DevNode_Status(_Out_ PULONG pulStatus, _Out_ PULONG pulProblemNumber, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
static HTREEITEM InsertDeviceTreeItem(_In_ HTREEITEM hParent, _In_ DEVINST DevInst, _In_ PHOTPLUG_DATA pHotplugData)
static VOID DevTreeRecursiveInsertSubDevices(_In_ HTREEITEM hParentItem, _In_ DEVINST ParentDevInst, _In_ PHOTPLUG_DATA pHotplugData)
#define INVALID_HANDLE_VALUE
BOOL WINAPI SetupDiEnumDeviceInfo(HDEVINFO devinfo, DWORD index, PSP_DEVINFO_DATA info)
BOOL WINAPI SetupDiDestroyDeviceInfoList(HDEVINFO devinfo)
#define HOTPLUG_DISPLAY_DEVICE_COMPONENTS
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
#define TreeView_DeleteAllItems(hwnd)
#define SetupDiGetClassDevs