Partager via


Compilation de code MOF avec des valeurs à virgule flottante

Le compilateur MOF accepte une valeur à virgule flottante spécifiée pour une propriété à virgule non flottante. La valeur est arrondie à l'unité supérieure ou inférieure et stockée sous la forme d'un nombre à virgule non flottante. Cette situation peut entraîner des résultats inattendus.

L’exemple de code MOF suivant définit une classe appelée abc dans un espace de noms appelé « Test ». Ce code MOF se compile sans erreurs, mais vous ne pouvez pas interroger la valeur à virgule flottante définie pour la propriété exampleUint16 dans l’instance créé par ce code.

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

Si vous émettez la requête suivante, vous obtenez un code d’erreur qui indique une requête non valide.

SELECT * FROM abc WHERE exampleUint16 = 1000.4

Toutefois, la requête suivante recherche l’instance indiquée.

SELECT * FROM abc WHERE exampleUint16 = 1000

Compilation de fichiers MOF

mofcomp

Commandes de préprocesseur