社區,我有相當有趣的同時又有很大的問題。我有VB .NET應用程序+服務+ C++應用程序。 C++應用程序生成一些數據並使用InvokeHelper()方法進行回調:InvokeHelper()拋出Access被拒絕異常
InvokeHelper(0x60030000, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
eventType, eventValue);
第一個參數是應該調用的方法的dispid。奇怪的做法,但這不是我的代碼,我不能改變這種方式。
在服務我有方法標記爲dispid屬性從C++應用程序獲取此回調。
<DispId(&H60030000)>
Public Sub ServerEvent(ByVal vEventType As Integer, ByVal vEventValue As Object)
RaiseEvent ControlPanelStateChange(vEventType, vEventValue)
End Sub
如果我以管理員身份登錄,此代碼正常工作。但是,如果Windows用戶沒有管理員權限,調用InvokeHelper()方法中的下一個異常後立即發生:0X80070005:
在0x75B7C42D(KernelBase.dll)在application.exe第一次機會異常訪問被拒絕
你有什麼想法嗎?我玩過DCOM權限,但結果是一樣的。
任何幫助將是太棒了!