windows mobile中求存储空间大小

来源:互联网 发布:网站内容管理系统cms 编辑:程序博客网 时间:2024/06/02 05:44

以下函数可得到主内存信息:
BOOL GetStoreInformation(
  LPSTORE_INFORMATION lpsi
);

参数定义:
typedef struct STORE_INFORMATION {
    DWORD dwStoreSize;
    DWORD dwFreeSize;
} STORE_INFORMATION, *LPSTORE_INFORMATION;


以下函数可得到存储卡的信息:
BOOL GetDiskFreeSpaceEx(
  LPCWSTR lpDirectoryName,
  PULARGE_INTEGER lpFreeBytesAvailableToCaller,
  PULARGE_INTEGER lpTotalNumberOfBytes,
  PULARGE_INTEGER lpTotalNumberOfFreeBytes
);

参数定义:
#if defined(MIDL_PASS)
typedef struct _ULARGE_INTEGER {
#else // MIDL_PASS
typedef union _ULARGE_INTEGER {
    struct {
        DWORD LowPart;
        DWORD HighPart;
    };
    struct {
        DWORD LowPart;
        DWORD HighPart;
    } u;
#endif //MIDL_PASS
    ULONGLONG QuadPart;
} ULARGE_INTEGER;

typedef ULARGE_INTEGER *PULARGE_INTEGER;

我们试试调用GetDiskFreeSpaceEx:
ULARGE_INTEGER ulFree;
if(GetDiskFreeSpaceEx(L"Storage Card", NULL, NULL, &ulFree))
{
 _int64 iSize = ulFree.QuadPart;

 if(iSize < 2*1024*1024)//保留2M空间
 {
  MessageBox(L"存储卡空间不足,请删除旧的或不使用的项目以创建更多空间。", L"", MB_OK);
 }
}

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pknife/archive/2008/10/24/3136786.aspx