将辅助类添加到对象实例
以下代码示例演示如何使用 ADSI 和 LDAP 将辅助类动态添加到现有对象实例。 这些示例假定在 Active Directory 架构中定义了名为 vehicle 的辅助类,且该 vehicle 类具有 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);