GetLogicalDriveStrings 将指定系统中有效驱动器的字符串填充到缓冲区
nBufferLength :所指缓冲区的最大长度(以字符记),不包括空终止符!
函数原形 DWORD GetLogicalDriveStrings( DWORD nBufferLength, // 缓冲区大小 LPTSTR lpBuffer // 存放结果的缓冲区 ); UINT GetDriveType(LPCTSTR lpRootPathName ); // 根路径地址
lpRootPathName 指向一个NULL结尾的字符串,该字符串指定磁盘根目录,用于返回相关信息。如果lpRootPathName为NULL,则函数使用当前目录的根路径。
返回值指定了驱动器类型。它可以是下列值之一:
值 含义
0 驱动器类型无法确定。
1 根目录不存在。
DRIVE_REMOVABLE 该磁盘可以从驱动器中删除。
DRIVE_FIXED 该磁盘不能从驱动器中删除。
DRIVE_REMOTE 该驱动器是一种远程(网络)驱动器。
DRIVE_CDROM 该驱动器是CD - ROM驱动器。
DRIVE_RAMDISK 该驱动器是一个RAM磁盘。 如: BOOL CheckRemoveAbleDisk() { TCHAR szDriverName[512]; CString strDriverName; BOOL fFound=FALSE;; DWORD nLength=GetLogicalDriveStrings(sizeof(szDriverName),szDriverName); int i; for(i=0;i<(int)nLength;i++){ if(szDriverName[i]!='\0') strDriverName+=szDriverName[i]; else{ strDriverName=strDriverName.Left(strDriverName.GetLength()-1); if(GetDriveType((LPCTSTR)strDriverName)==DRIVE_REMOVABLE){ strRemoveAbleDisk=strDriverName; fFound=TRUE; break; } strDriverName=""; } } return fFound; }