iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0

WMI 的架構在WMI SPEC 中分為三個部分,如圖所示
WMI Architecture

第一個是 WMI Providers (提供者) 及 Managed Objects (受管理物件)

WMI Provider 符合 COM 標準,用來管理 WMI 的受管理物件,單一 Provider 可管理一個或數個物件,受管理物件可為電腦的實體組件、資料庫系統、作業系統、進程(Process)或服務(Service)。WMI Provider 與驅動程式相似,提供受管理物件的資訊或處理受管理物件回報的訊息。Provider 由 MOF (Managed Object Format) 與 DLL 組成,定義了 Class 裡的回傳資料及進行操作,Windows資料夾 %WINDIR%\System32\wbem 中可看到許多系統提供的 MOF 與 DLL,用來取得系統 WMI 相關操作。WMI ACPI 及 Provider 實例可先參考 WMI 驅動程式範例,後續會再介紹範例的內容。

第二個是 WMI Infrastructure (基礎結構)

WMI Infrastructure 是 Microsoft Windows 作業系統元件中的 Winmgmt (Windows Management Instrumentation) 服務,會作為共用服務 Windows Services 的主機處理程序 (SVCHOST),架構上包含了 WMI Core (核心) 與 WMI Repository (存放庫),也是 Provider 與 Consumer 之間的媒介。WMI Repository 是儲存靜態資料的區域,如 Provider 提供的 Classes 相關資料。動態資料方面會在 Consumer 要求資料時,與 Provider 互動執行特定功能取得即時資訊。

WMI 會使用事件追蹤來記錄 WMI 相關的服務活動。Infrastructure 也提供下列功能 事件通知查詢語言安全性腳本存取效能計數器資料

第三個是 WMI Consumers (取用者)

與 WMI Infrastructure 互動的應用程式或腳本稱為 WMI Consumer,應用程式可以使用 WMI 的 COM API腳本 API 與 WMI Infrastructure、Provider 互動,以進行查詢、列舉資料、執行方法或訂閱事件等行為。

架構圖中 COM (Component Object Model, 元件物件模型) 是 Microsoft 所制定的一種二進位機器碼下的軟體元件介面標準、可用許多語言撰寫(需可建立指標結構),結構可依需求制訂,只要轉譯二進位後符合 COM 標準即可,所以可在不同平台、不同電腦下使用。物件可包含 Data Sets 與 Function sets,function 可用以運算操作傳輸資料,Function sets 稱為 Interface,單一 Function 稱為 Method。WMI 各部分介面銜接皆符合 COM 的標準。


上一篇
[Day 19] WMI - WMIC
下一篇
[Day 24] WMI
系列文
我的第一個 BIOS 與 Web API 應用程式15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言