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