Как узнать состояние COM+ приложения?
От: gloomy rocker Россия  
Дата: 24.06.03 06:40
Оценка:
Программно нужно узнать, запущено ли COM+ приложение с заданным именем или GUID.
Пытался сделать это через COMAdminCatalog, но мне не удалось получить коллекцию "ApplicationInstances".
При попытке получить эту коллекцию возникает ошибка: "Параметр задан неверно."

Что в этом коде не так? И вообще, может я не тем путем пошел?
#include "stdafx.h"
#import "com\comadmin.dll"

int _tmain(int argc, _TCHAR* argv[])
{
    CoInitialize(NULL);
    try
    {
        COMAdmin::ICOMAdminCatalogPtr pCatalog(__uuidof(COMAdmin::COMAdminCatalog));
        COMAdmin::ICatalogCollectionPtr pApps;
        pApps = pCatalog->GetCollection(L"ApplicationInstances");
    }
    catch(_com_error &e)
    {
        if(e.Description().length()==0)
            MessageBox(NULL,e.ErrorMessage(),"",MB_OK);
        else
            MessageBoxW(NULL,e.Description(),L"",MB_OK);
    }
    return 0;
}


P.S. Все это под Win2k.
Скука — двигатель прогресса.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.