GetLogicalDriveStrings和GetDriveType


 

GetLogicalDriveStrings   將指定系統中有效驅動器的字符串填充到緩衝區     
nBufferLength   :所指緩衝區的最大長度(以字符記),不包括空終止符!  
函數原形     DWORD   GetLogicalDriveStrings(                             DWORD   nBufferLength,     //   緩衝區大小                            LPTSTR   lpBuffer               //   存放結果的緩衝區                            ); UINT GetDriveType(LPCTSTR lpRootPathName );        // 根路徑地址

 lpRootPathName 指向一個NULL結尾的字符串,該字符串指定磁盤根目錄,用於返回相關信息。若是lpRootPathNameNULL,則函數使用當前目錄的根路徑。網絡

 返回值指定了驅動器類型。它能夠是下列值之一:ide

                                       含義函數

0                                        驅動器類型沒法肯定。spa

1                                        根目錄不存在。orm

DRIVE_REMOVABLE            該磁盤能夠從驅動器中刪除。字符串

DRIVE_FIXED                      該磁盤不能從驅動器中刪除。it

DRIVE_REMOTE                  該驅動器是一種遠程(網絡)驅動器。class

DRIVE_CDROM                   該驅動器是CD - ROM驅動器。im

 margin

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; }
相關文章
相關標籤/搜索