Interface IADsClass (iads.h)
A interface IADsClass foi projetada para gerenciar objetos de classe de esquema que fornecem definições de classe para qualquer objeto ADSI. Outras interfaces de gerenciamento de esquema incluem IADsProperty para definições de atributo e IADsSyntax para sintaxe de atributo.
Herança
A interface IADsClass herda de IDispatch e IADs. IADsClass também tem esses tipos de membros:
Métodos
A interface IADsClass tem esses métodos.
IADsClass::Qualifiers Retorna uma coleção de objetos ADSI que descrevem qualificadores adicionais para essa classe de esquema. |
Comentários
Os objetos de esquema são organizados no contêiner de esquema de um determinado diretório. Para acessar a classe de esquema de um objeto, use a propriedade Schema do objeto (ou seja, chame o método de propriedade IADs::get_Schema ) para obter a cadeia de caracteres ADsPath e use essa cadeia de caracteres para associar ao objeto de classe de esquema.
Exemplos
O exemplo de código a seguir mostra como implementar a 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
O exemplo de código a seguir mostra como implementar a 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;
O exemplo de código a seguir mostra como implementar a função 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 | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | iads.h |