IADsClass-Schnittstelle (iads.h)

Die IADsClass-Schnittstelle ist für das Verwalten von Schemaklassenobjekten konzipiert, die Klassendefinitionen für jedes ADSI-Objekt bereitstellen. Andere Schemaverwaltungsschnittstellen umfassen IADsProperty für Attributdefinitionen und IADsSyntax für die Attributsyntax.

Vererbung

Die IADsClass-Schnittstelle erbt von IDispatch und IADs. IADsClass verfügt auch über diese Arten von Mitgliedern:

Methoden

Die IADsClass-Schnittstelle weist diese Methoden auf.

 
IADsClass::Qualifizierer

Gibt eine Auflistung von ADSI-Objekten zurück, die zusätzliche Qualifizierer für diese Schemaklasse beschreiben.

Hinweise

Schemaobjekte werden im Schemacontainer eines bestimmten Verzeichnisses organisiert. Um auf die Schemaklasse eines Objekts zuzugreifen, verwenden Sie die Schemaeigenschaft des Objekts (d. h. rufen Sie die IADs::get_Schema-Eigenschaftsmethode auf), um die ADsPath-Zeichenfolge abzurufen und diese Zeichenfolge zum Binden an das Schemaklasseobjekt zu verwenden.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie sie die IADsClass-Schnittstelle implementieren.

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

Im folgenden Codebeispiel wird gezeigt, wie sie die IADsClass-Schnittstelle implementieren.

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;

Im folgenden Codebeispiel wird gezeigt, wie die PrintVarArray-Funktion implementiert wird.

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;
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile iads.h

Weitere Informationen

Iads

IADsContainer

IADsProperty

IADsSyntax

IDispatch