在尝试使用Microsoft的minispy示例将文件系统附加到文件系统之前,我试图确定文件系统是否可访问。为了简短起见,我提供了一个设备名称路径,例如\Device\HarddiskVolume4\
。我以为可以使用FilterGetDosName获取一致的根路径,然后使用GetVolumeInformationW来确定是否实际连接了该卷;
BOOL result = GetVolumeInformationW(rootPath, NULL, 0, NULL, NULL, NULL, NULL, 0);
但是,我的问题是,如果我快速将USB插入和拔出。它在尝试获取数据时被卡在此处,但该卷已断开连接。在连接微型过滤器之前,如何安全地确定是否已连接卷?
答案 0 :(得分:0)
有一个名为:GetLogicalDriveStringsW
的函数,用于获取设备的路径名,而不是使用OP中所述的非持久性设备名。经过一些逻辑处理每个驱动器并确定差异,以便可以连接到新设备之后,请使用GetVolumeInformationW(letter.c_str(), NULL, NULL, NULL, NULL, NULL, NULL, NULL);
撰写本文时遇到的其他错误与该问题无关。重点是:使用GetLogicalDriveStringsW
和GetVolumeInformationW
。