// Copyright (c) 1997-2003 Microsoft Corporation, All Rights Reserved #pragma autorecover #pragma namespace("\\\\.\\root") Instance of __Namespace { Name = "directory"; }; #pragma namespace("\\\\.\\root\\directory") Instance of __Namespace { Name = "LDAP"; }; #pragma namespace("\\\\.\\root\\directory\\LDAP") class Uint8Array { [Read] uint8 value[]; }; class DN_With_String { [Read] string dnString; [Read] string value; }; class DN_With_Binary { [Read] string dnString; [Read] uint8 value[]; }; [singleton,dynamic,provider("Microsoft|DSLDAPInstanceProvider|V1.0")] class RootDSE { [Read] string subschemaSubentry; [Read] string currentTime; [Read] string serverName; [Read] string namingContexts[]; [Read] string defaultNamingContext; [Read] string schemaNamingContext; [Read] string configurationNamingContext; [Read] string rootDomainNamingContext; [Read] string supportedControl[]; [Read] string supportedLDAPVersion[]; [Read] string dnsHostName; [Read] string dsServiceName; [Read] string highestCommittedUSN; [Read] string LDAPServiceName; [Read] string supportedCapabilities; [Read] string supportedLDAPPolicies[]; [Read] string supportedSASLMechanisms[]; }; [Abstract] class DS_LDAP_Root_Class { [Read,KEY] string ADSIPath; }; Instance of __Win32Provider as $ClassProvider { Name = "Microsoft|DSLDAPClassProvider|V1.0"; Clsid = "{1EF94880-01A8-11d2-A90B-00AA00BF3363}"; ImpersonationLevel = 1; PerUserInitialization = TRUE; HostingModel = "NetworkServiceHost"; }; 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 { [Read,key,classref{"DS_LDAP_Root_Class"} : ToInstance ToSubclass] object Ref ChildClass; [Read,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; HostingModel = "NetworkServiceHost"; }; 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 { [Read,KEY] DS_LDAP_Root_Class Ref ChildInstance; [Read,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; HostingModel = "NetworkServiceHost"; }; Instance of __InstanceProviderRegistration { Provider = $InstanceProvider; SupportsGet = TRUE; SupportsPut = TRUE; SupportsDelete = TRUE; SupportsEnumeration = TRUE; QuerySupportLevels = {"WQL:UnarySelect"}; }; class DN_Class { [Read,KEY] string DN; }; [Association : ToInstance] class DSClass_To_DNInstance { [Read,KEY,classref("DS_LDAP_Root_Class") : ToInstance ToSubclass] string DSClass; [Read,KEY] DN_Class Ref RootDNForSearchAndQuery; }; #pragma autorecover #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("ms_409")] class Uint8Array { [Description("This is array of uint8 values that for the Octet String") : Amended] uint8 value[]; }; [Description("This is the class used to model the AD Syntax DN_With_String") : Amended,AMENDMENT, LOCALE("ms_409")] class DN_With_String { [Description("This is the DN string component of the tuple") : Amended] string dnString; [Description("This is the Value component of the tuple") : Amended] string value; }; [Description("This is the class used to model the AD Syntax DN_With_Binary") : Amended,AMENDMENT, LOCALE("ms_409")] class DN_With_Binary { [Description("This is the DN string component of the tuple") : Amended] string dnString; [Description("This is the Value component of the tuple") : Amended] uint8 value[]; }; [Description("This is the class used to model the LDAP RootDSE object") : Amended,AMENDMENT, LOCALE("ms_409")] class RootDSE { [Description("Distinguished name for the subSchema object. The subschemaSubentry property and subschema are defined in LDAP 3.0 (see RFC 2251).") : Amended] string subschemaSubentry; [Description("Current time set on this directory server") : Amended] string currentTime; [Description("Distinguished name for the server object for this directory server in the configuration container") : Amended] string serverName; [Description("DISTINGUISHED NAMEs for all naming contexts stored on this directory server. By default, a Windows 2000 domain controller contains at least three namespaces: Schema, Configuration, and one for the domain of which the server is a member") : Amended] string namingContexts[]; [Description("The distinguished name for the domain of which this directory server is a member") : Amended] string defaultNamingContext; [Description("Distinguished name for the schema container") : Amended] string schemaNamingContext; [Description("Distinguished name for the configuration container") : Amended] string configurationNamingContext; [Description("Distinguished name for the first domain in the forest that contains the domain of which this directory server is a member") : Amended] string rootDomainNamingContext; [Description("OIDs for extension controls supported by this directory server") : Amended] string supportedControl[]; [Description("LDAP versions (specified by major version number) supported by this directory server") : Amended] string supportedLDAPVersion[]; [Description("DNS address for this directory server") : Amended] string dnsHostName; [Description("The distinguished name of the NTDS settings object for this directory server") : Amended] string dsServiceName; [Description("Highest USN used on this directory server. Used by directory replication") : Amended] string highestCommittedUSN; [Description("Service Principal Name (SPN) for the LDAP server. Used for mutual authentication") : Amended] string LDAPServiceName; [Description("The OBJECT IDENTIFIERs (OIDs) identifying the supported capabilities of the server") : Amended] string supportedCapabilities; [Description("Supported LDAP management policies.") : Amended] string supportedLDAPPolicies[]; [Description("Security mechanisms supported for SASL negotiation (see LDAP RFCs). By default, GSSAPI is supported") : Amended] string supportedSASLMechanisms[]; }; [Description("This acts as the base class of all the classes provides by the DS Provider") : Amended,AMENDMENT, LOCALE("ms_409")] 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("ms_409")] 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("ms_409")] class DS_LDAP_Instance_Containment { [KEY,Description("The child DS instance") : Amended] DS_LDAP_Root_Class Ref ChildInstance; [KEY,Description("The child DS instance") : Amended] DS_LDAP_Root_Class Ref ParentInstance; }; [Description("A class to encapsulate a DN") : Amended,AMENDMENT, LOCALE("ms_409")] class DN_Class { [KEY,Description("The ADSI Path to the object in the DS") : Amended] string DN; }; [Description(" Use an instance of this class to allow the client to give a hint to the DS Instance Provider to scope enumerations and queries to a particular sub-tree or a naming context. The client should create instances of this class if it wants the DS Provider to do enumerations and queries of a specific DS class from a specific DS Object as the root") : Amended,AMENDMENT, LOCALE("ms_409")] class DSClass_To_DNInstance { [KEY,Description("The Name of the class for which scoping is to be used") : Amended] string DSClass; [KEY,Description("The reference to an instance of DN_Class that gives the ADSI path of the object below which the search should be scoped") : Amended] DN_Class Ref RootDNForSearchAndQuery; };