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 |