Windows - Как отключить сообщение об ошибке «Wrong Volume» - PullRequest
5 голосов
/ 19 января 2012

Мое приложение читает / записывает данные на съемный носитель (USB DOK) в фоновом режиме.Проблема в том, что при извлечении USB во время работы приложения на компьютере появляется сообщение об ошибке:

Неверный том

Неправильный том находится в накопителе.Вставьте том в накопитель E:.

Отмена Попробуйте еще раз Продолжить

Это происходит во время таких операций, как GetFileSize, ReadFile.Очевидно, что поскольку приложение должно работать в фоновом режиме, я хотел бы подавить эти сообщения и молча завершиться сбоем.

Кстати: похоже, что процесс, передающий эти сообщения, не мой, а CSRSS.EXE (хотя причина определенно в операции из моего процесса).

Одно из направлений, которое я рассматриваю, - это переключение на NtQueryInformationFile, NtReadFile и т. д., но я бы предпочел не ...

Спасибо

Ответы [ 2 ]

2 голосов
/ 15 марта 2014

Попробуйте позвонить:

SetErrorMode(SEM_NOOPENFILEERRORBOX);

В начале вашей основной функции.

Из документации :

Системане отображает окно сообщения, когда не удается найти файл.Вместо этого ошибка возвращается вызывающему процессу.

1 голос
/ 19 января 2012

Я предлагаю вам правильно отключить оборудование, используя значок на панели задач Windows, чтобы к нему не обращались, когда вы извлекаете его из накопителя. Или, по крайней мере, сначала выйдите из ап.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...