Момогите подписаться на Device Becoming Ready
От: Feonyf  
Дата: 14.09.11 21:03
Оценка:
Помогите отловить момент засовывания диска в CD-ROM. Нужен именно этот момент когда диск только только заснут.
У меня получилось отловить этот момент но только при помощи поллинга. Как подписаться не знаю.
GUID_IO_MEDIA_ARRIVAL, GUID_IO_MEDIA_REMOVAL приходят а GUID_IO_DEVICE_BECOMING_READY не приходит.
Причем поведение одинаковое для VirtualCloneDrive и физического драйва. Т.е. нужно избавиться от поллинга.

Тестовую программу для отлова прилагаю.

http://files.rsdn.ru/46977/TestBecomingReady.zip

Для того чтобы ею воспользваться нужно иметь записывающий CD-ROM драйв и подменить в функции GetDeviceId перменную result на свой драйв. Внутри этой функции драйвы перечисляются т.о. вам достаточно выбрать любой из них. Не имеющие студии 2010 експресс могут просто создать проект для своей билд системы и добавить в него cpp.
Моя строка построения буста:
.\bjam link=static threading=multi runtime-link=static -j %NUMBER_OF_PROCESSORS% --with-filesystem --with-thread --with-date_time address-model=64
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.