描述:
*.mof内容如下:
#pragma namespace("\\\\.\\root")
Instance of __Namespace
{
Name = "directory";
};
#pragma namespace("\\\\.\\root\\directory")
Instance of __Namespace
{
Name = "LDAP";
};
#pragma namespace("\\\\.\\root\\directory\\LDAP")
class Uint8Array
{
uint8 value[];
};
class DN_With_String
{
string dnString;
string value;
};
class DN_With_Binary
{
string dnString;
uint8 value[];
};
[singleton,dynamic,provider("Microsoft|DSLDAPInstanceProvider|V1.0")]
class RootDSE
{
string subschemaSubentry;
string currentTime;
string serverName;
string namingContexts[];
string defaultNamingContext;
string schemaNamingContext;
string configurationNamingContext;
string rootDomainNamingContext;
string supportedControl[];
string supportedLDAPVersion[];
string dnsHostName;
string dsServiceName;
string highestCommittedUSN;
string LDAPServiceName;
string supportedCapabilities;
string supportedLDAPPolicies[];
string supportedSASLMechanisms[];
};
[Abstract]
class DS_LDAP_Root_Class
{
[KEY] string ADSIPath;
};
Instance of __Win32Provider as $ClassProvider
{
Name = "Microsoft|DSLDAPClassProvider|V1.0";
Clsid = "{1EF94880-01A8-11d2-A90B-00AA00BF3363}";
ImpersonationLevel = 1;
PerUserInitialization = TRUE;
};
Instance of __ClassProviderRegistration
{
Provider = $ClassProvider;
SupportsGet = TRUE;
SupportsPut = FALSE;
SupportsDelete = FALSE;
SupportsEnumeration = TRUE;
ResultSetQueries = {"Select * From meta_class Where __this isa DS_LDAP_Root_Class"};
UnsupportedQueries = {"Select * From meta_class Where __Class = \"DS_LDAP_Root_Class\""};
};
[Association : ToInstance,dynamic,HasClassRefs,provider("Microsoft|DSLDAPClassAssociationsProvider|V1.0")]
class DS_LDAP_Class_Containment
{
[key,classref{"DS_LDAP_Root_Class"} : ToInstance ToSubclass] object Ref ChildClass;
[key,classref{"DS_LDAP_Root_Class"} : ToInstance ToSubclass] object Ref ParentClass;
};
Instance of __Win32Provider as $AssociationsProvider
{
Name = "Microsoft|DSLDAPClassAssociationsProvider|V1.0";
Clsid = "{33831ED4-42B8-11d2-93AD-00805F853771}";
ImpersonationLevel = 1;
};
Instance of __InstanceProviderRegistration
{
Provider = $AssociationsProvider;
SupportsGet = TRUE;
SupportsPut = FALSE;
SupportsDelete = FALSE;
SupportsEnumeration = TRUE;
};
[Association : ToInstance,dynamic,provider("Microsoft|DSLDAPInstanceProvider|V1.0")]
class DS_LDAP_Instance_Containment
{
[KEY] DS_LDAP_Root_Class Ref ChildInstance;
[KEY] DS_LDAP_Root_Class Ref ParentInstance;
};
Instance of __Win32Provider as $InstanceProvider
{
Name = "Microsoft|DSLDAPInstanceProvider|V1.0";
Clsid = "{AA527A40-4D9A-11d2-93AD-00805F853771}";
PerUserInitialization = TRUE;
ImpersonationLevel = 1;
};
Instance of __InstanceProviderRegistration
{
Provider = $InstanceProvider;
SupportsGet = TRUE;
SupportsPut = TRUE;
SupportsDelete = TRUE;
SupportsEnumeration = TRUE;
QuerySupportLevels = {"WQL:UnarySelect"};
};
class DN_Class
{
[KEY] string DN;
};
[Association : ToInstance]
class DSClass_To_DNInstance
{
[KEY,classref("DS_LDAP_Root_Class") : ToInstance ToSubclass] string DSClass;
[KEY] DN_Class Ref RootDNForSearchAndQuery;
};
#pragma namespace("\\\\.\\root\\directory\\LDAP")
instance of __namespace{ name="ms_409";};
#pragma namespace("\\\\.\\root\\directory\\LDAP\\ms_409")
[Description("This is the class used to model the AD Syntax Octet String") : Amended,AMENDMENT, LOCALE(0x409)]
class Uint8Array
{
};
[Description("This is the class used to model the AD Syntax DN_With_String") : Amended,AMENDMENT, LOCALE(0x409)]
class DN_With_String
{
};
[Description("This is the class used to model the AD Syntax DN_With_Binary") : Amended,AMENDMENT, LOCALE(0x409)]
class DN_With_Binary
{
};
[Description("This is the class used to model the LDAP RootDSE object") : Amended,AMENDMENT, LOCALE(0x409)]
class RootDSE
{
};
[Description("This acts as the base class of all the classes provides by the DS Provider") : Amended,AMENDMENT, LOCALE(0x409)]
class DS_LDAP_Root_Class
{
[KEY,Description("This is the key for any DS Object") : Amended] string ADSIPath;
};
[Description("This class models the possible superiors of a DS class") : Amended,AMENDMENT, LOCALE(0x409)]
class DS_LDAP_Class_Containment
{
[key,Description("The child DS Class") : Amended] object Ref ChildClass;
[key,Description("The parent DS Class") : Amended] object Ref ParentClass;
};
[Description("This class models the parent-child container relationship of instances in the DS") : Amended,AMENDMENT, LOCALE(0x409)]
class DS_LDAP_Instance_Containment
{
[KEY,Description("The child DS instance") : Amended] DS_LDAP_Root_Class R