共用方式為


數位 (WMI)

在 MOF 中,數位是描述數值的數位。 MOF 提供各種資料類型,可轉譯為自動化,也允許這些數位的格式不同。 下表列出 MOF 支援的數值。

資料類型 自動化類型 描述
sint8 VT_I2 帶正負號的 8 位整數。
sint16 VT_I2 帶正負號的 16 位整數。
sint32 VT_I4 帶正負號的 32 位整數。
sint64 VT_BSTR 字串形式的帶正負號 64 位整數。 此類型會根據美國標準局 (ANSI) C 規則,遵循十六進位或十六進位格式。
real32 VT_R4 4 位元組浮點數,緊接在電子工程師協會 inc. (IEEE) 標準之後。
real64 VT_R8 遵循 IEEE 標準的 8 位元組浮點值。
uint8 VT_UI1 不帶正負號的 8 位整數。
uint16 VT_I4 不帶正負號的 16 位整數。
uint32 VT_I4 不帶正負號的 32 位整數。
uint64 VT_BSTR 字串形式的無符號 64 位整數。 此類型會遵循 ANSI C 規則的十六進位或十進位格式。

雖然有彈性,但 MOF 程式碼在處理自動化時會遇到一些變更:

  • 您必須將 64 位整數編碼為字串。

    自動化不支援 64 位整數類型。

  • 自動化類型不一定會以位大小對應至 MOF 資料類型。

    例如,自動化會使用 VT_I4 傳回不帶正負號的 16 位值。 因為簽署延伸模組問題,所以存在這種差異。 如果自動化使用VT_I2而不是VT_I4,則 65,536 會顯示為值 1,造成類型和範圍問題。 同樣地,自動化會將 uint32 類型表示為VT_I4,因為沒有較大的整數類型可包含 uint32

  • 您不需要變更 8 位數位類型的任何標記法。

    自動化支援VT_UI1,這是未帶正負號的 8 位類型。

MOF 支援長常數。 您可以使用具有選擇性負號的簡單數位系列來宣告長常數。 長常數不能超過宣告為保存變數的大小。 長常數的一些範例為 1000 和 12310。

MOF 也支援替代數值格式。 下表列出您必須用來描述十六進位、二進位和八進位常數的特殊字元。

常數 特殊字元 範例
Decimal

val = 65
十六進位
0x 前置詞
val = 0x41
八進位
前置 0
val = 0101
Binary
尾端 B
val = 1000001B

您可以使用浮點常數來代表科學標記法和分數,如下所示:

3.14
-3.14
-1.2778E+02

WMI 會將浮點常數視為 自動化VT_R8 類型。

下列範例描述類別和實例宣告,說明如何使用每個數值資料類型來設定屬性:

Class NumericDataClass
 {
   [key] uint8 Duint8;
   SInt8       Dchar;
   UInt16      Dtword;
   Sint16      Dinst16;
   UInt32      Ddword;
   Sint32      Dinst1;
   Sint32      Dinst2;
   Sint32      Dinst3;
   Sint32      Dinst4;
   Sint32      Dinst5;
   Real32      Dfloat;
   Real64      Ddouble1;
   Real64      Ddouble2;
 };

instance of NumericDataClass
 {
   Duint8   =  122;
   Dchar    = -128;
   Dtword   =  30;
   Dinst16  = -1445;
   Ddword   =  6987777;
   Dinst1   = -455589;
   Dinst2   =  23;
   Dinst3   =  03;         // Base 8
   Dinst4   =  0xFe;       // Base 16
   Dinst5   =  11b;        // Base 2
   Dfloat   =  3.1478;
   Ddouble1 =  99987.3654;
   Ddouble2 =  2.3e-2;
 };