Использование setInfo () в C ++ приводит к E_ADS_INVALID_USER_OBJECTC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Использование setInfo () в C ++ приводит к E_ADS_INVALID_USER_OBJECT

Сообщение Anonymous »

Я пытаюсь использовать функцию setInfo () в C ++, чтобы внести несколько изменений в поле пользователя e-mail в Windows AD. Я делаю DLL, который экспортируется в службу Windows. Но setInfo () продолжает возвращать: < /p>

e_ads_invalid_user_object < /p>
< /blockquote>
Все работает нормально, если я составляю тот же код в Exe и запускаю его в командной строке. Но когда DLL экспортируется, и SetInfo () вызывается, он возвращает вышеуказанную ошибку. Это часть моего кода: < /p>
IADsUser *pUser = NULL;
RESULT hr = CoInitialize(0);
VARIANT var;
hr = ADsGetObject(L"LDAP://CN=Foo Bar,CN=Users,DC=mydomain,DC=com", IID_IADsUser, (void**) &pUser);
//hr = ADsOpenObject(L"LDAP://CN=Foo Bar,CN=Users,DC=mydomain,DC=com", NULL, NULL, ADS_SECURE_AUTHENTICATION, IID_IADsUser, (void**) &pUser);

VariantInit(&var);
V_BSTR(&var) = SysAllocString(L"foobar@email.com");
V_VT(&var) = VT_BSTR;
hr = pUser->Put(CComBSTR("mail"), var);
hr = pUser->SetInfo();
< /code>
Я могу успешно связываться с LDAP, привязка также работает с этим: < /p>

adsopenobject () < /p>
< /blockquote>
Когда я добавляю домен администратор, не подходит для использования. Имя пользователя/пароль для этого. Есть ли способ использовать setInfo () в DLL без предоставления учетных данных в коде? Это проблема с чтением/записи?

Подробнее здесь: https://stackoverflow.com/questions/275 ... ser-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»