다음을 통해 공유


개체 인스턴스에 보조 클래스 추가

다음 코드 예제에서는 ADSI 및 LDAP를 사용하여 기존 개체 instance 보조 클래스를 동적으로 추가하는 방법을 보여 줍니다. 예제에서는 vehicle 라는 보조 클래스가 Active Directory 스키마에 정의되어 있고 차량 클래스에 vin 특성이 있다고 가정합니다.

개체 instance 보조 클래스를 동적으로 추가하는 경우 클래스의 필수 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);