2010-06-23 57 views

回答

3

爲了讓COM客戶信號的服務器,你需要一些像這樣的COM接口:

interface IClientServerSignalling 
{ 
    void SignalMyServer(); 
} 

COM客戶端的QueryInterface將一些現有的對象(或者你可以只實現一個特定的對象爲這個目的),然後調用該方法,該方法被編組到COM服務器執行。該方法可以做任何你需要的。

如果您試圖在COM服務器上的特定工作線程上獲取調用,那麼您的SignalMyServer()方法可以使用同步機制(例如CreateEventEx()wait functions)進行交談。可以說,你可以做到這一點從COM客戶端COM服務器,而不使用COM API,但假設你知道COM服務器正在運行的地方,並且你有正確的安全特權和權限這樣做。