IADsClass 属性方法

IADsClass 接口的属性方法获取或设置以下属性。 有关详细信息,请参阅 Interface 属性方法

属性

摘要

指示此类是否为 Abstract 或非抽象的布尔值。 如果 为 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 中找到此类的特定信息的上下文 ID。

访问类型:读/写

脚本数据类型: 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
);

MandatoryProperties

VARIANTSAFEARRAY,其中列出了必须为此类写入存储而设置的属性。 如果类仅包含一个属性,则get_MandatoryProperties将返回 BSTR

访问类型:读/写

脚本数据类型: VARIANT

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

NamingProperties

BSTR的 SAFEARRAY,其中列出了用于命名此架构类的属性的属性。

访问类型:读/写

脚本数据类型: VARIANT

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

OID

定义此类的提供程序特定的对象标识符。 这是为了允许在需要特定于提供程序的类 OID 的目录服务中使用 Active Directory 的架构扩展。

访问类型:读/写

脚本数据类型: BSTR

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

OptionalProperties

VARIANTSAFEARRAY 列出了此架构类的可选属性。 如果类仅包含一个属性,则get_OptionalProperties将返回 BSTR

访问类型:读/写

脚本数据类型: VARIANT

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

PossibleSuperiors

ADsPath 字符串的数组,这些字符串指示可以包含此类实例的架构类。

访问类型:读/写

脚本数据类型: VARIANT

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

PrimaryInterface

可选提供程序特定的标识符 GUID,该 GUID 将接口关联到此架构类的对象。 例如,支持 IADsUserPrimaryInterface 的“User”类由 IID_IADsUser标识。 这必须采用由 COM 定义的 GUID 的标准字符串格式。 此 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