共用方式為


檢查計數器數據狀態代碼

PDH 函式的傳回值表示函數調用的成功或失敗,這與計數器數據的狀態不同。 請務必檢查 PDH 結構中傳回的計數器值中的 CStatus 成員,以確保在使用前數據的有效性。 如果 CStatus 成員的值未顯示成功,請勿使用資料。 以下是計數器的可能狀態值:

價值 意義
PDH_CSTATUS_NO_MACHINE PDH 無法連線到計數器路徑中指定的電腦。 如果在加入計數器時傳回此狀態,則不會完全初始化計數器。 每次更新查詢時,PDH 都會重試連線。 建立連接時,一般數據收集會繼續。
PDH_CSTATUS_NO_OBJECT 找到指定的電腦,但沒有在電腦上找到指定的性能物件。 如果在加入計數器時傳回此狀態,則查詢中不會包含指定的計數器。 如果作用中計數器傳回此狀態,該計數器的數據無效。 每次要求數據時,PDH 都會嘗試取得此計數器數據。
PDH_CSTATUS_NO_INSTANCE 物件中找不到指定的實例。 如果在將計數器新增至查詢時傳回此狀態,計數器就會成功新增至查詢,但在特定實例出現且傳回成功狀態之前,沒有可用的數據。
PDH_CSTATUS_NO_COUNTER 在指定的物件中找不到指定的計數器。 若在加入計數器時傳回此狀態,則不會將計數器新增至查詢。 如果在數據收集之後傳回此狀態,該計數器的數據無效。 每次要求數據時,PDH 都會嘗試取得此計數器數據。
PDH_CSTATUS_INVALID_DATA(無效數據狀態) 已成功找到計數器,但傳回的數據無效。 如果計數器值小於先前的值,就可能發生此錯誤。 (因為計數器值一律遞增,當計數器值達到最大值時,計數器值會變換為零。另一個可能的原因是系統定時器不正確。
PDH_CSTATUS_VALID_DATA 計數器的數據已成功傳回,但與上次讀取計數器時沒有變更。
PDH_CSTATUS_NEW_DATA (新資料狀態) 計數器的數據已成功傳回,而且與上次讀取計數器時的數據不同。 即使產生的速率與上一個樣本相同,PDH_CSTATUS_NEW_DATA仍可在速率計數器上傳回。 這是因為用於判斷此狀態值的原始數據值已變更,而不是計算的速率。
PDH_更多資料 提供的緩衝區不夠大,無法儲存所有計數器數據。 配置較大的緩衝區,然後再次執行函式。
PDH_狀態_項目_未驗證 計數器已新增至查詢,但尚未驗證或存取。 此計數器上沒有其他狀態資訊可供使用。
PDH_CSTATUS_NO_COUNTERNAME 查詢中未指定計數器名稱。
PDH_CSTATUS_NO_COUNTER 找不到指定的計數器名稱。
PDH_CSTATUS_NO_OBJECT 找不到指定的效能物件。
PDH_CALC_NEGATIVE_DENOMINATOR 計數器具有負分母值。
PDH_CALC_NEGATIVE_TIMEBASE (計算負時間基底) 計數器具有負時間基底值。
PDH_計算負值 計數器具有負值。
PDH_CSTATUS_NO_COUNTERNAME 未指定計數器路徑。
PDH_CSTATUS_BAD_COUNTERNAME 計數器路徑格式不正確。