Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W poniższych przykładach kodu pokazano, jak używać interfejsów ADSI i LDAP do dynamicznego dodawania klasy pomocniczej do istniejącego wystąpienia obiektu. W przykładach przyjęto założenie, że pomocnicza klasa pojazd jest zdefiniowana w schemacie usługi Active Directory i że klasa pojazd ma atrybut vin.
Podczas dynamicznego dodawania klasy dodatkowej do instancji obiektu należy jednocześnie określić wartości dla wszystkich obowiązkowych mustHave atrybutów w klasie. W poniższych przykładach pokazano, jak to zrobić za pomocą atrybutu "vin", który jest zakładany jako obowiązkowy.
Poniższy przykład języka C++ wiąże się z obiektem i używa IADs.PutEx, aby dołączyć klasę pomocniczą do listy klas we właściwości objectClass obiektu. Następnie w przykładzie użyto IADs.Put, aby ustawić wartość atrybutu vin. Na koniec wywołuje IADs.SetInfo, aby zatwierdzić zmiany w katalogu.
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);