Interfaccia IADsClass (iads.h)

L'interfaccia IADsClass è progettata per la gestione degli oggetti classe dello schema che forniscono definizioni di classe per qualsiasi oggetto ADSI. Altre interfacce di gestione dello schema includono IADsProperty per le definizioni degli attributi e IADsSyntax per la sintassi degli attributi.

Ereditarietà

L'interfaccia IADsClass eredita da IDispatch e ID. IADsClass include anche questi tipi di membri:

Metodi

L'interfaccia IADsClass include questi metodi.

 
IADsClass::Qualificatori

Restituisce un insieme di oggetti ADSI che descrivono qualificatori aggiuntivi per questa classe dello schema.

Commenti

Gli oggetti schema sono organizzati nel contenitore dello schema di una determinata directory. Per accedere alla classe dello schema di un oggetto, utilizzare la proprietà Schema dell'oggetto , ovvero chiamare il metodo della proprietà IADs::get_Schema , per ottenere la stringa ADsPath e usare tale stringa per eseguire il binding all'oggetto classe dello schema.

Esempio

Nell'esempio di codice seguente viene illustrato come implementare l'interfaccia 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

Nell'esempio di codice seguente viene illustrato come implementare l'interfaccia 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;

Nell'esempio di codice seguente viene illustrato come implementare la funzione 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;
}

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione iads.h

Vedi anche

ID

IADsContainer

IADsProperty

IADsSyntax

Idispatch