Я использую DeviceIoControl с FSCTL_LOCK_VOLUME для блокировки USB-накопителя перед прямым чтением/записью диска. Программа работает - иногда. У меня проблема с самим вызовом блокировки. Когда я выполняю команду в Visual Studio 2008, результат правильный, и блокировка выполняется успешно - каждый раз! При запуске кода (отладка или нет) вызов время от времени терпит неудачу с недопустимым дескриптором. Единственная заметная разница заключается в том, что при шаге происходит пауза в полсекунды, которой я доволен, но при запуске/отладке вызов сразу терпит неудачу.
Пожалуйста, не могли бы вы дать мне подсказку относительно того, где это падает.
Думаю, это для настоящих технарей!
FILE_SHARE_READ
иFILE_SHARE_WRITE
. Мой опыт работы с DeviceIoControl заключается в том, что сообщения об ошибках точны, но содержат простые детали. Недопустимый дескриптор означает, что ваш дескриптор недействителен для этой операции. - person   schedule 24.01.2013