ULARGE_INTEGER运算
生活随笔
收集整理的這篇文章主要介紹了
ULARGE_INTEGER运算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? 在調用GetDiskFreeSpaceEx()獲取磁盤空間時,由于參數是ULARGE_INTEGER(64位整數),所以普通的“加減乘除”并不支持(是沒有實現),因此我們采用其他辦法來實現,先來看下ULARGE_INTEGER的結構定義:
typedef union _ULARGE_INTEGER {struct {DWORD LowPart;DWORD HighPart;} ;struct {DWORD LowPart;DWORD HighPart;} u;ULONGLONG QuadPart; } ULARGE_INTEGER, *PULARGE_INTEGER;
在一次應用中,需要將返回的空間大小轉換成以"GB"為單位的,所以寫了這樣的宏定義:
#define GB(x) ((x.HighPart << 2) + ((DWORD)x.LowPart) / 1024.0 / 1024.0 / 1024.0)
當然,你也可以選擇將x兩邊加上括號即“#define GB(x) (((x).HighPart << 2) + ((DWORD)(x).LowPart) / 1024.0 / 1024.0 / 1024.0)"
總結
以上是生活随笔為你收集整理的ULARGE_INTEGER运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu 10.10升级显卡驱动后开
- 下一篇: node安装问题