Методы свойств IADsClass

Методы свойств интерфейса IADsClass получают или задают следующие свойства. Дополнительные сведения см. в разделе Методы свойств интерфейса.

Свойства

Краткие сведения

Логическое значение, указывающее, является ли этот класс абстрактным или не абстрактным. При значении TRUE этот класс является абстрактным классом и не может напрямую создаваться в службе каталогов. Абстрактные классы можно использовать только в качестве суперклассов.

Тип доступа: чтение и запись

Тип данных скрипта: BOOLEAN

// C++ method syntax
HRESULT get_Abstract(
  [out] BOOLEAN* pbAbstract
);
HRESULT put_Abstract(
  [in] BOOLEAN bAbstract
);

AuxDerivedFrom

Массив строк ADsPath, указывающих супер вспомогательные классы, от которым наследуется этот класс.

Тип доступа: чтение и запись

Тип данных скрипта: VARIANT

// C++ method syntax
HRESULT get_AuxDerivedFrom(
  [out] VARIANT* pvAuxDerivedFrom
);
HRESULT put_AuxDerivedFrom(
  [in] VARIANT vAuxDerivedFrom
);

Вспомогательные

Логическое значение, указывающее, является ли этот класс вспомогательным. При значении TRUE этот класс является вспомогательным классом и не может напрямую создаваться в службе каталогов. Вспомогательные классы могут использоваться только в качестве суперклассов других вспомогательных классов или в качестве источника дополнительных свойств структурных классов.

Тип доступа: чтение и запись

Тип данных скрипта: BOOLEAN

// C++ method syntax
HRESULT get_Auxiliary(
  [out] BOOLEAN* pbAuxiliary
);
HRESULT put_Auxiliary(
  [in] BOOLEAN bAuxiliary
);

CLSID

Необязательный идентификатор CLSID конкретного поставщика, определяющий COM-объект, реализующий этот класс.

Тип доступа: чтение и запись

Тип данных скрипта: BSTR

// C++ method syntax
HRESULT get_CLSID(
  [out] BSTR* pbstrCLSID
);
HRESULT put_CLSID(
  [in] BSTR bstrCLSID
);

Контейнер

Логическое значение, указывающее, может ли этот класс быть контейнером других классов объектов. Если это значение равно TRUE, можно вызвать метод get_Container , чтобы получить массив классов объектов, которые может содержать этот класс.

Тип доступа: чтение и запись

Тип данных скрипта: BOOLEAN

// C++ method syntax
HRESULT get_Container(
  [out] BOOLEAN* pbContainer
);
HRESULT put_Container(
  [in] BOOLEAN bContainer
);

Сдерживания

Массив BSTR , в котором каждый элемент является именем класса объектов, который может содержать этот класс.

Тип доступа: чтение и запись

Тип данных скрипта: VARIANT

// C++ method syntax
HRESULT get_Containment(
  [out] VARIANT* pvContainment
);
HRESULT put_Containment(
  [in] VARIANT vContainment
);

DerivedFrom

Массив строк ADsPath, указывающих, от каких классов был получен этот класс.

Тип доступа: чтение и запись

Тип данных скрипта: VARIANT

// C++ method syntax
HRESULT get_DerivedFrom(
  [out] VARIANT* pvDerivedFrom
);
HRESULT put_DerivedFrom(
  [in] VARIANT vDerivedFrom
);

HelpFileContext

Идентификатор контекста в HelpFileName , где можно найти конкретные сведения для этого класса.

Тип доступа: чтение и запись

Тип данных скрипта: long

// C++ method syntax
HRESULT get_HelpFileContext(
  [out] long* plHelpContext
);
HRESULT put_HelpFileContext(
  [in] long lHelpContext
);

HelpFileName

Имя файла справки, содержащего дополнительные сведения об объектах этого класса.

Тип доступа: чтение и запись

Тип данных скрипта: BSTR

// C++ method syntax
HRESULT get_HelpFileName(
  [out] BSTR* pbstrHelpFileName
);
HRESULT put_HelpFileName(
  [in] BSTR bstrHelpFileName
);

Обязательные свойства

SAFEARRAYобъекта VARIANT, который содержит список свойств, которые должны быть заданы для записи этого класса в хранилище. Если класс содержит только одно свойство, get_MandatoryProperties вернет BSTR.

Тип доступа: чтение и запись

Тип данных скрипта: VARIANT

// C++ method syntax
HRESULT get_MandatoryProperties(
  [out] VARIANT* pvarMandatoryProperties
);
HRESULT put_MandatoryProperties(
  [in] VARIANT varMandatoryProperties
);

NamingProperties

SAFEARRAYобъектов BSTR, которые перечисляют свойства, используемые для имен атрибутов этого класса схемы.

Тип доступа: чтение и запись

Тип данных скрипта: VARIANT

// C++ method syntax
HRESULT get_NamingProperties(
  [out] VARIANT* pvarNamingProperties
);
HRESULT put_NamingProperties(
  [in] VARIANT varNamingProperties
);

OID

Идентификатор объекта конкретного поставщика, определяющий этот класс. Это позволяет расширению схемы использовать Active Directory в службах каталогов, которым требуются идентификаторы OID конкретного поставщика для классов.

Тип доступа: чтение и запись

Тип данных скрипта: BSTR

// C++ method syntax
HRESULT get_OID(
  [out] BSTR* pbstrOID
);
HRESULT put_OID(
  [in] BSTR bstrOID
);

OptionalProperties

SAFEARRAYобъекта VARIANT, который содержит список необязательных свойств для этого класса схемы. Если класс содержит только одно свойство, то get_OptionalProperties вернет BSTR.

Тип доступа: чтение и запись

Тип данных скрипта: VARIANT

// C++ method syntax
HRESULT get_OptionalProperties(
  [out] VARIANT* pvarOptionalProperties
);
HRESULT put_OptionalProperties(
  [in] VARIANT varOptionalProperties
);

Возможные методы

Массив строк ADsPath, указывающих классы схемы, которые могут содержать экземпляры этого класса.

Тип доступа: чтение и запись

Тип данных скрипта: VARIANT

// C++ method syntax
HRESULT get_PossibleSuperiors(
  [out] VARIANT* pvSuperiors
);
HRESULT put_PossibleSuperiors(
  [in] VARIANT vSuperiors
);

PrimaryInterface

Необязательный guid идентификатора поставщика, который связывает интерфейс с объектами этого класса схемы. Например, класс User, поддерживающий IADsUser и PrimaryInterface , определяется IID_IADsUser. Он должен быть в стандартном строковом формате GUID, как определено в COM. Этот GUID является значением, которое отображается в свойстве IADs::get_GUID в экземплярах этого класса для поставщиков, реализующих это свойство. Определение класса схемы по IID основного интерфейса кода класса позволяет использовать QueryInterface во время выполнения, чтобы определить, является ли объект нужным классом.

Тип доступа: только для чтения

Тип данных скрипта: BSTR

// C++ method syntax
HRESULT get_PrimaryInterface(
  [out] BSTR* pbstrGUID
);

Примеры

В следующем примере кода показано, как использовать интерфейс 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
Заголовок
Iads.h
DLL
Activeds.dll
IID
IID_IADsClass определяется как C8F93DD0-4AE0-11CF-9E73-00AA004A5691

См. также раздел

IADsClass

IADsClass::Qualifiers