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
UINT WINAPI RegisterWindowMessageW(_In_ LPCWSTR)
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)