Прежде всего, вот ограничения:
- Должен работать на XP
- Необходимо уведомить как о назначении буквы диска, так и о подключении тома в папку
- Нельзя "разбудить" диск, если он спит.
- Я бы предпочел не опрашивать диск.
Что я пробовал:
- Google
- Я посмотрел на WMI и класс Win32_LogicalDisk. Я могу определить, какие диски подключены к букве диска, а не те, которые подключены к папке. Классы Win32_Volume * и Win32_MountPoint были бы идеальными, но не доступны в XP.
- Я пытался опрашивать диски, используя FindFirstVolume & GetVolumePathNamesForVolumeName (хотя я бы предпочел этого не делать), но похоже, что диски должны быть раскручены, прежде чем он сможет дать мне информацию. И снова, эу, опрос.
Я рассматривал возможность использования перехвата API для перехвата вызовов SetVolumeMountPoint и DeleteVolumeMountPoint, но я не думаю, что это перехватит все, и, похоже, это может быть уродливым хаком в любом случае.
Итак, да, я ищу предложения:)