如何获取磁盘剩余空间(包括光驱中的光盘)

原创 2013年12月03日 17:11:43

在网上找一个API,可以获取指定磁盘剩余空间,包括光驱中的光盘。

但是如果光驱中是空白光盘的话,将无法读取。因为空白光盘未格式化过,因此显示格式为RAW,所以无法读取。

至于如何读取空白光盘容量,我将在下一篇文章中描述。


获取磁盘剩余空间API:

BOOL WINAPI GetDiskFreeSpaceEx(
  _In_opt_   LPCTSTR lpDirectoryName,
  _Out_opt_  PULARGE_INTEGER lpFreeBytesAvailable,
  _Out_opt_  PULARGE_INTEGER lpTotalNumberOfBytes,
  _Out_opt_  PULARGE_INTEGER lpTotalNumberOfFreeBytes
);

下面是一个使用例子:

HRESULT GetDiskSpaceForDisc()
{
	float TotalBytes;
	float FreeBytesToCaller;
	float FreeBytes;  

	::GetDiskFreeSpaceEx(_T("I:"),  
		(PULARGE_INTEGER)&FreeBytesToCaller,  
		(PULARGE_INTEGER)&TotalBytes,  
		(PULARGE_INTEGER)&FreeBytes);  

	FreeBytesToCaller=(float)(((PULARGE_INTEGER)&FreeBytesToCaller)->HighPart<<2)+(float)((PULARGE_INTEGER)&FreeBytesToCaller)->LowPart/(1024*1024*1024);  
	TotalBytes=(float)(((PULARGE_INTEGER)&TotalBytes)->HighPart<<2)+(float)((PULARGE_INTEGER)&TotalBytes)->LowPart/(1024*1024*1024);  
	std::cout<<"totalspace:"<<TotalBytes<<"GB /n";
	std::cout<<"freespace:"<<FreeBytesToCaller<<"GB /n";

	return S_OK;
}





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

使用IMAPI V2 制作Boot image(启动盘)

好久没有更新了,最近在研究用IMAPI 来刻录启动光盘。MSDN的例子都是VB script的例子,以下是我简单写的C++例子。  附上MSDN 对于IMAPI的链接:http://msdn.mic...

光盘刻录知识

A: 光碟烧录知识1978年,PHILIPS和SONY公司都致力于生产流行的音频CD,当时 PHILIPS已经开发出商用激光盘播放机,而SONY从事数字记录研究也有10年之久。在他们达成一项关于制定单...

磁盘剩余空间检查报警

  • 2014-10-16 21:31
  • 976KB
  • 下载

获取磁盘类型及剩余空间 GetDiskFreeSpaceEx GetDriveTypeW GetVolumeInformation

获取磁盘剩余空间 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceEx(     LPCWSTR lpDirectoryName,     PULARGE_INTE...
  • xxm524
  • xxm524
  • 2012-07-11 21:49
  • 1178

获取磁盘剩余空间

方法一: import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; pub...

Win32 获取磁盘剩余空间+遍历文件目录+wchar_t与char互转

函数GetDiskFreeSpaceEx声明如下:   WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExA(     __in_opt LPCSTR lp...
  • ypist
  • ypist
  • 2012-04-17 10:09
  • 1481
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)