共用方式為


處理 WMI 請求

所有驅動程式都必須設定 DispatchSystemControl 例程的分派數據表進入點,才能處理 WMI 要求。 如果驅動程式 註冊為 WMI 數據提供者,它必須處理所有 WMI 要求。 否則,驅動程式必須將所有 WMI 要求轉送至下一個較低的驅動程式。

所有 WMI IRP 都有主要程式碼 IRP_MJ_SYSTEM_CONTROL 和下列其中一個次要程式代碼:

WMI 核心模式元件會在驅動程式成功註冊為 WMI 數據提供者之後,隨時傳送 WMI IRP,通常是當使用者模式數據取用者要求驅動程式裝置的 WMI 資訊時。 如果驅動程式藉由呼叫 IoWMIRegistrationControl 註冊為WMI資料提供者,則必須以下列其中一種方式處理每個後續的WMI要求:

  • 呼叫內核模式 WMI 連結庫例程 WmiSystemControl。 驅動程式可以呼叫 WmiSystemControl 來處理只涉及不使用動態實例名稱之區塊的要求,以及在單一基底名稱字串或 PDO 的裝置實例識別符 上建立靜態實例名稱。 如需詳細資訊,請參閱 呼叫 WmiSystemControl 來處理 WMI IRP

  • 在其 DispatchSystemControl 例程中,處理並完成任何驅動程式在呼叫 IoWMIRegistrationControl 時,透過指針標記其裝置物件的請求,並將其他 IRP_MJ_SYSTEM_CONTROL 請求轉送至下一個較低的驅動程式。 如需詳細資訊,請參閱在 DispatchSystemControl 例程中處理 WMI IRPs 的詳細內容。

如需 WMI 次要 IRP 的清單,請參閱 WMI 次要 IRP。