GetLogicalDriveStrings   将指定系统中有效驱动器的字符串填充到缓冲区     
nBufferLength   :所指缓冲区的最大长度(以字符记),不包括空终止符!  
函数原形     DWORD   GetLogicalDriveStrings(                             DWORD   nBufferLength,     //   缓冲区大小                            LPTSTR   lpBuffer               //   存放结果的缓冲区                            ); UINT GetDriveType(LPCTSTR lpRootPathName );        // 根路径地址

 
  

 lpRootPathName 指向一个NULL结尾的字符串,该字符串指定磁盘根目录,用于返回相关信息。如果lpRootPathNameNULL,则函数使用当前目录的根路径。

 返回值指定了驱动器类型。它可以是下列值之一:

                                       含义

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; }