У меня есть обработчик события автозапуска, зарегистрированный в COM для фильмов DVD.
Я использую C # и следовал этому руководству из CodeProject: http://www.codeproject.com/KB/system/AutoplayDemo.aspx
Когда вставлен фильм DVD, я вижу свой обработчикв списке, и он срабатывает (я добавил Debugger.Break () внутри кода, чтобы я мог его отладить)
В моем объекте я реализую интерфейс IDropTarget, и мое событие Drop вызывается.
Однако для фильмов DVD я не могу запросить переданный IDataObject. Вызов IDataObject.QueryGetData с форматом «Autoplay Enumerated IDList Array» возвращает значение int 1 вместо S_OK (0).Это, похоже, не является одним из определенных выходных значений для вызова QueryGetData, и я полностью потерян.
Журнал событий автозапуска (% SystemRoot% \ Autoplay.log) говорит: ~ 0x000006E0 ~ [0312] DVD Movie -> No Content Autoplay!
Означает ли это, что я не могу сказать, с какого привода DVD началось событие?Конечно, большинство систем будет иметь только одну, но я все же хотел бы опросить правильное устройство, чтобы получить информацию о фильме!