Partager via


Interface IADsClass (iads.h)

L’interface IADsClass est conçue pour la gestion des objets de classe de schéma qui fournissent des définitions de classe pour n’importe quel objet ADSI. Les autres interfaces de gestion des schémas incluent IADsProperty pour les définitions d’attribut et IADsSyntax pour la syntaxe d’attribut.

Héritage

L’interface IADsClass hérite d’IDispatch et d’IADs. IADsClass a également les types de membres suivants :

Méthodes

L’interface IADsClass comporte ces méthodes.

 
IADsClass ::Qualificateurs

Retourne une collection d’objets ADSI qui décrivent des qualificateurs supplémentaires pour cette classe de schéma.

Remarques

Les objets de schéma sont organisés dans le conteneur de schéma d’un répertoire donné. Pour accéder à la classe de schéma d’un objet, utilisez la propriété Schema de l’objet (à savoir, appelez la méthode de propriété IADs ::get_Schema ) pour obtenir la chaîne ADsPath et utilisez cette chaîne pour lier à son objet de classe de schéma.

Exemples

L’exemple de code suivant montre comment implémenter l’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

L’exemple de code suivant montre comment implémenter l’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;

L’exemple de code suivant montre comment implémenter la fonction 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;
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête iads.h

Voir aussi

IADs

IADsContainer

IADsProperty

IADsSyntax

IDispatch