В общем, подписался я на уведомления -
::RegisterDeviceNotification()
(
msdn), после обработки всего прочего(сообщение
WM_DEVICECHANGE
(
msdn) и т.д.) на входе есть
DEV_BROADCAST_DEVICEINTERFACE
(
msdn) структура.
Есть ли возможность узнать, что это, например, камера или телефон?
Единственное, что нагуглил - это
Windows Portable Devices(
msdn).
Если использовать
DEV_BROADCAST_DEVICEINTERFACE::dbcc_name
как аргумент для метода
IPortableDevice::Open
(
msdn), то можно, кроме всего прочего, получить список "поддерживаемого" устройством контента(
msdn), например:
WPD_CONTENT_TYPE_IMAGE
WPD_CONTENT_TYPE_AUDIO
WPD_CONTENT_TYPE_PLAYLIST
WPD_CONTENT_TYPE_VIDEO
WPD_CONTENT_TYPE_DOCUMENT
WPD_CONTENT_TYPE_UNSPECIFIED
WPD_CONTENT_TYPE_FOLDER
Но не знаю, будет ли камера, например, поддерживать только
WPD_CONTENT_TYPE_VIDEO
,
WPD_CONTENT_TYPE_IMAGE
и
WPD_CONTENT_TYPE_FOLDER
?
Еще есть
Windows Image Acquisition(
msdn), но эта штука даже не видит телефон(только сканер, может и ещё что-то).
Кто-то сталкивался с подобным?