Сигнализировать поток через границу процесса - PullRequest
1 голос
/ 23 июня 2010

Может ли COM-клиент сигнализировать о потоке в COM-сервере?

1 Ответ

3 голосов
/ 23 июня 2010

Чтобы позволить COM-клиенту сигнализировать серверу, вам понадобится такой интерфейс COM, как этот:

interface IClientServerSignalling
{
   void SignalMyServer();
}

COM-клиент запрашивает QueryInterface для какого-либо существующего объекта (или вы можете реализовать конкретный объект только для этой цели), а затем вызывать метод, который передается на COM-сервер, где он выполняется. Затем метод может делать все, что вам нужно.

Если вы пытаетесь получить вызов для конкретного рабочего потока на COM-сервере, тогда ваш метод SignalMyServer () может использовать механизмы синхронизации, такие как CreateEventEx () и , функции ожидания чтобы поговорить. Возможно, вы могли бы сделать это с COM-клиента на COM-сервер без использования COM API, но это предполагает, что вы знаете, где работает COM-сервер, и что у вас есть необходимые права доступа и разрешения для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...