Compilar o código MOF com valores de ponto flutuante

O compilador do MOF aceita um valor de ponto flutuante especificado para uma propriedade de ponto não flutuante. O valor é arredondado para cima ou para baixo e armazenado como um número de ponto não flutuante. Essa situação pode provocar alguns resultados inesperados.

O exemplo de código MOF a seguir define uma classe chamada abc em um namespace chamado "Test". Esse código MOF é compilado sem erros, mas você não pode consultar o valor de ponto flutuante definido para a propriedade exampleUint16 na instância que esse código cria.

#pragma namespace ("\\\\.\\Root")

instance of __Namespace
{
    Name = "Test";
};

#pragma namespace ("\\\\.\\Root\\test")

Class abc
{
        [KEY] String testID ;
        Uint16 exampleUint16;
        Real64 exampleReal64;
};

Instance of abc
{ 
        TestID ="exampleID";
        exampleUint16 = 1000.4;
};

Se você emitir a consulta a seguir, obterá um código de erro que indica uma consulta inválida.

SELECT * FROM abc WHERE exampleUint16 = 1000.4

No entanto, a consulta a seguir localiza a instância indicada.

SELECT * FROM abc WHERE exampleUint16 = 1000

Compilar arquivos MOF

mofcomp

Comandos de pré-processador