14#define MAX_DEVICE_DISPLAYNAME_LEN 256
31 ulSize = cchDesc *
sizeof(
WCHAR);
40 ulSize = cchDesc *
sizeof(
WCHAR);
52 ulSize =
sizeof(szGuidString);
65 ClassGuid = GUID_DEVCLASS_UNKNOWN;
98 tvItem.
item.pszText = szDisplayName;
99 tvItem.
item.iImage = nClassImage;
100 tvItem.
item.iSelectedImage = nClassImage;
124 if (hTreeItem !=
NULL)
140 if (hTreeItem !=
NULL)
157 ULONG ulStatus, ulProblem;
183 dwSize =
sizeof(dwCapabilities);
236 lvItem.
pszText = szDisplayName;
237 lvItem.
iImage = nClassImage;
#define CM_DEVCAP_EJECTSUPPORTED
#define CM_DRP_CAPABILITIES
#define CM_DRP_DEVICEDESC
#define CM_Get_DevNode_Registry_Property
#define CM_DEVCAP_SURPRISEREMOVALOK
#define CM_DRP_FRIENDLYNAME
#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)
CONFIGRET WINAPI CM_Get_Child(_Out_ PDEVINST pdnDevInst, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
CONFIGRET WINAPI CM_Get_DevNode_Registry_PropertyW(_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
CONFIGRET WINAPI CM_Get_Sibling(_Out_ PDEVINST pdnDevInst, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
#define MAX_GUID_STRING_LEN
static VOID GetDeviceDisplayInfo(_In_ DEVINST DevInst, _In_ PHOTPLUG_DATA pHotplugData, _Out_writes_z_(cchDesc) LPWSTR pszDesc, _In_ ULONG cchDesc, _Out_ PINT pImageIndex)
VOID EnumHotpluggedDevices(_In_ PHOTPLUG_DATA pHotplugData)
static VOID InsertConfirmDeviceListItem(_In_ HWND hwndCfmDeviceList, _In_ DEVINST DevInst, _In_ PHOTPLUG_DATA pHotplugData)
static VOID CfmListRecursiveInsertSubDevices(_In_ HWND hwndCfmDeviceList, _In_ DEVINST ParentDevInst, _In_ PHOTPLUG_DATA pHotplugData)
#define MAX_DEVICE_DISPLAYNAME_LEN
static HTREEITEM InsertDeviceTreeItem(_In_ HTREEITEM hParent, _In_ DEVINST DevInst, _In_ PHOTPLUG_DATA pHotplugData)
VOID CfmListEnumDevices(_In_ HWND hwndCfmDeviceList, _In_ PHOTPLUG_DATA pHotplugData)
static VOID DevTreeRecursiveInsertSubDevices(_In_ HTREEITEM hParentItem, _In_ DEVINST ParentDevInst, _In_ PHOTPLUG_DATA pHotplugData)
#define IDS_UNKNOWN_DEVICE
#define INVALID_HANDLE_VALUE
DWORD WINAPI pSetupGuidFromString(PCWSTR pString, LPGUID lpGUID)
BOOL WINAPI SetupDiGetClassImageIndex(IN PSP_CLASSIMAGELIST_DATA ClassImageListData, IN CONST GUID *ClassGuid, OUT PINT ImageIndex)
BOOL WINAPI SetupDiEnumDeviceInfo(HDEVINFO devinfo, DWORD index, PSP_DEVINFO_DATA info)
BOOL WINAPI SetupDiDestroyDeviceInfoList(HDEVINFO devinfo)
DEVINST GetDeviceInstForRemoval(_In_ PHOTPLUG_DATA pHotplugData)
#define HOTPLUG_DISPLAY_DEVICE_COMPONENTS
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
#define _Out_writes_z_(size)
#define ListView_InsertItem(hwnd, pitem)
#define TreeView_DeleteAllItems(hwnd)
#define ListView_GetItemCount(hwnd)
#define TreeView_InsertItem(hwnd, lpis)
#define TVIF_SELECTEDIMAGE
#define SetupDiGetClassDevs
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)