Partager via


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