将辅助类添加到对象实例
以下代码示例演示如何使用 ADSI 和 LDAP 将辅助类动态添加到现有对象实例。 这些示例假定在 Active Directory 架构中定义了名为 车辆 的辅助类,车辆 类具有 vin 属性。
将辅助类动态添加到对象实例时,必须同时为类中的任何必需 mustHave 属性指定值。 以下示例演示如何使用“vin”属性执行此作,该属性假定为必需属性。
以下C++示例绑定到对象,并使用 IADs.PutEx 将辅助类追加到对象的 objectClass 属性中的类列表中。 然后,该示例使用 IADs.Put 来设置属性 vin 的值。 最后,它调用 IADs.SetInfo 将更改提交到目录。
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);