Re[2]: Как узнать состояние COM+ приложения?
От: gloomy rocker Россия  
Дата: 24.06.03 10:10
Оценка:
Здравствуйте, EM, Вы писали:

EM>ИМХО, COMAdminCatalog не поддерживает такую коллоекцию ("ApplicationInstances").

Цитата из MSDN.
The ApplicationInstances collection is a top-level collection that is used to retrieve information regarding running applications.
ms-help://MS.MSDNQTR.2002JUL.1033/cossdk/htm/comadmincollections_7qr2.htm
Если уж про нее пишут в MSDN, то как до этой коллекции достучаться?

EM>Задача вообще поставлена неверно. COM+ appliocation не может быть "запущен".

Под COM+ appliocation имелось в виду серверное приложение.
А запущен — значит имеется просесс dllhost.exe, запущеный следующим образом
dllhost.exe /ProcessID:{GUID серверного приложения}
Это происходит при инстанцировании одного или нескольких COM компонентов, инсталлированных в COM+ app.

EM>Может быть инстанцирован один или несколько COM компонентов, инсталлированных в COM+ app. А что такое "запущенное" COM+ app мне, честно говоря, непонятно...

Кроме того, "запустить COM+ app" можно еще из "Службы комопнентов", при этом ни один из COM компонентов не инстанцируется, а процесс dllhost.exe запускается. Плюс еще такой вариант:

    COMAdmin::ICOMAdminCatalogPtr pCatalog(__uuidof(COMAdmin::COMAdminCatalog));
    pCatalog->StartApplication("{4EA00F3A-20F3-4451-AF27-39E71824FE54}");


Теперь попытаюсь переформулировать вопрос.
Нужно узнать, существует ли процесс dllhost.exe, соответствующий серверному COM+ приложению с заданным именем или GUID.
Скука — двигатель прогресса.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.