Freigeben über


Kompilieren von MOF-Code mit Gleitkommawerten

Der MOF-Compiler akzeptiert die Angabe eines Gleitkommawerts für eine Eigenschaft, die keine Gleitkommaeigenschaft ist. Der Wert wird aufgerundet oder abgerundet und als Nicht-Gleitkommazahl gespeichert. Diese Situation kann zu einigen unerwarteten Ergebnissen führen.

Im folgenden MOF-Codebeispiel wird eine Klasse namens abc in einem Namespace namens „Test“ definiert. Dieser MOF-Code wird ohne Fehler kompiliert, aber Sie können den Gleitkommawert, der für die in der Instanz, die dieser Code erstellt, definierten Eigenschaft exampleUint16 nicht abfragen.

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

Wenn Sie die folgende Abfrage ausführen, erhalten Sie einen Fehlercode, der auf eine ungültige Abfrage hinweist.

SELECT * FROM abc WHERE exampleUint16 = 1000.4

Die folgende Abfrage findet jedoch die angegebene Instanz.

SELECT * FROM abc WHERE exampleUint16 = 1000

Kompilieren von MOF-Dateien

mofcomp

Präprozessorbefehle