使用IOCTL_DISK_GET_LENGTH_INFO控制码获取磁盘空间大小
来源:互联网 发布:林姗姗的淘宝店 编辑:程序博客网 时间:2024/05/10 11:07
GetDiskFreeSpace 和GetDiskFreeSpaceEx获取磁盘空间大小都是有quota限制的。如果管理员为某用户在某分区上设置了配额,这个用户下,用前面两个API就不能正常获得分区大小。MSDN上说明可以用IOCTL_DISK_GET_LENGTH_INFO获得分区总大小,下面代码即是使用方法。\
int _tmain(int argc, _TCHAR* argv[]){ HANDLE hDev = CreateFile(_T("\\\\.\\c:") , GENERIC_READ , FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING , 0, 0); GET_LENGTH_INFORMATION disk_len; DWORD dwRet = 0; if (hDev != INVALID_HANDLE_VALUE) { DeviceIoControl(hDev, IOCTL_DISK_GET_LENGTH_INFO, NULL, 0, &disk_len, sizeof(disk_len), &dwRet, NULL); INT64 nUseSize = disk_len.Length.QuadPart; INT64 sizeGB = nUseSize / 1014 / 1024 /1024; CString szSize; szSize.Format(L"C盘大小 %I64d GB", sizeGB); ::MessageBox(0, szSize, L"提示", MB_OK); CloseHandle(hDev); }return 0;}
参考:http://technet.microsoft.com/zh-cn/subscriptions/aa365178
by happycyp
- 使用IOCTL_DISK_GET_LENGTH_INFO控制码获取磁盘空间大小
- 获取磁盘空间大小
- java获取磁盘空间大小
- linux 获取磁盘空间大小
- 获取 磁盘空间、文件夹等大小
- Delphi实现获取磁盘空间大小的方法
- C#实现获取磁盘空间大小的方法
- php获取服务器所有磁盘空间大小
- 获取磁盘空间
- .NET 磁盘空间 文件夹大小
- 检测磁盘空间大小源码
- 增加Ubuntu磁盘空间大小
- 查看Linux磁盘空间大小
- centos查看磁盘空间大小
- 查看Linux磁盘空间大小
- 查看磁盘空间大小
- linux 查看磁盘空间大小
- linux 查看磁盘空间大小
- Javascript中创建字符串的new语法和literal语法
- Javascript限制多行文本输入框的字符数
- Javascript实现表格的全选框
- Javascript中currying的实现
- Javascript中的事件冒泡
- 使用IOCTL_DISK_GET_LENGTH_INFO控制码获取磁盘空间大小
- Javascript中的作用域(scope)
- Confused with JavaScript prototype
- Multiline strings in JavaScript
- AOP in JavaScript
- jStore - Persistent storage solution in client-side
- 成功必备的要素
- Prototype/Constructor that i have known
- Use IE userdata behavior as a client-side data storage