Interfaz IADsClass (iads.h)

La interfaz IADsClass está diseñada para administrar objetos de clase de esquema que proporcionan definiciones de clase para cualquier objeto ADSI. Otras interfaces de administración de esquemas incluyen IADsProperty para definiciones de atributos e IADsSyntax para la sintaxis de atributos.

Herencia

La interfaz IADsClass hereda de IDispatch e IAD. IADsClass también tiene estos tipos de miembros:

Métodos

La interfaz IADsClass tiene estos métodos.

 
IADsClass::Qualifiers

Devuelve una colección de objetos ADSI que describen calificadores adicionales para esta clase de esquema.

Comentarios

Los objetos de esquema se organizan en el contenedor de esquema de un directorio determinado. Para tener acceso a la clase de esquema de un objeto, utilice la propiedad Schema del objeto (es decir, llame al método de propiedad IADs::get_Schema ) para obtener la cadena de ADsPath y use esa cadena para enlazar a su objeto de clase de esquema.

Ejemplos

En el ejemplo de código siguiente se muestra cómo implementar la interfaz 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

En el ejemplo de código siguiente se muestra cómo implementar la interfaz 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;

En el ejemplo de código siguiente se muestra cómo implementar la función 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 Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h

Consulte también

Iads

IADsContainer

IADsProperty

IADsSyntax

IDispatch