Чтобы позволить COM-клиенту сигнализировать серверу, вам понадобится такой интерфейс COM, как этот:
interface IClientServerSignalling
{
void SignalMyServer();
}
COM-клиент запрашивает QueryInterface для какого-либо существующего объекта (или вы можете реализовать конкретный объект только для этой цели), а затем вызывать метод, который передается на COM-сервер, где он выполняется. Затем метод может делать все, что вам нужно.
Если вы пытаетесь получить вызов для конкретного рабочего потока на COM-сервере, тогда ваш метод SignalMyServer () может использовать механизмы синхронизации, такие как CreateEventEx () и , функции ожидания чтобы поговорить. Возможно, вы могли бы сделать это с COM-клиента на COM-сервер без использования COM API, но это предполагает, что вы знаете, где работает COM-сервер, и что у вас есть необходимые права доступа и разрешения для этого.