WMIGUIDREGINFO 結構 (wmilib.h)
WMIGUIDREGINFO 結構包含使用 WMI 連結庫支援例程之驅動程式所公開之指定數據區塊或事件區塊的註冊資訊。
語法
typedef struct _WMIGUIDREGINFO {
LPCGUID Guid;
ULONG InstanceCount;
ULONG Flags;
} WMIGUIDREGINFO, *PWMIGUIDREGINFO;
成員
Guid
識別區塊之 GUID 的指標。 除非也用來呼叫 WmiFireEvent ,否則可以分頁包含 GUID 的記憶體。
InstanceCount
指定為 區塊定義的實例數目。
Flags
指出區塊特性的旗標位。 這些旗標位定義於 Wmistr.h 頭檔中。 WMI ORs Flags 參數值,其 DpWmiQueryReginfo 例程的 RegFlags 參數中,其旗標位會套用至驅動程式所註冊的所有數據區塊和事件區塊。 旗標 因此補充指定區塊的驅動程序預設設定。
驅動程式可能會在 Flags中設定下列旗標位:
WMIREG_FLAG_INSTANCE_PDO
要求 WMI 從 PDO 的裝置實例標識碼產生靜態實例名稱。 如果設定此旗標,驅動程式 DpWmiQueryReginfo 例程的 Pdo 參數會指向傳遞至驅動程式 AddDevice 例程的 PDO。 WMI 會從 PDO 的裝置實例路徑產生實例名稱。 使用裝置實例路徑做為靜態實例名稱的基底是有效率的,因為這類名稱保證是唯一的。 WMI 會自動提供實例的「易記」名稱,做為數據取用者可查詢的數據區塊中的專案。
驅動程式也可能設定下列一或多個旗標位:
WMIREG_FLAG_EVENT_ONLY_GUID
區塊只能啟用或停用為事件,而且無法查詢或設定。 如果這個旗標清楚,也可以查詢或設定區塊。
WMIREG_FLAG_EXPENSIVE
要求WMI 在數據取用者第一次開啟數據區塊時傳送 IRP_MN_ENABLE_COLLECTION 要求,並在最後一個數據取用者關閉數據區塊時發出 IRP_MN_DISABLE_COLLECTION 要求。 如果收集這類數據會影響效能,建議這麼做,因為驅動程式在開啟 區塊明確要求數據取用者之前,不需要收集數據。
WMIREG_FLAG_REMOVE_GUID
要求 WMI 移除此區塊的支援。 此旗標只有在回應更新註冊資訊的要求時才有效(IRP_MN_REGINFO 或 IRP_MN_REGINFO_EX參數.WMI.DataPath 設定為 WMIUPDATE)。
言論
透過呼叫 WMI 連結庫來處理 WMI IRP 的驅動程式支援例程,會建置一個 WMIGUIDREGINFO 結構數位,每個數據區塊和事件區塊都會註冊一個。 驅動程式會將 GuidList 其 WMILIB_CONTEXT 結構的成員設定為指向數列中第一個 WMIGUIDREGINFO。
此結構的記憶體可以從分頁集區配置。
要求
要求 | 價值 |
---|---|
標頭 | wmilib.h (包括 Wmilib.h) |