我正在編寫COM服務器,並且我寫了代碼來檢測COM客戶端意外關閉時的情況,在這種情況下,我應該關閉COM服務器內部的COM服務器代碼。如何從COM服務器調用釋放
我怎樣才能做到這一點?
UPD:我有COM服務器被絞死或更正確的情況我無法從COM客戶端連接到COM服務器,但包含COM服務器的應用程序是活動的,所以我認爲COM服務器可以檢測到所有舊的COM客戶端已斷開連接/關閉/崩潰,並且應用程序將重新啓動,因爲沒有連接新客戶端。
我已經寫在COM客戶端下面的代碼在單獨的線程
while(not we are closing)
{
unknown->QueryInterface(IComServer, &server);
if (server)
return;
}
使COM客戶端可以等到服務器將真正準備工作
UPD2:剛剛測試:13分鐘我的COM後服務器已關閉
您認爲這樣做的好處是什麼? –
@David Heffernan:顯然他不希望COM服務器進程在無限期內停頓。 – sharptooth