// Sample mof file. In this MOF file, teh name "OtherPc" is a logical name 
// for a remote node.  The name "dbitb2" is the actual name of the machine
// on the network.



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

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

#pragma namespace("\\\\.\\root\\DmiNodes")
	
instance of __NameSpace
{
	Name = "OtherPc";	// a logical name given to a remote node
};

#pragma namespace("\\\\.\\root\\DmiNodes\\Otherpc")

[singleton]
class DmiNode
{
	string NetworkAddress;
};


instance of DmiNode
{
	NetworkAddress = "dbitb2";	// Actual network name of the above node logical node "OtherPc"
};

instance of __Win32Provider As $Provider
{
    Name		= "WbemDmip" ;
    ClsId		=  "{DE065A70-19B5-11D1-B30C-00609778D668}" ;
};

instance of __InstanceProviderRegistration
{
    Provider = $Provider;
    SupportsGet = TRUE;
    SupportsPut = TRUE;
    SupportsDelete = TRUE;
    SupportsEnumeration = TRUE;
};

instance of __MethodProviderRegistration
{
    Provider = $Provider;
};

instance of __ClassProviderRegistration
{
    Provider = $Provider;
    SupportsGet = TRUE;
    SupportsPut = FALSE;
    SupportsDelete = TRUE;
    SupportsEnumeration = TRUE;

    QuerySupportLevels = NULL ;

	ResultSetQueries = { 
	
		"Select * From meta_class Where __this isa \"DmiComponent\"" ,
		"Select * From meta_class Where __this isa \"DmiGroupRoot\"" ,
		"Select * From meta_class Where __this isa \"DmiBindingRoot\"" ,
		"Select * From meta_class Where __this isa \"DmiNodeData\"" ,
		"Select * From meta_class Where __this isa \"DmiLanguage\"" ,
		"Select * From meta_class Where __this isa \"DmiEvent\"" ,
		"Select * From meta_class Where __this isa \"DmiAddMethodParams\"" ,
		"Select * From meta_class Where __this isa \"DmiGetEnumParams\"" ,
		"Select * From meta_class Where __this isa \"DmiLanguageMethodsParams\"" 
	} ;
} ;

instance of __Win32Provider as $EventProv
{
    Name		= "WbemDmiEventp" ;
    ClsId		=  "{B21FBFA0-1B39-11d1-B317-00609778D668}" ;
};

Instance of __EventProviderRegistration
{
	Provider = $EventProv ;
	
	EventQueryList = { 		
		"select * from DmiEvent",
		"select * from __InstanceCreationEvent where TargetInstance isa \"DmiComponent\"",
		"select * from __InstanceDeletionEvent where TargetInstance isa \"DmiComponent\"",
		"select * from __InstanceCreationEvent where TargetInstance isa \"DmiLanguage\"",
		"select * from __InstanceDeletionEvent where TargetInstance isa \"DmiLanguage\""
	};
};

