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 |