Métodos de propriedade IADsClass

Os métodos de propriedade da interface IADsClass obtêm ou definem as propriedades a seguir. Para obter mais informações, consulte Métodos de propriedade de interface.

Propriedades

Resumo

Valor booliano que indica se essa classe é Abstrata ou não abstrata. Quando TRUE, essa classe é uma classe Abstract e não pode ser instanciada diretamente no serviço de diretório. Classes abstratas só podem ser usadas como super classes.

Tipo de acesso: leitura/gravação

Tipo de dados de script: BOOLEAN

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

AuxDerivedFrom

Matriz de cadeias de caracteres ADsPath que indicam as classes super auxiliares das quais essa classe deriva.

Tipo de acesso: leitura/gravação

Tipo de dados de script: VARIANT

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

Auxiliar

Valor booliano que indica se essa classe é auxiliar ou não. Quando TRUE, essa classe é uma classe Auxiliar e não pode ser instanciada diretamente no serviço de diretório. Classes auxiliares só podem ser usadas como super classes de outras classes auxiliares ou como uma fonte de propriedades adicionais em classes estruturais.

Tipo de acesso: leitura/gravação

Tipo de dados de script: BOOLEAN

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

CLSID

CLSID opcional específico do provedor que identifica o objeto COM que implementa essa classe.

Tipo de acesso: leitura/gravação

Tipo de dados de script: BSTR

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

Contêiner

Valor booliano que indica se essa classe pode ser um contêiner de outras classes de objeto. Se esse valor for TRUE, você poderá chamar o método get_Container para obter uma matriz das classes de objeto que essa classe pode conter.

Tipo de acesso: leitura/gravação

Tipo de dados de script: BOOLEAN

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

Contenção

Uma matriz BSTR na qual cada elemento é o nome de uma classe de objeto que essa classe pode conter.

Tipo de acesso: leitura/gravação

Tipo de dados de script: VARIANT

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

DerivedFrom

Matriz de cadeias de caracteres ADsPath que indicam de quais classes essa classe foi derivada.

Tipo de acesso: leitura/gravação

Tipo de dados de script: VARIANT

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

HelpFileContext

ID de contexto dentro de HelpFileName em que informações específicas para essa classe podem ser encontradas.

Tipo de acesso: leitura/gravação

Tipo de dados de script: long

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

HelpFileName

Nome de um arquivo de ajuda que contém mais informações sobre objetos dessa classe.

Tipo de acesso: leitura/gravação

Tipo de dados de script: BSTR

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

MandatoryProperties

SAFEARRAY de VARIANTs que lista as propriedades que devem ser definidas para que essa classe seja gravada no armazenamento. Se a classe contiver apenas uma propriedade, get_MandatoryProperties retornará um BSTR.

Tipo de acesso: leitura/gravação

Tipo de dados de script: VARIANT

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

NamingProperties

SAFEARRAY de BSTRs que lista as propriedades usadas para nomear atributos dessa classe de esquema.

Tipo de acesso: leitura/gravação

Tipo de dados de script: VARIANT

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

OID

Identificador de objeto específico do provedor que define essa classe. Isso é fornecido para permitir a extensão de esquema, usando o Active Directory, em serviços de diretório que exigem OIDs específicos do provedor para classes.

Tipo de acesso: leitura/gravação

Tipo de dados de script: BSTR

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

OptionalProperties

SAFEARRAY de VARIANTs que lista as propriedades opcionais para essa classe de esquema. Se a classe contiver apenas uma propriedade, get_OptionalProperties retornará um BSTR.

Tipo de acesso: leitura/gravação

Tipo de dados de script: VARIANT

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

PossibleSuperiors

Matriz de cadeias de caracteres ADsPath que indicam as classes de esquema que podem conter instâncias dessa classe.

Tipo de acesso: leitura/gravação

Tipo de dados de script: VARIANT

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

PrimaryInterface

GUID de identificador específico do provedor opcional que associa uma interface a objetos dessa classe de esquema. Por exemplo, a classe "User" que dá suporte a IADsUser e PrimaryInterface é identificada por IID_IADsUser. Isso deve estar no formato de cadeia de caracteres padrão de um GUID, conforme definido por COM. Esse GUID é o valor que aparece na propriedade IADs::get_GUID em instâncias dessa classe para provedores que implementam essa propriedade. Identificar uma classe de esquema por IID da interface primária do código de classe permite o uso de QueryInterface em tempo de execução para determinar se um objeto é da classe desejada.

Tipo de acesso: Somente leitura

Tipo de dados de script: BSTR

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

Exemplos

O exemplo de código a seguir mostra como usar a interface IADsClass para determinar se um objeto pode ser um contêiner e, nesse caso, lista os nomes de qualquer objeto contido.

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

O exemplo de código a seguir mostra como usar a interface IADsClass para determinar se um objeto pode ser um contêiner e, nesse caso, lista os nomes de qualquer objeto contido.

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();

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Cabeçalho
Iads.h
DLL
Activeds.dll
IID
IID_IADsClass é definido como C8F93DD0-4AE0-11CF-9E73-00AA004A5691

Confira também

IADsClass

IADsClass::Qualifiers