Configuration Manager Result Sets
In Configuration Manager, the result set of a query contains one or more instances that match the specified criteria of theSELECT
statement. The result instances are either Generic
class instances or instances of the class that is specified in the FROM clause.
__Generic Class Results
The results of a JOIN
operation are returned in either an instance of a class specified in the query or an instance of the __Generic
class. If a single class is implied by the property list in the SELECT statement, the results are returned as instances of that class. If there are multiple classes, the results are returned as instances of the __Generic class.
The __Generic
class is a generic container for the results of JOIN
operations and COUNT
operations. This class has no set definition. Its properties depend on its use at the time. For JOIN
results, the properties are embedded objects representing the classes specified in the query, as the following example shows.
SELECT * FROM SMS_Package AS Pack
INNER JOIN SMS_Program AS Prog
ON Pack.PackageID = Prog.PackageID
The following example shows the __Generic class result of the above query.
Class __Generic
{
SMS_Package Pack;
SMS_Program Prog;
}
For COUNT results, the instance includes a Count property, as the following class shows.
Class __Generic
{
uint32 Count;
}
Actual Class Instance Results
The class instances that are returned in a result set contain both system and class properties. However, embedded and lazy properties are not returned.
The system properties include those for the specified class and its derived classes. Because not all system properties are relevant to all queries, the value of a particular system property can be null
.
The class properties that are returned depend on whether you specify a property list or the asterisk. If you specify a property list containing one or more class properties, the returned instance contains only the properties in the list. The property list should include the key properties for the class. When you invoke a query that does not specify key properties in the property list, the result set contains incomplete and therefore incorrect values for the system properties, __Path
and __Relpath
.
See Also
How to Read Lazy Properties Using Managed Code
How to Read Lazy Properties Using WMI