共用方式為


Driver-Defined WMI 資料項目

WMI 資料或事件區塊類別定義中的資料項目可以是下列其中一項:

  • 基本資料類型,例如字串或不帶正負號的整數。

  • 內嵌類別。 內嵌類別僅用於另一個類別定義中的資料項目,而且不會公開為數據區塊或事件區塊。

  • 基本資料類型或內嵌類別的固定長度或可變長度陣列。

將資料區區塊轉送至 WMI 時,驅動程式必須在 8 位元組界限上對齊區塊的開頭。 區塊中的所有後續資料項目都必須對齊資料類型的對應對齊方式。 布林值uint8應該對齊 1 位元組界限。 sint16uint16字串專案應該對齊 2 位元組界限,依此類排列。 陣列應該根據陣列的基底類型對齊。 位元組陣列應該對齊位元組界限、uint64 的陣列應該對齊 8 位元組界限上,依此類排列。 內嵌類別應該根據內嵌類別的自然對齊方式進行對齊,此內嵌類別定義為內嵌類別內的最大元素。 例如,如果內嵌類別具有 uint64,則類別應該對齊 8 位元組界限。 WMI 資料項目對齊遵循與 Microsoft C 編譯器上的 /Zp8 參數相同的慣例。

驅動程式寫入器不一定必須在必要專案 InstanceNameActive以外的區塊中定義資料項目。 例如,空的事件區塊可作為發生事件的通知,而不需要其他資料。 或者,資料區塊可能只是列舉實例名稱,以回應 IRP_MN_QUERY_ALL_DATA 要求。

下表列出可用來定義 WMI 資料或事件區塊中專案的 MOF 資料類型。 如需 MOF 資料類型的詳細資訊,請參閱Microsoft Windows SDK。

資料類型 資料格式 以位元組為單位的對齊方式 ()

string

USHORT,指定以位元組為單位的字串長度,後面接著 Unicode 字串資料。 字串資料可以選擇性地包含終止 0,後面接著填補。 如果是,字串長度必須包含終止 0 和填補。 驅動程式可以使用 MaxLen 限定詞來指定字串字元的最大長度。 指定最大字串長度的驅動程式可以使用固定大小緩衝區來保存字串。 如果字串嚴格小於緩衝區的大小,則驅動程式可以使用零填補字串的其餘部分。

2

boolean

一個位元組值,其中 0 為 FALSE,且任何非零值為 TRUE

1

sint8

帶正負號的 8 位元整數

1

uint8

不帶正負號的 8 位元整數

1

sint16

帶正負號的 16 位元整數

2

uint16

不帶正負號的 16 位元整數

2

sint32

帶正負號的 32 位元整數

4

uint32

不帶正負號的 32 位元整數

4

sint64

帶正負號的 64 位元整數

8

uint64

不帶正負號的 64 位元整數

8

datetime

指定絕對日期或時間間隔的固定長度 25 個字元 Unicode 字串。 datetime值的格式如下:

yyyymmddhhmmss.mmmmmmsutc

其中:

yyyy 是 4 位數年份

mm 是 2 位數月份

dd 是當月的 2 位數日期

hh 是根據 24 小時制的小時

mm 是分鐘

ss 是秒數

mmmmmm 是微秒數

s 是加號 (+) 或減號 (-) ,指出 utc 是通用時間座標的正或負數位移;或冒號 (:) ,表示 datetime 值是間隔。

utc 是通用時間座標的分鐘數位移。 如果 utc 是零 (000) , 則 datetime 值是間隔。

值必須以零填補。 不重要的欄位可以填入星號 (*) 。

2