Windows API 第17篇 GetLogicalDriveStrings 獲取本機所有邏輯驅動器,以根目錄的形式表示
阿新 • • 發佈:2018-10-08
style 目錄 spa () buffer word string clas 根目錄
函數原型:
DWORD GetLogicalDriveStrings( DWORD nBufferLength, // size of buffer
LPTSTR lpBuffer // drive strings buffer
);
說明:
參數不多講,需要註意函數返回存入lpBuffer空間的字符個數,不包括‘\0‘.
在lpBuffer內存中,驅動器的存放形式形如:
c | : | \ | 0 | D | : | \ | 0 | E | : | \ | 0 | 0 | 0 | 0 | 0 |
所以用的時候要註意指針的調整:
下面舉一例:
本示例枚舉本機所有邏輯驅動器,並且把驅動器分離出來:
void main() { CHAR szDriveBuf[MAX_PATH] = { 0 }; DWORD dwLen = GetLogicalDriveStringsA(MAX_PATH * sizeof(CHAR), szDriveBuf); LPSTR pDrive = szDriveBuf; while (pDrive) { string strDriver = pDrive; pDrive += 4; //這裏就要註意了,如果不懂就看看上面的那個內存圖 } }
Windows API 第17篇 GetLogicalDriveStrings 獲取本機所有邏輯驅動器,以根目錄的形式表示