Ajout d’une classe auxiliaire à une instance d’objet
Les exemples de code suivants montrent comment utiliser ADSI et LDAP pour ajouter dynamiquement une classe auxiliaire à un objet instance existant. Les exemples supposent qu’une classe auxiliaire nommée vehicle est définie dans le schéma Active Directory et que la classe de véhicule a un attribut vin .
Lorsque vous ajoutez dynamiquement une classe auxiliaire à un objet instance, vous devez spécifier simultanément des valeurs pour tous les attributs mustHave obligatoires dans la classe . Les exemples suivants montrent comment effectuer cette opération avec l’attribut « vin », qui est supposé être obligatoire.
L’exemple C++ suivant lie à un objet et utilise IADs.PutEx pour ajouter la classe auxiliaire à la liste des classes dans la propriété objectClass de l’objet. Ensuite, l’exemple utilise IADs.Put pour définir la valeur de l’attribut vin . Enfin, il appelle IADs.SetInfo pour valider les modifications apportées au répertoire.
LPWSTR pszAuxClass[]={L"vehicle"};
LPWSTR pszVIN[]={L"df897dsfsa-0"};
VARIANT var;
VariantInit(&var);
ADsOpenObject(L"cn=johnd,cn=users,dc=fabrikam,dc=com",
NULL,
NULL,
ADS_SECURE_AUTHENTICATION,
IID_IADs,
(VOID**)&pIADs);
ADsBuildVarArrayStr(pszAuxClass, 1, &var);
pIADs->PutEx(ADS_PROPERTY_APPEND, CComBSTR("objectClass"), var);
ADsBuildVarArrayStr( pszVIN, 1, &var);
pIADs->Put(CComBSTR("vin"), var);
pIADs->SetInfo();
if(pIADs)
pIADs->Release();
VariantClear(&var);