You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
279 lines
11 KiB
279 lines
11 KiB
/*
|
|
|
|
* Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
|
|
*/
|
|
|
|
/*****************************************************
|
|
* MOF File for registering the DS PRovider
|
|
******************************************************/
|
|
|
|
#pragma autorecover
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// Create the namespace in which the DS Provider provides classes
|
|
//////////////////////////////////////////////////////////////////
|
|
#pragma namespace("\\\\.\\root")
|
|
instance of __Namespace
|
|
{
|
|
Name = "directory" ;
|
|
} ;
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// Create the namespace for the LDAP ADSI Provider
|
|
//////////////////////////////////////////////////////////////////
|
|
#pragma namespace("\\\\.\\root\\directory")
|
|
instance of __Namespace
|
|
{
|
|
Name = "LDAP" ;
|
|
} ;
|
|
|
|
#pragma namespace("\\\\.\\root\\directory\\LDAP")
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////
|
|
////// DS Class Provider ////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
[Description("This is the class used to model the AD Syntax Octet String") : Amended
|
|
]
|
|
Class Uint8Array
|
|
{
|
|
[Read, 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
|
|
]
|
|
Class DN_With_String
|
|
{
|
|
[Read, Description("This is the DN string component of the tuple") : Amended]
|
|
string dnString;
|
|
[Read, 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
|
|
]
|
|
Class DN_With_Binary
|
|
{
|
|
[Read, Description("This is the DN string component of the tuple") : Amended]
|
|
string dnString;
|
|
[Read, Description("This is the Value component of the tuple") : Amended]
|
|
uint8 value[];
|
|
};
|
|
|
|
[singleton,
|
|
dynamic,
|
|
Description("This is the class used to model the LDAP RootDSE object") : Amended,
|
|
provider("Microsoft|DSLDAPInstanceProvider|V1.0")
|
|
]
|
|
Class RootDSE
|
|
{
|
|
[Read, Description("Distinguished name for the subSchema object. The "
|
|
"subschemaSubentry property and subschema are defined in LDAP 3.0 "
|
|
"(see RFC 2251).") : Amended]
|
|
string subschemaSubentry;
|
|
[Read, Description("Current time set on this directory server") : Amended]
|
|
string currentTime;
|
|
[Read, Description("Distinguished name for the server object for "
|
|
"this directory server in the configuration container") : Amended]
|
|
string serverName;
|
|
[Read, 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[];
|
|
[Read, Description("The distinguished name for the domain of which "
|
|
"this directory server is a member") : Amended]
|
|
string defaultNamingContext;
|
|
[Read, Description("Distinguished name for the schema container") : Amended]
|
|
string schemaNamingContext;
|
|
[Read, Description("Distinguished name for the configuration container") : Amended]
|
|
string configurationNamingContext;
|
|
[Read, 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;
|
|
[Read, Description("OIDs for extension controls supported by this directory server") : Amended]
|
|
string supportedControl[];
|
|
[Read, Description("LDAP versions (specified by major version number) "
|
|
"supported by this directory server") : Amended]
|
|
string supportedLDAPVersion[];
|
|
[Read, Description("DNS address for this directory server") : Amended]
|
|
string dnsHostName;
|
|
[Read, Description("The distinguished name of the NTDS settings object "
|
|
"for this directory server") : Amended]
|
|
string dsServiceName;
|
|
[Read, Description("Highest USN used on this directory server. Used by "
|
|
"directory replication") : Amended]
|
|
string highestCommittedUSN;
|
|
[Read, Description("Service Principal Name (SPN) for the LDAP server. "
|
|
"Used for mutual authentication") : Amended]
|
|
string LDAPServiceName;
|
|
[Read, Description("The OBJECT IDENTIFIERs (OIDs) identifying the supported "
|
|
"capabilities of the server") : Amended]
|
|
string supportedCapabilities;
|
|
[Read, Description("Supported LDAP management policies.") : Amended]
|
|
string supportedLDAPPolicies[];
|
|
[Read, Description("Security mechanisms supported for SASL negotiation "
|
|
"(see LDAP RFCs). By default, GSSAPI is supported") : Amended]
|
|
string supportedSASLMechanisms[];
|
|
};
|
|
|
|
|
|
[Abstract,
|
|
Description("This acts as the base class of all the classes provides by the DS Provider") : Amended
|
|
]
|
|
class DS_LDAP_Root_Class
|
|
{
|
|
[Read, KEY, Description("This is the key for any DS Object") : Amended]
|
|
string ADSIPath;
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
// Create an instance of the provider class for registration
|
|
///////////////////////////////////////////////////////////////////////
|
|
instance of __Win32Provider as $ClassProvider
|
|
{
|
|
Name = "Microsoft|DSLDAPClassProvider|V1.0";
|
|
Clsid = "{1EF94880-01A8-11d2-A90B-00AA00BF3363}";
|
|
ImpersonationLevel = 1;
|
|
PerUserInitialization = TRUE;
|
|
HostingModel = "NetworkServiceHost";
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
// Specification of the classes and operation provided by the provider
|
|
///////////////////////////////////////////////////////////////////////
|
|
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\"" } ; // Provide all classes derived from the base class
|
|
UnsupportedQueries = { "Select * From meta_class Where __Class = \"DS_LDAP_Root_Class\"" }; // Except the base class itself which is static
|
|
};
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////
|
|
////// DS Class Associations Provider ////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
[
|
|
Association : ToInstance,
|
|
Description("This class models the possible superiors of a DS class") : Amended,
|
|
dynamic,
|
|
HasClassRefs,
|
|
provider("Microsoft|DSLDAPClassAssociationsProvider|V1.0")
|
|
]
|
|
class DS_LDAP_Class_Containment
|
|
{
|
|
[Read, key, Description("The child DS Class") : Amended, classref{"DS_LDAP_Root_Class"}: ToInstance ToSubClass ]
|
|
object ref ChildClass;
|
|
[Read, key, Description("The parent DS Class") : Amended, classref{"DS_LDAP_Root_Class"}: ToInstance ToSubClass]
|
|
object ref ParentClass;
|
|
};
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
// Create an instance of the provider class for registration
|
|
///////////////////////////////////////////////////////////////////////
|
|
instance of __Win32Provider as $AssociationsProvider
|
|
{
|
|
Name = "Microsoft|DSLDAPClassAssociationsProvider|V1.0";
|
|
Clsid = "{33831ED4-42B8-11d2-93AD-00805F853771}";
|
|
ImpersonationLevel = 1;
|
|
HostingModel = "NetworkServiceHost";
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
// Specification of the instances and operation provided by the provider
|
|
///////////////////////////////////////////////////////////////////////
|
|
instance of __InstanceProviderRegistration
|
|
{
|
|
Provider = $AssociationsProvider;
|
|
SupportsGet = TRUE;
|
|
SupportsPut = FALSE;
|
|
SupportsDelete = FALSE;
|
|
SupportsEnumeration = TRUE;
|
|
};
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////
|
|
////// DS Instance Provider ////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
[Association : ToInstance,
|
|
Description("This class models the parent-child container relationship of instances in the DS") : Amended,
|
|
dynamic, provider("Microsoft|DSLDAPInstanceProvider|V1.0")
|
|
]
|
|
|
|
class DS_LDAP_Instance_Containment
|
|
{
|
|
[Read, KEY, Description("The child DS instance") : Amended]
|
|
DS_LDAP_Root_Class ref ChildInstance;
|
|
[Read, KEY, Description("The child DS instance") : Amended]
|
|
DS_LDAP_Root_Class ref ParentInstance;
|
|
};
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
// Create an instance of the provider class for registration
|
|
///////////////////////////////////////////////////////////////////////
|
|
instance of __Win32Provider as $InstanceProvider
|
|
{
|
|
Name = "Microsoft|DSLDAPInstanceProvider|V1.0";
|
|
Clsid = "{AA527A40-4D9A-11d2-93AD-00805F853771}";
|
|
PerUserInitialization = TRUE;
|
|
ImpersonationLevel = 1;
|
|
HostingModel = "NetworkServiceHost";
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
// Specification of the instances and operation provided by the provider
|
|
///////////////////////////////////////////////////////////////////////
|
|
instance of __InstanceProviderRegistration
|
|
{
|
|
Provider = $InstanceProvider;
|
|
SupportsGet = TRUE;
|
|
SupportsPut = TRUE;
|
|
SupportsDelete = TRUE;
|
|
SupportsEnumeration = TRUE;
|
|
QuerySupportLevels = { "WQL:UnarySelect" };
|
|
};
|
|
|
|
|
|
[Description("A class to encapsulate a DN") : Amended
|
|
]
|
|
class DN_Class
|
|
{
|
|
[Read, KEY, Description("The ADSI Path to the object in the DS") : Amended ]
|
|
string DN;
|
|
};
|
|
|
|
[Association : ToInstance,
|
|
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
|
|
]
|
|
class DSClass_To_DNInstance
|
|
{
|
|
[Read, KEY, Description("The Name of the class for which scoping is to "
|
|
"be used") : Amended, classref("DS_LDAP_Root_Class") : ToInstance ToSubClass ]
|
|
string DSClass;
|
|
[Read, 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;
|
|
};
|