オブジェクトインスタンスへの補助クラスの追加
次のコード例は、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);