Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Изменение полей в Active Directory. Ошибка EAccessViolation
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите как правильно изменить поля(к примеру, displayName, homePhone и др.) у пользователя в AD, зная "путь" до него(LDAP://CN=Николай,CN=Users,DC=Fabrikam,DC=com). В msdn нашел пример использования методов и свойств интерфейса IADs Код C++ IADs *pADs NULL; VARIANT var; HRESULT hr = S_OK; LPWSTR path=L"LDAP://CN=Administrator,CN=Users,DC=Fabrikam,DC=com"; hr = ADsGetObject( path, IID_IADs, (void**) pADs); if(!(hr==S_OK)) {return hr;} VariantInit(&var); // Update values in the cache. V_BSTR(&var) = SysAllocString(L"Smith"); V_VT(&var) = VT_BSTR; hr = pADs->Put(CComBSTR("sn"), var ); VariantClear(&var); // Commit changes to the directory store. hr = pADs->SetInfo(); if(pADs) pADs->Release(); Почему при компиляции во время выполнения строки Код C++ hr = pADs->Put(CComBSTR("sn"), var ) дебагер выкидывает ошибку класса EAccessViolation? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2012, 18:58 |
|
||
|
Изменение полей в Active Directory. Ошибка EAccessViolation
|
|||
|---|---|---|---|
|
#18+
Mr.DixПочему при компиляции во время выполнения строки дебагер выкидывает ошибку класса EAccessViolation? Потому что pADs равно NULL (или я где-то проглядел присваивание). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2012, 19:35 |
|
||
|
Изменение полей в Active Directory. Ошибка EAccessViolation
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, На сколько я понимаю, то присваивание происходит здесь: ADsGetObject( path, IID_IADs, (void**) pADs) Поправьте, если я ошибаюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 19:50 |
|
||
|
Изменение полей в Active Directory. Ошибка EAccessViolation
|
|||
|---|---|---|---|
|
#18+
Mr.Dix Код: sql 1. Поправьте, если я ошибаюсь... Ошибаешься. Сравни свою строку и строку из примера в MSDN: [src]ADsGetObject(L"WinNT://MyDomain/Users/JeffSmith", IID_IADsUser, (void**) &pUser);[/quot] Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 20:11 |
|
||
|
Изменение полей в Active Directory. Ошибка EAccessViolation
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Я брал пример от сюда: http://msdn.microsoft.com/en-us/library/windows/desktop/aa746354(v=vs.85).aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 20:54 |
|
||
|
Изменение полей в Active Directory. Ошибка EAccessViolation
|
|||
|---|---|---|---|
|
#18+
Mr.DixЯ брал пример от сюда: Тебе не повезло нарваться на код с багом. Такое бывает. Обрати внимание, что функции требуется указатель на указатель, а ты передаёшь просто указатель. Если бы не топорное приведение типов, этот код даже не смог бы скомпилироваться. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 21:37 |
|
||
|
Изменение полей в Active Directory. Ошибка EAccessViolation
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Т.е. дело только в "&" ? Ну, при условии, конечно, что путь(path) до пользователя правильный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 22:10 |
|
||
|
Изменение полей в Active Directory. Ошибка EAccessViolation
|
|||
|---|---|---|---|
|
#18+
Mr.DixТ.е. дело только в "&" ? Для сабжа - да. И в этом ты легко мог убедиться поставив точку останова и посмотрев значение переменной. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 22:19 |
|
||
|
Изменение полей в Active Directory. Ошибка EAccessViolation
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Дмитрий, спасибо за ответ! Завтра попробую. Отпишусь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 22:22 |
|
||
|
Изменение полей в Active Directory. Ошибка EAccessViolation
|
|||
|---|---|---|---|
|
#18+
Да, действительно. Ну плюс ко всему путь у меня был некорректно введен. Теперь все нормально, но результат выполнения строки pADs->SetInfo() "-2147016657", соответственно, записи в поле не происходит. Пытаюсь разобраться в чем тут может быть дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 10:31 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38007492&tid=2020731]: |
0ms |
get settings: |
13ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
199ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 272ms |
| total: | 579ms |

| 0 / 0 |
