Методы свойств IADsClass
Методы свойств интерфейса IADsClass получают или задают следующие свойства. Дополнительные сведения см. в разделе Методы свойств интерфейса.
Свойства
-
Краткие сведения
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: BOOLEAN
-
// C++ method syntax HRESULT get_Abstract( [out] BOOLEAN* pbAbstract ); HRESULT put_Abstract( [in] BOOLEAN bAbstract );
Логическое значение, указывающее, является ли этот класс абстрактным или не абстрактным. При значении TRUE этот класс является абстрактным классом и не может напрямую создаваться в службе каталогов. Абстрактные классы можно использовать только в качестве суперклассов.
-
-
AuxDerivedFrom
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: VARIANT
-
// C++ method syntax HRESULT get_AuxDerivedFrom( [out] VARIANT* pvAuxDerivedFrom ); HRESULT put_AuxDerivedFrom( [in] VARIANT vAuxDerivedFrom );
Массив строк ADsPath, указывающих супер вспомогательные классы, от которым наследуется этот класс.
-
-
Вспомогательные
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: BOOLEAN
-
// C++ method syntax HRESULT get_Auxiliary( [out] BOOLEAN* pbAuxiliary ); HRESULT put_Auxiliary( [in] BOOLEAN bAuxiliary );
Логическое значение, указывающее, является ли этот класс вспомогательным. При значении TRUE этот класс является вспомогательным классом и не может напрямую создаваться в службе каталогов. Вспомогательные классы могут использоваться только в качестве суперклассов других вспомогательных классов или в качестве источника дополнительных свойств структурных классов.
-
-
CLSID
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: BSTR
-
// C++ method syntax HRESULT get_CLSID( [out] BSTR* pbstrCLSID ); HRESULT put_CLSID( [in] BSTR bstrCLSID );
Необязательный идентификатор CLSID конкретного поставщика, определяющий COM-объект, реализующий этот класс.
-
-
Контейнер
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: BOOLEAN
-
// C++ method syntax HRESULT get_Container( [out] BOOLEAN* pbContainer ); HRESULT put_Container( [in] BOOLEAN bContainer );
Логическое значение, указывающее, может ли этот класс быть контейнером других классов объектов. Если это значение равно TRUE, можно вызвать метод get_Container , чтобы получить массив классов объектов, которые может содержать этот класс.
-
-
Сдерживания
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: VARIANT
-
// C++ method syntax HRESULT get_Containment( [out] VARIANT* pvContainment ); HRESULT put_Containment( [in] VARIANT vContainment );
Массив BSTR , в котором каждый элемент является именем класса объектов, который может содержать этот класс.
-
-
DerivedFrom
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: VARIANT
-
// C++ method syntax HRESULT get_DerivedFrom( [out] VARIANT* pvDerivedFrom ); HRESULT put_DerivedFrom( [in] VARIANT vDerivedFrom );
Массив строк ADsPath, указывающих, от каких классов был получен этот класс.
-
-
HelpFileContext
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: long
-
// C++ method syntax HRESULT get_HelpFileContext( [out] long* plHelpContext ); HRESULT put_HelpFileContext( [in] long lHelpContext );
Идентификатор контекста в HelpFileName , где можно найти конкретные сведения для этого класса.
-
-
HelpFileName
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: BSTR
-
// C++ method syntax HRESULT get_HelpFileName( [out] BSTR* pbstrHelpFileName ); HRESULT put_HelpFileName( [in] BSTR bstrHelpFileName );
Имя файла справки, содержащего дополнительные сведения об объектах этого класса.
-
-
Обязательные свойства
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: VARIANT
-
// C++ method syntax HRESULT get_MandatoryProperties( [out] VARIANT* pvarMandatoryProperties ); HRESULT put_MandatoryProperties( [in] VARIANT varMandatoryProperties );
SAFEARRAYобъекта VARIANT, который содержит список свойств, которые должны быть заданы для записи этого класса в хранилище. Если класс содержит только одно свойство, get_MandatoryProperties вернет BSTR.
-
-
NamingProperties
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: VARIANT
-
// C++ method syntax HRESULT get_NamingProperties( [out] VARIANT* pvarNamingProperties ); HRESULT put_NamingProperties( [in] VARIANT varNamingProperties );
SAFEARRAYобъектов BSTR, которые перечисляют свойства, используемые для имен атрибутов этого класса схемы.
-
-
OID
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: BSTR
-
// C++ method syntax HRESULT get_OID( [out] BSTR* pbstrOID ); HRESULT put_OID( [in] BSTR bstrOID );
Идентификатор объекта конкретного поставщика, определяющий этот класс. Это позволяет расширению схемы использовать Active Directory в службах каталогов, которым требуются идентификаторы OID конкретного поставщика для классов.
-
-
OptionalProperties
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: VARIANT
-
// C++ method syntax HRESULT get_OptionalProperties( [out] VARIANT* pvarOptionalProperties ); HRESULT put_OptionalProperties( [in] VARIANT varOptionalProperties );
SAFEARRAYобъекта VARIANT, который содержит список необязательных свойств для этого класса схемы. Если класс содержит только одно свойство, то get_OptionalProperties вернет BSTR.
-
-
Возможные методы
-
-
Тип доступа: чтение и запись
-
Тип данных скрипта: VARIANT
-
// C++ method syntax HRESULT get_PossibleSuperiors( [out] VARIANT* pvSuperiors ); HRESULT put_PossibleSuperiors( [in] VARIANT vSuperiors );
Массив строк ADsPath, указывающих классы схемы, которые могут содержать экземпляры этого класса.
-
-
PrimaryInterface
-
-
Тип доступа: только для чтения
-
Тип данных скрипта: BSTR
-
// C++ method syntax HRESULT get_PrimaryInterface( [out] BSTR* pbstrGUID );
Необязательный guid идентификатора поставщика, который связывает интерфейс с объектами этого класса схемы. Например, класс User, поддерживающий IADsUser и PrimaryInterface , определяется IID_IADsUser. Он должен быть в стандартном строковом формате GUID, как определено в COM. Этот GUID является значением, которое отображается в свойстве IADs::get_GUID в экземплярах этого класса для поставщиков, реализующих это свойство. Определение класса схемы по IID основного интерфейса кода класса позволяет использовать QueryInterface во время выполнения, чтобы определить, является ли объект нужным классом.
-
Примеры
В следующем примере кода показано, как использовать интерфейс IADsClass для определения того, может ли объект быть контейнером, и, если да, перечисляются имена всех содержащихся в нем объектов.
Dim ads As IADs
Dim cls As IADsClass
On Error GoTo Cleanup
Set ads = GetObject("WinNT://myComputer,computer")
Set cls = GetObject(ads.Schema)
if cls.Container = True Then
MsgBox "This object contains the following children:"
For Each o In cls.Containment
MsgBox o
Next
End If
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set ads = Nothing
Set cls = Nothing
В следующем примере кода показано, как использовать интерфейс IADsClass для определения того, может ли объект быть контейнером, и, если да, перечисляются имена всех содержащихся в нем объектов.
HRESULT hr = S_OK;
IADsClass *pCls = NULL;
IADs *pADs = NULL;
BSTR bstrSchema;
VARIANT var;
hr = CoInitialize(NULL);
hr = ADsGetObject(L"WinNT://myComputer,computer",
IID_IADs,
(void**)&pADs);
if (FAILED(hr)) {goto Cleanup;}
hr = pADs->get_Schema(&bstrSchema);
pADs->Release();
if(FAILED(hr)) {goto Cleanup;}
hr = ADsGetObject(bstrSchema, IID_IADsClass, (void**)&pCls);
if(FAILED(hr)) {goto Cleanup;}
VariantInit(&var);
VARIANT_BOOL bCont;
pCls->get_Container(&bCont);
if(bCont != false) {
VariantClear(&var);
pCls->get_Containment(&var);
hr = printVarArray(var);
}
Cleanup:
if(pADs)
pADs->Release();
if(pCls)
pCls->Release();
SysFreeString(bstrSchema);
CoUninitialize();
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista |
Минимальная версия сервера |
Windows Server 2008 |
Заголовок |
|
DLL |
|
IID |
IID_IADsClass определяется как C8F93DD0-4AE0-11CF-9E73-00AA004A5691 |