Я пытаюсь определить, доступна ли файловая система, прежде чем подключаться к ней, на примере microsofts minispy. Короче говоря, мне предоставлен путь к имени устройства, например \Device\HarddiskVolume4\
. Я подумал, что мог бы использовать FilterGetDosName, чтобы получить корневой путь, который был бы непротиворечивым, а затем использовать GetVolumeInformationW, чтобы определить, действительно ли том был присоединен;
BOOL result = GetVolumeInformationW(rootPath, NULL, 0, NULL, NULL, NULL, NULL, 0);
Однако моя проблема заключается в том, что если я быстро вытащу и вытащу USB. Он застревает здесь, когда пытается получить данные, но том отключается. Как безопасно определить, подключен ли том перед подключением моего минифильтра?