共用方式為


wmilib.h (WMIGUIDREGINFO 結構)

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 或參數.WMI.DataPath 設定為 WMIUPDATE ) IRP_MN_REGINFO_EX時有效。

備註

呼叫 WMI 連結庫支援例程來處理 WMI IRP 的驅動程式會建置 WMIGUIDREGINFO 結構的陣列,每個要註冊的數據區塊和事件區塊各一個。 驅動程式會設定其WMILIB_CONTEXT結構的 GuidList 成員,以指向數列中的第一個 WMIGUIDREGINFO

此結構的記憶體可以從分頁集區配置。

規格需求

需求
標頭 wmilib.h (包含 Wmilib.h)

另請參閱

DpWmiQueryReginfo

IRP_MN_DISABLE_COLLECTION

IRP_MN_ENABLE_COLLECTION

IRP_MN_REGINFO

IRP_MN_REGINFO_EX

WMILIB_CONTEXT

WmiFireEvent