Поделиться через


Строки MOF

Строка — это тип данных, который содержит строку символов, обычно предназначенную как удобочитаемый текст. MOF описывает два типа строк, которые используются для хранения одного или нескольких символов. MOF также содержит ряд правил, описывающих использование кавычек в строке.

В следующей таблице перечислены строковые типы данных для MOF.

Тип данных Тип автоматизации Описание
char16 VT_I2 Один 16-разрядный символ Юникода в формате универсального набора символов 2 (UCS-2)
строка VT_BSTR Строка символов Юникод

При написании строк для MOF используйте следующие рекомендации:

  • Заключите односимвольный констант в одинарные кавычки.

    Если вы не используете одинарные кавычки с константами одного символа, необходимо использовать целочисленное представление символьного значения Юникода. При необходимости можно указать символ буквально с помощью escape-последовательности \x из стандарта C Американского национального института стандартов (ANSI), как показано ниже:

    char16  TestChar1 = '\x4133';
    char16  Testchar2 = 'A';
    

    Так как MOF основан на Юникоде, можно также указать 16-разрядные значения.

    Имейте в виду, что односимвольный констант в формате ANSI C заключены в двойные кавычки.

  • Заключите символьные строки двойными кавычками.

    DTime    = "19940107140332.000000-300";
    
  • Сцепить последовательные строки кавычек с одним или несколькими пробелами.

    DString = "This" "becomes a long string";
    
  • Используйте escape-последовательность, начинающаяся с обратной косой черты, для внедрения кавычек в строку.

    DMyString = "This is an \"embedded quote\" example."
    

В следующем примере описывается, как инициализировать свойства строки и строковый параметр:

class  StringDataClass
{
    [key]  String    Dstring;
    DateTime         DTime;
    char16           CharVal1;
    char16           CharVal2;
    sint32 DiskMethod ([in, Id(0)] string Description = "Disk 1");
};

instance of StringDataClass
{
    Dstring = "this can go on for " " some time"
       " before it is complete";
    DTime    = "19940107140332.000000-300";
    CharVal1 = '\x16';
    CharVal2 = '\x32';
};