GetLogicalDriveStrings和GetDriveType


 

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

 

 

 


 

你可能感兴趣的:(字符串,缓冲区,的,驱动器)