Share via


使用 WMI 程式庫來註冊區塊

如果驅動程式正在註冊不使用動態實例名稱的區塊,或是根據 PDO 或驅動程式定義的基底名稱字串使用靜態實例名稱,則驅動程式可以使用 WMI 程式庫來處理 IRP_MN_REGINFOIRP_MN_REGINFO_EX 要求。 在此情況下,驅動程式:

  1. 使用驅動程式裝置物件的指標、WMILIB_CONTEXT結構的指標,以及 IRP 的指標呼叫WmiSystemControl

    WMILIB_CONTEXT結構指出要註冊 (GuidCount) 的區塊數目,並指向指定 GUID、實例數目和對應區塊的WMIGUIDREGINFO結構清單 (GuidList) 。 它也會定義驅動程式必要和選擇性 DpWmiXxx 回呼常式的進入點。

  2. 當 WMI 呼叫驅動程式的 DpWmiQueryReginfo 常式時,驅動程式會指定驅動程式的登錄路徑、其 MOF 資源名稱、與其所有區塊相關的註冊旗標,以及 WMI 用來命名驅動程式資料區塊實例的資訊,這可能是傳遞至驅動程式 AddDevice 常式的實體裝置物件的指標,或是用來建立靜態實例名稱的字串。

驅動程式必須在WMILIB_CONTEXT結構中初始化其 DpWmiXxx回呼常式的進入點,再呼叫WmiSystemControl,但可以在WMILIB_CONTEXT結構中延後GuidCountGuidList的初始化,直到 WMI 呼叫驅動程式的DpWmiQueryReginfo常式為止。