IADsClass 屬性方法
IADsClass介面的屬性方法會取得或設定下列屬性。 如需詳細資訊,請參閱 介面屬性方法。
屬性
-
摘要
-
-
存取類型:讀取/寫入
-
腳本資料類型: BOOLEAN
-
// C++ method syntax HRESULT get_Abstract( [out] BOOLEAN* pbAbstract ); HRESULT put_Abstract( [in] BOOLEAN bAbstract );
布林值,指出這個類別是否為 Abstract 或非抽象。 當 為 TRUE時,這個類別是 Abstract 類別,而且無法直接在目錄服務中具現化。 抽象類別只能當做超級類別使用。
-
-
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 );
說明檔的名稱,其中包含這個類別之物件的詳細資訊。
-
-
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,可將介面與這個架構類別的物件產生關聯。 例如,支援 IADsUser 和 PrimaryInterface 的 「User」 類別是由 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 |