IADsClass 属性方法
IADsClass 接口的属性方法获取或设置以下属性。 有关详细信息,请参阅 Interface 属性方法。
属性
-
摘要
-
-
访问类型:读/写
-
脚本数据类型: BOOLEAN
-
// C++ method syntax HRESULT get_Abstract( [out] BOOLEAN* pbAbstract ); HRESULT put_Abstract( [in] BOOLEAN bAbstract );
指示此类是否为 Abstract 或非抽象的布尔值。 如果 为 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 中找到此类的特定信息的上下文 ID。
-
-
HelpFileName
-
-
访问类型:读/写
-
脚本数据类型: BSTR
-
// C++ method syntax HRESULT get_HelpFileName( [out] BSTR* pbstrHelpFileName ); HRESULT put_HelpFileName( [in] BSTR bstrHelpFileName );
包含有关此类对象的详细信息的帮助文件的名称。
-
-
MandatoryProperties
-
-
访问类型:读/写
-
脚本数据类型: VARIANT
-
// C++ method syntax HRESULT get_MandatoryProperties( [out] VARIANT* pvarMandatoryProperties ); HRESULT put_MandatoryProperties( [in] VARIANT varMandatoryProperties );
VARIANT的 SAFEARRAY,其中列出了必须为此类写入存储而设置的属性。 如果类仅包含一个属性,则get_MandatoryProperties将返回 BSTR。
-
-
NamingProperties
-
-
访问类型:读/写
-
脚本数据类型: VARIANT
-
// C++ method syntax HRESULT get_NamingProperties( [out] VARIANT* pvarNamingProperties ); HRESULT put_NamingProperties( [in] VARIANT varNamingProperties );
BSTR的 SAFEARRAY,其中列出了用于命名此架构类的属性的属性。
-
-
OID
-
-
访问类型:读/写
-
脚本数据类型: BSTR
-
// C++ method syntax HRESULT get_OID( [out] BSTR* pbstrOID ); HRESULT put_OID( [in] BSTR bstrOID );
定义此类的提供程序特定的对象标识符。 这是为了允许在需要特定于提供程序的类 OID 的目录服务中使用 Active Directory 的架构扩展。
-
-
OptionalProperties
-
-
访问类型:读/写
-
脚本数据类型: VARIANT
-
// C++ method syntax HRESULT get_OptionalProperties( [out] VARIANT* pvarOptionalProperties ); HRESULT put_OptionalProperties( [in] VARIANT varOptionalProperties );
VARIANT的 SAFEARRAY 列出了此架构类的可选属性。 如果类仅包含一个属性,则get_OptionalProperties将返回 BSTR。
-
-
PossibleSuperiors
-
-
访问类型:读/写
-
脚本数据类型: 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,该 GUID 将接口关联到此架构类的对象。 例如,支持 IADsUser 和 PrimaryInterface 的“User”类由 IID_IADsUser标识。 这必须采用由 COM 定义的 GUID 的标准字符串格式。 此 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 |