DCOM и передача параметпров м/у COM объектами
От: Jol99 Россия  
Дата: 22.03.05 12:32
Оценка:
Здравствуйте,

Вопросы от новичка, не судите строго...

1. DLL Сервер. Несколько клиентов одновременно подключаются к нему. Разделяют ли они данные СОМ объекта? Как этот процесс происходит? Если возможно, порекомендуйте ссылочку, где об этом можно почитать.
2. Как передавать указатели на, например, int массивы из одного СОМ объекта в другой, от клиента серверу? Можно ли просто использовать int* или необходимо упаковывать в SafeArray? Что делать, если DLL сервера находится на другом компьютере?

Заранее спасибо.
Re: DCOM и передача параметпров м/у COM объектами
От: filkov СССР  
Дата: 22.03.05 21:02
Оценка: 9 (1)
Здравствуйте, Jol99, Вы писали:

J>1. DLL Сервер. Несколько клиентов одновременно подключаются к нему.

DLL server is loaded inprocess. Simplest way — in the process of your client app.

Разделяют ли они данные СОМ объекта?

In this case, naturally, each client app has it's own instance of your server object.
Alternatively, DLL may be loaded in the special host app process called surrogate. DLLHOST.EXE is the standard system surrogate. You may use it directly or via COM+ service.
If you need to, you may even create system-wide singleton. There is the article on RSDN.

J>2. Как передавать указатели на, например, int массивы ... Можно ли просто использовать int* или необходимо упаковывать в SafeArray?

If you need automation-compatible interface, you'll have to use SafeArray of int.
Otherwise you may go with ([out] int**) parameter.

Что делать, если DLL сервера находится на другом компьютере?

You already know Use surrogate.

Good luck.
Санкционный Смотритель.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.