GetLogicalDriveStrings函数
2011-02-25 15:29
746 查看
对GetLogicalDriveStrings的理解:
函数原形:
DWORD GetLogicalDriveStrings(
DWORD nBufferLength, // size of buffer
LPTSTR lpBuffer // drive strings buffer
);
说明:GetLogicalDriveStrings函数将一个缓冲区lpBuffer填入在计算机上存在的硬盘盘符.
参数说明:
nBufferLength是缓冲区lpBuffer的大小,以字节为单位.它的大小不包含最后的空字符.如果它的值为零,缓冲区不可用.
lpBuffer指向一个接收各种以零结尾的字符串缓冲区,一个空字符用来区分各个可用硬盘的,最后在末尾有再以空字符结尾,假如
你的电脑上有C,D两个硬盘盘符,则它能得到一个字符串是:
'C',':','/',' ','D',':','/',' ',' '
即:C:/<null>D:/<null><null>
返回值:
如果函数成功结束,返回值是获得的字符串长度,以字节为单位,不包括最后的一个空字符,好像上面的字符串获得的长度就是8;硬盘
盘符的个数自乘以4就是了;记住:一个ANSI-ASCII码的空字符是一个字节,而一个Unicode码的空字符是两个字节.如果这个缓冲区不
够大,返回值会比nBufferLength大,这是缓冲区要求去获得全部硬盘盘符的原因.
如果函数失败,这个返回值是0;用GetLastError可以捕获这个错误信息!
用GetLogicalDriveStrings获取磁盘列表
TCHAR szDriverBuffer[512];
CString csDriver;
DWORD dwLength = GetLogicalDriveStrings(IN 512, OUT szDriverBuffer);
// 执行后,在szDriverBuffer中存储的盘符数据格式:
// C://<nul>D://<nul><nul>
TCHAR *lpDriverBuffer = szDriverBuffer;
while (*lpDriverBuffer != NULL)
{
csDriver = lpDriverBuffer;
lpDriverBuffer = lpDriverBuffer + csDriver.GetLength() + 1;
//cout<<csDriver<<endl;
}
函数原形:
DWORD GetLogicalDriveStrings(
DWORD nBufferLength, // size of buffer
LPTSTR lpBuffer // drive strings buffer
);
说明:GetLogicalDriveStrings函数将一个缓冲区lpBuffer填入在计算机上存在的硬盘盘符.
参数说明:
nBufferLength是缓冲区lpBuffer的大小,以字节为单位.它的大小不包含最后的空字符.如果它的值为零,缓冲区不可用.
lpBuffer指向一个接收各种以零结尾的字符串缓冲区,一个空字符用来区分各个可用硬盘的,最后在末尾有再以空字符结尾,假如
你的电脑上有C,D两个硬盘盘符,则它能得到一个字符串是:
'C',':','/',' ','D',':','/',' ',' '
即:C:/<null>D:/<null><null>
返回值:
如果函数成功结束,返回值是获得的字符串长度,以字节为单位,不包括最后的一个空字符,好像上面的字符串获得的长度就是8;硬盘
盘符的个数自乘以4就是了;记住:一个ANSI-ASCII码的空字符是一个字节,而一个Unicode码的空字符是两个字节.如果这个缓冲区不
够大,返回值会比nBufferLength大,这是缓冲区要求去获得全部硬盘盘符的原因.
如果函数失败,这个返回值是0;用GetLastError可以捕获这个错误信息!
用GetLogicalDriveStrings获取磁盘列表
TCHAR szDriverBuffer[512];
CString csDriver;
DWORD dwLength = GetLogicalDriveStrings(IN 512, OUT szDriverBuffer);
// 执行后,在szDriverBuffer中存储的盘符数据格式:
// C://<nul>D://<nul><nul>
TCHAR *lpDriverBuffer = szDriverBuffer;
while (*lpDriverBuffer != NULL)
{
csDriver = lpDriverBuffer;
lpDriverBuffer = lpDriverBuffer + csDriver.GetLength() + 1;
//cout<<csDriver<<endl;
}
相关文章推荐
- GetLogicalDriveStrings函数
- GetLogicalDriveStrings函数
- 使用GetLogicalDriveStrings获取卷标
- 获得磁盘驱动器号GetLogicalDriveStrings,HeapAlloc
- GetLogicalDriveStrings
- Windows API ——GetLogicalDriveStrings——获取逻辑驱动器
- 使用GetLogicalDriveStrings获取驱动器根路径
- error C2664: “DWORD GetLogicalDriveStringsA(DWORD,LPSTR)”: 无法将参数 2 从“wchar_t *”转换为“LPSTR”
- Windows API 逐个逐个学MessageBox(5) 遍历驱动器并获取驱动器属性 GetLogicalDriveStrings、GetDriveTypeA
- 获得磁盘驱动器号GetLogicalDriveStrings,HeapAlloc
- GetLogicalDriveStrings获取盘符
- Windows API ——GetLogicalDriveStrings——获取逻辑驱动器
- WindowsAPI详解——GetLogicalDriveStrings 枚举系统逻辑磁盘
- error:解析 GetLogicalDriveStrings 获得的 逻辑驱动器 的字符串 出错
- GetLogicalDriveStrings的体验
- GetLogicalDriveStrings()和GetDirveType()
- GetLogicalDriveStrings和GetDriveType
- GetLogicalDrives,GetLogicalDriveStrings,GetDriveType
- 使用GetLogicalDriveStrings
- 用GetLogicalDriveStrings或FindFirstVoum两种方法获取主机驱动器列表