0
我試圖創建一個MMC管理單元,除其他外,將接收並顯示從我的服務觸發的日誌事件。我創建了觀察器並且它正確啓動,但是當我嘗試向我的MmcListView添加節點時,出現一個COMException,它表示「與其基礎RCW分離的COM對象無法使用」。COM異常接收MMC管理單元中的WMI事件
這裏是有問題的代碼:
private void LogEvent_EventArrived(object sender, EventArrivedEventArgs e)
{
LogEvent logEvent = new LogEvent(e.NewEvent);
if (SnapIn.InvokeRequired)
{
object[] args = new object[] { logEvent };
SnapIn.Invoke(new ManagementAction(AddEvent), args);
}
else
AddEvent(logEvent);
}
的的LogEvent類是一個簡單的類做轉換ManagmentBaseObject屬性類型安全特性,這很容易對編碼的工作。 AddEvent方法執行將LogEvent對象添加到MmcListView的ResultNodes列表的實際工作。
我提到的異常實際上是在被解僱的SECOND事件上調用的,而且似乎發生在調用InvokeRequired時。我不知道這裏究竟發生了什麼。有任何想法嗎?