Компиляция локализованных MOF-файлов
Необходимо скомпилировать главный MOF-файл, чтобы создать MOF-файлы, независимые от языка и зависящие от языка.
Введите следующую команду в командной строке, чтобы скомпилировать главный MOF-файл.
mofcomp -MOF:Lnmof.mof -MFL:Lsmof.mfl -Поправка:MS_409 Mastermof.mof
При выполнении этой команды компилятор MOF создает два MOF-файла из исходного файла Mastermof.mof. Компилятор MOF создает нейтральную версию языка Lnmof.mof, в которой удаляются все элементы, относящиеся к языку. Также создается вторая языковая версия, Lsmof.mof; этот файл содержит только элементы, помеченные с измененным Qualifier Flavor в файле Mastermof.mof.
В следующем примере кода показано содержимое нейтрального к языку MOF-файла (Lnmof.mof), который создается.
#pragma namespace("\\\\.\\root")
Instance of __Namespace
{
Name = "TEST";
};
#pragma namespace("\\\\.\\root\\TEST")
[LOCALE(1033)]
class myclass
{
[key] string Name;
uint64 Value;
uint64 Timestamp;
};
В следующем примере кода показано содержимое созданного MOF-файла для конкретного языка (Lsmof.mfl).
#pragma namespace("\\\\.\\root\\TEST")
instance of __namespace{ name="ms_409";};
#pragma namespace("\\\\.\\root\\TEST\\ms_409")
[Description("Localized version of MyClass for American English") :
Amended, LOCALE(0x409)]
class myclass
{
[DisplayName("User Name") : Amended,
Description("The Name property contains the name of the user") :
Amended, key]
string Name;
[DisplayName("Time Stamp") : Amended,
Description("This property shows when the object was created") :
Amended]
uint64 Timestamp;
};
Компиляция MOF-файла с измененным квалификатором создает только отдельные MOF-файлы, нейтральные к языку и специфичные для языка; Репозиторий CIM не обновляется новыми сведениями о классе. Для компиляции двух MOF-файлов, созданных первой компиляцией, необходимо использовать компилятор MOF, прежде чем все сведения о классе будут доступны WMI.
При компиляции основного MOF-файла только квалификаторы с Amended flavor перемещаются в MOF-файл, специфичный для языка. Квалификаторы, не имеющие измененную вариацию, не подвергаются локализации и используются только в определении базового класса в файле MOF, независимом от языка. Нелокализованные квалификаторы можно использовать для описаний по умолчанию, если локализованные описания недоступны.
Можно использовать директиву pragma вместо указания измененные в качестве переключателя для компилятора MOF. Обе эти опции эквивалентны запросу языко-зависимой и языко-независимой версий MOF-файла. Если вы используете команду изменения pragma или параметр командной строки Amended, необходимо указать имена выходных файлов с помощью опций -MFL и -MOF в командной строке.
Заметка
Файл MOF, нейтральный с точки зрения языковой привязки, который создает компилятор MOF, содержит десятичный эквивалент идентификатора языкового стандарта, даже если это значение было введено в шестнадцатеричном виде. В приведенном выше примере компилятор преобразовал значение 0x409 в десятичное число 1033 для выходного файла Lnmof.mof.