
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.11.2005, 11:15
|
|||
|---|---|---|---|
Проблемы с CoInitialize, CoCreateInstance и вообще с правами доступа к объектам. |
|||
|
#18+
Возникса необходимость написать web-интерфейс для управления Windows Media Server'ом, плейлист храниться в базе, ASP-страница для управления этим плейлистом вызывает написанное на C++ консольное приложение, которое подключается к БД и проводит необходимые манипуляции. Все бы ничего, приложение работает, если кликнуть на него мышкой, зайдя в систему под правами администратора, но при вызове этого приложения через ASP-страницу возникает ошибка на CoInitialize, GetLastError дает 126 - "The specified module could not be found.".... Короче, подумал я - проблемы с доступом к COM-объекту, кстати, при вызове CoCreateInstance(CLSID_WMSServer, NULL, CLSCTX_ALL, IID_IWMSServer, (void **)&pServer); ошибка №2 - "The system cannot find the file specified." Тут началось шаманство, которое вначале заключалось в использовании разных ActiveX компонентов для вызова моего приложения, потом пытался использовать утилиты командной строки runas и wsremote для запуска под правами админа, потом я извращался с токенами: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Я даже пытался зациклить данную прогу вот так вот: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Авторизация успешна, прога запускается - но опять та же ошибка. Дальше я пробовал написать сервис на Delphi, который по таймеру каждые 10 сек. запускал это приложение, сервис я запустил под учетной записью Administrator, тоже без результатно. Может, кто нибудь подскажет, в чем затык? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2005, 11:46
|
|||
|---|---|---|---|
Проблемы с CoInitialize, CoCreateInstance и вообще с правами доступа к объектам. |
|||
|
#18+
Если вопрос по CoInitialize , то надо вызвать эту библиотеку в начале основного потока и сразу после старта всех дополнительных если они есть. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2005, 11:48
|
|||
|---|---|---|---|
Проблемы с CoInitialize, CoCreateInstance и вообще с правами доступа к объектам. |
|||
|
#18+
Не, я вообще не использую управление потоками в моей программе, как бы есть один основной поток - в нем и работаю. А CoInitialize у меня вызывается после манипуляций с токенами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2005, 16:56
|
|||
|---|---|---|---|
Проблемы с CoInitialize, CoCreateInstance и вообще с правами доступа к объектам. |
|||
|
#18+
Пробовал полазить в настройках DCOM компонента, открыл к нему доступ для любого пользователя - без результатно. Второй день уже пошел, как я с эти бьюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2005, 17:05
|
|||
|---|---|---|---|
Проблемы с CoInitialize, CoCreateInstance и вообще с правами доступа к объектам. |
|||
|
#18+
может один процесс "под админом" запускает другой процесс - "не под админом"? ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2005, 17:43
|
|||
|---|---|---|---|
Проблемы с CoInitialize, CoCreateInstance и вообще с правами доступа к объектам. |
|||
|
#18+
Petro123 , что ты имеешь ввиду? Я пробовал, чтобы программа вызывала сама себя под правами админа, токен я получаю верно, значит авторизация успешна... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2005, 18:01
|
|||
|---|---|---|---|
Проблемы с CoInitialize, CoCreateInstance и вообще с правами доступа к объектам. |
|||
|
#18+
tormoz21 Petro123 , что ты имеешь ввиду? Я пробовал, чтобы программа вызывала сама себя под правами админа, токен я получаю верно, значит авторизация успешна... я не Сишник, и твой код для меня тарабарщина. Поэтому IMHO проблема у тебя теоретически может быть в связке COM-права доступа. А в COM можно запустить процесс с правами какими угодно, особенно если он как внешний процесс используется. Короче - обрезай всё лишнее пока не заработает если уж 3 дня бьёшся . Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2032517]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
21ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 288ms |

| 0 / 0 |
