Можно ли получить уведомление «Недостаточно места на диске» из Windows в приложении Win32 или MFC? - PullRequest
1 голос
/ 07 июня 2019

У меня есть приложение MFC, которое на самом деле показывает файлы подключенных USB-устройств. Multi-filter Drag and Drop включен для этого приложения и отлично работает, кроме «Low Level Disk» предупреждение от Windows. Он может перетаскивать файлы с ПК на приложение MFC и Приложение MFC на ПК . Когда «Низкоуровневое дисковое пространство» показывает предупреждение с ПК, перетаскивание не работает и приложение разбивается, даже если для вставки / удаления файлов доступно достаточно памяти. Я проверил, достаточно ли памяти, прежде чем бросать перетаскиваемые файлы.

После поиска в Google я нашел эту ссылку , которая гласит,

Windows не позволяет копировать / вставлять из-за предупреждения «Низкий уровень дискового пространства», даже если у вас достаточно места для копирования / вставки файлов.

Так что я должен учитывать «Низкоуровневое дисковое пространство» размер памяти также помимо размера моего перетаскиваемого файла. Но я не нашел ответа на следующие вопросы:

  1. Какой минимальный объем памяти необходим, чтобы избежать предупреждения «LowLeveDiskSpace»?
  2. Есть ли способ получить это уведомление «LowLeveDiskSpace» через приложение MFC или Win32?

1 Ответ

0 голосов
/ 07 июня 2019

Сомневаюсь, что это задокументировано.

Оболочка вызывает StringCchPrintfW в строке формата L"LowDiskOn%C", где параметр% C - это буква диска верхнего регистра.Эта строка используется для ожидания на именованном мьютексе.Я не уверен, что сама оболочка периодически проверяет свободное место или мьютекс сигнализирует чем-то другим.

Реализация, вероятно, изменилась за эти годы.

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