Compartilhar via


Interface IADsClass (iads.h)

A interface IADsClass foi projetada para gerenciar objetos de classe de esquema que fornecem definições de classe para qualquer objeto ADSI. Outras interfaces de gerenciamento de esquema incluem IADsProperty para definições de atributo e IADsSyntax para sintaxe de atributo.

Herança

A interface IADsClass herda de IDispatch e IADs. IADsClass também tem esses tipos de membros:

Métodos

A interface IADsClass tem esses métodos.

 
IADsClass::Qualifiers

Retorna uma coleção de objetos ADSI que descrevem qualificadores adicionais para essa classe de esquema.

Comentários

Os objetos de esquema são organizados no contêiner de esquema de um determinado diretório. Para acessar a classe de esquema de um objeto, use a propriedade Schema do objeto (ou seja, chame o método de propriedade IADs::get_Schema ) para obter a cadeia de caracteres ADsPath e use essa cadeia de caracteres para associar ao objeto de classe de esquema.

Exemplos

O exemplo de código a seguir mostra como implementar a interface IADsClass .

Dim obj As IADs
Dim cls As IADsClass

On Error GoTo Cleanup

Set obj = GetObject("WinNT://myMachine,computer")
Set cls = GetObject(obj.Schema)
 
' Inspecting mandatory and optional properties.
For Each p In cls.MandatoryProperties
    MsgBox "Must-have: " & p
Next
For Each p In cls.OptionalProperties
    MsgBox "May-have: " & p
Next

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set obj = Nothing
    Set cls = Nothing

O exemplo de código a seguir mostra como implementar a interface IADsClass .

HRESULT hr = S_OK;
IADsClass *pCls = NULL;
IADs *pADs;
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);
pCls->get_MandatoryProperties(&var);
hr = printVarArray(var);
 
VariantClear(&var);
pCls->get_OptionalProperties(&var);
hr = printVarArray(var);

Cleanup:
    if(pCls)
        pCls->Release();

    if(pADs)
        pADs->Release();

    SysFreeString(bstrSchema);
    VariantClear(&var);
    CoUninitialize();
    return hr;

O exemplo de código a seguir mostra como implementar a função printVarArray .

HRESULT printVarArray(VARIANT var)
{
    LONG lstart, lend;
    VARIANT varItem;
    HRESULT hr;
    SAFEARRAY *sa = V_ARRAY( &var );
    hr = SafeArrayGetLBound( sa, 1, &lstart );
    hr = SafeArrayGetUBound( sa, 1, &lend );
    VariantInit(&varItem);
    for ( long idx=lstart; idx <= lend; idx++ ) {
        hr = SafeArrayGetElement( sa, &idx, &varItem );
        printf("   %S \n", V_BSTR(&varItem));
        VariantClear(&varItem);
    }
    printf("\n");
    return S_OK;
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho iads.h

Confira também

Iads

IADsContainer

IADsProperty

IADsSyntax

IDispatch