⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 disk.cpp

📁 一个国人自己实现图像库的程序(有参考价值)
💻 CPP
字号:
#include "stdafx.h"
#include "..\Include\C_Disk.h"
#include "..\Include\fooBit.h"

//===================================================================
BOOL  fooGetDiskSpace (PCTSTR szDrive, __int64 * TotalSize,
								       __int64 * FreeSize)
{
	ULARGE_INTEGER  FreeBytesAvailable ;
	ULARGE_INTEGER  TotalNumberOfBytes ;
	FreeBytesAvailable.QuadPart = TotalNumberOfBytes.QuadPart = 0 ;
	BOOL	bResult = ::GetDiskFreeSpaceEx (szDrive, &FreeBytesAvailable, &TotalNumberOfBytes, NULL) ;
	if ( TotalSize != NULL )	*TotalSize = (__int64)TotalNumberOfBytes.QuadPart ;
	if ( FreeSize  != NULL )	*FreeSize  = (__int64)FreeBytesAvailable.QuadPart ;
	return bResult ;
}
//===================================================================
//	获得磁盘卷信息
BOOL  fooGetVolumeInfo (PCTSTR szDrive, VOLUMEINFO  * pvolinfo)
{
	BOOL	bResult = FALSE ;
	if (pvolinfo != NULL)
	{
		DWORD	 MaximumComponentLength ;	// 文件名的最长长度
		DWORD	 FileSystemFlags ;

		::ZeroMemory (pvolinfo, sizeof (*pvolinfo)) ;
		bResult = ::GetVolumeInformation (szDrive, pvolinfo->VolumeName, 32,
								&pvolinfo->dwVolumeSerialNumber, &MaximumComponentLength,
								&FileSystemFlags, pvolinfo->FileType, 32) ;
		if (bResult)
		{
			lstrcpy (pvolinfo->Driver, szDrive) ;
			pvolinfo->DiskType = ::GetDriveType (szDrive) ;
		}
	}
	return bResult ;
}
//===================================================================
BOOL  fooEnumVolume (int iModeNum, VOLUMEINFO * pVolInfo)
{
	static DWORD			s_dwDriver = 0 ;
	static unsigned char	cIndex = 64 ;

	if (iModeNum == 0)
	{
		s_dwDriver = ::GetLogicalDrives () ;
		cIndex = 0 ;
	}

	if ((cIndex >= 32) || (pVolInfo == NULL))
		return FALSE ;

	while (!::fooTestBit (s_dwDriver, cIndex))
	{
		cIndex++ ;
		if (cIndex == 32)
			return FALSE ;
	}
	TCHAR	root[] = TEXT("X:\\") ;
	root[0] = TEXT('A') + cIndex++ ;
	::fooGetVolumeInfo (root, pVolInfo) ;
	return TRUE ;
}
//===================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -