IADsClass 屬性方法

IADsClass介面的屬性方法會取得或設定下列屬性。 如需詳細資訊,請參閱 介面屬性方法

屬性

摘要

布林值,指出這個類別是否為 Abstract 或非抽象。 當 為 TRUE時,這個類別是 Abstract 類別,而且無法直接在目錄服務中具現化。 抽象類別只能當做超級類別使用。

存取類型:讀取/寫入

腳本資料類型: 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
);

MandatoryProperties

VARIANT 的 SAFEARRAY,列出必須設定這個類別才能寫入儲存體的屬性。 如果類別只包含一個屬性, 則get_MandatoryProperties 會傳回 BSTR

存取類型:讀取/寫入

腳本資料類型: VARIANT

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

NamingProperties

BSTRSAFEARRAY,列出用來命名這個架構類別屬性的屬性。

存取類型:讀取/寫入

腳本資料類型: 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,可將介面與這個架構類別的物件產生關聯。 例如,支援 IADsUserPrimaryInterface 的 「User」 類別是由 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