Criando e implantando o arquivo MOF localizado
Versões internacionais do Windows XP e versões posteriores do sistema operacional vêm em dois tipos : versões de linguagem única (localizadas) e versões de MUI (Interface do Usuário Multilanguage). Uma versão mui do Windows pode dar suporte a vários idiomas simultaneamente.
Os drivers implantados em uma versão localizada do Windows devem conter um recurso MOF que contenha a versão neutra em idioma de todas as classes, bem como a alteração de idioma localizado e a alteração do idioma inglês americano.
Em uma versão MUI do Windows, a imagem do driver em si deve conter as versões em inglês americano e neutras do idioma das classes WMI. Para cada idioma adicional com suporte, uma imagem somente de recurso pode ser colocada no diretório %windir%\system32\drivers\MUI\langid , em que langid é o LCID do para a localidade.
Opcionalmente, a própria imagem de driver pode conter todos os idiomas com suporte.
Se um idioma não for compatível com um desses mecanismos, a versão em inglês será usada.
Criando arquivos MOF distintos para cada idioma
Os gravadores de driver podem usar uma master arquivo de texto MOF para conter a classe básica e todas as suas alterações.
Você pode usar o compilador MOF para gerar um arquivo que contém as classes neutras de linguagem, bem como um arquivo para conter as classes alteradas para um idioma específico.
mofcomp -amendment:namespace [ -MOF:mof] [ -MFL:mfl] masterfile
O parâmetro namespace é do formulário MS_XXX, em que XXX é o LCID para a localidade a ser gerada. O arquivo mof criado contém as classes neutras de linguagem e o arquivo mfl criado contém as classes alteradas.
Ao criar seu driver em sistemas operacionais baseados em NT, você pode mesclar os dois arquivos usando o comando copy. No Windows 98/Me, o comando copy não acrescenta corretamente arquivos Unicode, mas o comando a seguir pode ser usado.
wmimofck localizedfile -ymof -zmfl
Você pode combinar qualquer número de idiomas em um único arquivo de texto.
Em seguida, o arquivo localizado pode ser compilado em um arquivo binário pelo mesmo método dos arquivos MOF que não foram localizados:
mofcomp -B:binaryfile localizedfile
Para uma versão de idioma único do Windows, os drivers anexam o MOF binário como um recurso à imagem do driver. Consulte Compilando um arquivo MOF de driver para obter detalhes.
Em um sistema MUI, a própria imagem do driver deve ser criada para o inglês americano. Para cada idioma adicional, instale cada arquivo MOF binário localizado como um recurso em um arquivo de imagem separado no diretório %windir%\system32\drivers\MUI\langid apropriado, em que langid é o LCID hexadecimal para a localidade (por exemplo, 409 para inglês americano). O nome do arquivo deve ser drivername.sys ou drivername.sys.mui, em quedrivername.sys é o nome do binário do driver.
Criando um arquivo MOF para todos os idiomas com suporte
Se a imagem do driver contiver todos os idiomas com suporte, haverá uma maneira mais simples de criar um arquivo MOF com suporte a cada idioma. Usando #pragma diretivas no arquivo de texto MOF, os drivers também podem combinar todas as classes alteradas em um binário. Como cada localização existe em um namespace distinto, elas podem ser combinadas com segurança em um único binário.
Ao escrever o arquivo de texto MOF combinado, os gravadores de driver devem preceder cada declaração de classe alterada com uma diretiva #pragma da seguinte maneira
#pragma namespace ("namespace")
em que namespace
é o namespace correto para a declaração. Por exemplo, a declaração de classe alterada para o inglês americano deve ser precedida com uma declaração do formulário:
#pragma namespace ("\\\\.\\root\\wmi\\ms_409")
Por exemplo, você declara uma classe e suas alterações da seguinte maneira.
#pragma namespace ("\\\\.\\root\\wmi)
[guid(xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx)]
class MyClass
{
}
#pragma namespace(\\\\.\\root\\wmi\\ms_409)
[amendment, locale(0x407)]
class MyClass
{
}
Usando essa abordagem, a criação do arquivo MOF binário é idêntica à abordagem nãocalizada. Consulte Compilando um arquivo MOF de driver para obter detalhes.