使用浮点值编译 MOF 代码

MOF 编译器接受为非浮点属性指定的浮点值。 该值向上或向下舍入并存储为非浮点数。 这种情况可能会导致意外结果。

以下 MOF 代码示例在名为“Test”的命名空间中定义名为“abc”的类。 此 MOF 代码编译无误,但在此代码创建的实例中,无法查询为 exampleUint16 属性定义的浮点值。

#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;
};

如果发出以下查询,会收到指示查询无效的错误代码。

SELECT * FROM abc WHERE exampleUint16 = 1000.4

不过,以下查询会找到指示的实例。

SELECT * FROM abc WHERE exampleUint16 = 1000

编译 MOF 文件

mofcomp

预处理器命令