我在基於Windows的系統上查詢當前頁面文件的使用情況。這意味着在.NET Framework 2.0 SP1上運行,並且已經在Windows Vista,Windows 7,Windows Server 2003 R2和Windows Server 2008上進行了測試(並且行得通!)。Win32_PageFileUsage爲CurrentUsage返回0的WMI調用
在Windows Server 2003 SP2釋放,而不是R2)它似乎返回0:
using (var query = new ManagementObjectSearcher("SELECT CurrentUsage FROM Win32_PageFileUsage"))
{
foreach (ManagementBaseObject obj in query.Get())
{
uint used = (uint)obj.GetPropertyValue("CurrentUsage");
return used;
}
}
這只是返回WMI調用返回的第一行的結果。即使正在使用頁面文件,它也會返回0.當結果應該返回一個更大的值時,結果爲0的原因是什麼?
它可能是特定於有問題的機器,可能與操作系統版本無關。我也嘗試過這種做法,並且沒有提升特權,結果也一樣。
感謝您的回答。在這種情況下,返回的值是正確的,我有點太急於向SO發佈問題。 :-) – 2010-06-09 02:40:01