次の方法で共有


オブジェクトインスタンスへの補助クラスの追加

次のコード例は、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);