WMI 用戶端工具
有數個工具可用來測試驅動程式中的WMI支援。
Wbemtest
作系統包含 Wbemtest 工具,其提供 GUI,可讓您用來查詢 WMI 類別和類別實例、變更屬性值、執行方法,以及接收事件通知。 連線到 「root\wmi」 命名空間,以測試驅動程式的支援。
Wmic
Microsoft Windows XP 和更新版本的作業系統包含 WMIC 工具,提供一個命令介面,您可以用來發出 WMI 相關命令以測試驅動程式。
Wmimofck
wmimofck 命令可用來檢查二進位MOF檔案的語法。 您也可以使用 wmimofck -t 命令來產生 VBScript 檔案。 您可以使用此腳本來測試驅動程式對 WMI 類別實例查詢的處理。
wmimofck -w 命令會產生網頁,以測試查詢和設定類別、執行方法及接收事件。 請注意,網頁不支援執行使用複雜參數或返回值的方法(例如內嵌類別的陣列)。 在這種情況下,您可以改用 Wbemtest。 如需有關 Wmimofck 的更多資訊,請參閱使用 wmimofck.exe。
您也可以使用 WMI 使用者模式 API 撰寫自訂 WMI 用戶端應用程式,以測試驅動程式的 WMI 支援。
如需此使用者模式 API 的詳細資訊,可讓應用程式提供或取用 WMI 資訊,請參閱 Microsoft Windows SDK 檔中的 Windows Management Instrumentation 資訊。
WMI 用戶端應用程式會執行下列工作來測試驅動程式:
連接到 WMI。
若要連線到 WMI,應用程式可以呼叫元件物件模型 (COM) 函式 CoCreateInstance 來擷取 IWbemLocator 介面的指標。 然後,應用程式會呼叫 IWbemLocator::ConnectServer 方法來連線到 WMI。 從這個呼叫中,應用程式會接收到 IWbemServices 介面的指標。
存取驅動程序中的資訊。
若要存取資訊和註冊事件,應用程式會使用 IWbemServices 介面的方法。
WMI IRP 和系統事件記錄檔
嚴格在內核模式中發生的 WMI 錯誤會記錄至系統事件記錄檔。 您可以使用事件檢視器來檢查系統事件記錄檔。 (如需詳細資訊,請參閱 記錄錯誤 。)
這類錯誤的兩個主要來源是對 WMI 要求的回覆格式不正確,以及事件通知的參數不正確。 例如,如果驅動程式傳回格式不正確的 WMIREGINFO 數據結構,以回應 IRP_MN_REGINFO 或 IRP_MN_REGINFO_EX 要求,系統會將記錄到系統事件記錄檔。 系統也會記錄對 IoWMIWriteEvent 和 WmiFireEvent 的無效呼叫,以發出 WMI 事件通知。
WMI WDM 提供者記錄
WMI WDM 提供者 (Wmiprov.dll) 處理時發生的 WMI 錯誤會記錄至 WMI WDM 提供者的記錄檔,Wmiprov.log。 這是文本檔,可在 \system32\wbem\logs\wmiprov.log %windir%中找到。 此處會記錄錯誤,例如驅動程式的錯誤或遺漏MOF資源。 如果是錯誤的MOF資源,檔案 %windir%\system32\mofcomp.log可能會有與錯誤相關的其他資訊。
在 Windows Vista 之前的 Windows 版本中,您可以使用 Wmimgmt.msc 應用程式來變更所有 WMI 提供者的記錄設定。 (在 Windows 98/Me 中,請改用 Wbemcntl。您可以停用或重新啟用記錄、變更保留 WMI 記錄檔的目錄,以及設定這類檔案的大小上限。 如需詳細資訊,請參閱 WMI 記錄檔。