49 interface_data.
cbSize =
sizeof(interface_data);
65 DPRINT(
"failed to allocate detail_data\n");
82 device_data.
cbSize =
sizeof(device_data);
107 DPRINT1(
"Failed to register winmm_devicechange window message: GetLastError %u\n",
GetLastError());
153 ZeroMemory(¬ification_filter,
sizeof(notification_filter));
160 ¬ification_filter,
161 DEVICE_NOTIFY_SERVICE_HANDLE);
BOOL AppendAudioDeviceToList(PnP_AudioDevice *device)
SERVICE_STATUS_HANDLE service_status_handle
#define DestroyDeviceDescriptor(descriptor)
VOID * CreateDeviceDescriptor(WCHAR *path, BOOL is_enabled)
BOOL RegisterForDeviceNotifications(VOID)
VOID UnregisterDeviceNotifications(VOID)
static HDEVNOTIFY device_notification_handle
DWORD ProcessDeviceRemovalComplete(DEV_BROADCAST_DEVICEINTERFACE *device)
DWORD ProcessDeviceArrival(DEV_BROADCAST_DEVICEINTERFACE *device)
DWORD HandleDeviceEvent(DWORD dwEventType, LPVOID lpEventData)
static UINT uWinMMDeviceChange
BOOL ProcessExistingDevices(VOID)
#define DBT_DEVICEARRIVAL
#define DBT_DEVTYP_DEVICEINTERFACE
#define DBT_DEVICEREMOVECOMPLETE
DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE
#define HeapFree(x, y, z)
BOOL WINAPI SetupDiEnumDeviceInterfaces(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, CONST GUID *InterfaceClassGuid, DWORD MemberIndex, PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData)
HDEVINFO WINAPI SetupDiGetClassDevsExW(CONST GUID *class, PCWSTR enumstr, HWND parent, DWORD flags, HDEVINFO deviceset, PCWSTR machine, PVOID reserved)
BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(HDEVINFO DeviceInfoSet, PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData, PSP_DEVICE_INTERFACE_DETAIL_DATA_W DeviceInterfaceDetailData, DWORD DeviceInterfaceDetailDataSize, PDWORD RequiredSize, PSP_DEVINFO_DATA DeviceInfoData)
BOOL WINAPI SetupDiDestroyDeviceInfoList(HDEVINFO devinfo)
GLuint GLsizei GLsizei * length
SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA
#define DIGCF_DEVICEINTERFACE
struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA_W
struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W * PSP_DEVICE_INTERFACE_DETAIL_DATA_W
BOOL WINAPI UnregisterDeviceNotification(HDEVNOTIFY Handle)
HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags)
LONG WINAPI BroadcastSystemMessageW(DWORD dwFlags, LPDWORD lpdwRecipients, UINT uiMessage, WPARAM wParam, LPARAM lParam)
DWORD WINAPI GetLastError(void)
UINT WINAPI RegisterWindowMessageW(_In_ LPCWSTR)