Hinzufügen einer Hilfsklasse zu einer Objektinstanz
Die folgenden Codebeispiele zeigen, wie Sie ADSI und LDAP verwenden, um einem vorhandenen Objekt instance dynamisch eine Hilfsklasse hinzuzufügen. In den Beispielen wird davon ausgegangen, dass eine Hilfsklasse namens vehicle im Active Directory-Schema definiert ist und dass die Fahrzeugklasse über ein vin-Attribut verfügt.
Wenn Sie einem Objekt instance dynamisch eine Hilfsklasse hinzufügen, müssen Sie gleichzeitig Werte für alle obligatorischen mustHave-Attribute in der -Klasse angeben. Die folgenden Beispiele zeigen, wie Sie dies mit dem Attribut "vin" tun, das als obligatorisch angenommen wird.
Das folgende C++-Beispiel bindet an ein -Objekt und verwendet IADs.PutEx , um die Hilfsklasse an die Liste der Klassen in der objectClass-Eigenschaft des Objekts anzufügen. Anschließend verwendet das Beispiel IADs.Put , um den Wert des vin-Attributs festzulegen. Schließlich ruft er IADs.SetInfo auf, um die Änderungen in das Verzeichnis zu committen.
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);