Re: [問題] C++ 程式呼叫C# dll library?
大家好..
遵照推文p大的連結照著做
http://support.microsoft.com/kb/828736
最終失敗
跑到
ICalculatorPtr pICalc(__uuidof(ManagedClass));
時
跳出exception
An unhandled exception of type 'System.Runtime.InteropServices.SEHException'
occurred in CPPClientConsole.exe
Additional information: 外部元件傳回例外狀況。
死在這內部的function
explicit _com_ptr_t(const CLSID& clsid, IUnknown* pOuter = NULL, DWORD
dwClsContext = CLSCTX_ALL)
: m_pInterface(NULL)
{
HRESULT hr = CreateInstance(clsid, pOuter, dwClsContext);
if (FAILED(hr) && (hr != E_NOINTERFACE)) {
_com_issue_error(hr);
}
}
我用VS 2010 and 2008 兩個平台都試, 一樣都會壞掉...
我目前是想先從一般平台 寫Application 測試這可否成功
若可以 再考慮driver這邊的問題
我driver完全不熟...只是遵照SOP去build一隻user mode driver.
所有設定也不像VS 有 強大IDE可以設定
遵照這網頁
sn.exe k MyKeyFile.SNK
RegAsm.exe ManagedDLL.dll /tlb:ManagedDLL.tlb /
(/ clr:oldSyntax)
這3個步驟就不知如何克服在不熟悉的driver平台作...
而且現在情況有點怪
我C#的dll是微軟 build好的dll我沒有原始碼也沒辦法去重build
所以文中所提到的tlb 檔案 我是無法匯出
會想再driver層呼叫C#的dll是因為
微軟的這DLL做的事情 我們沒辦法自己寫(不曉得實作邏輯)
有人就出意見 說在driver呼叫C# dll應該可以吧?
所以正在survey.....
想請問各位目前卡的地方是否是哪裡設定上有遺漏
謝謝
※ 引述《QQ29 (我愛阿蓉)》之銘言:
: 大家好
: 請問一個問題
: 關於C++ 寫的程式 可否呼叫C# dll裡面的function.
: 我之前有稍微用過C# 程式 呼叫C++ 寫的dll
: 流程大概是要把C++包成一個COM dll C#程式再用奇怪語法去呼叫
: 好像叫做Interop
: 但反過來
: 我不知道有沒有可行的機會
: 也不知道專有名詞叫什麼
: 可否請有經驗的版友給點建議
: 讓我有個survey的方向
: 我是希望不可行啦
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.64.222
※ 編輯: QQ29 來自: 219.87.64.222 (11/24 17:59)
→
11/24 22:22, , 1F
11/24 22:22, 1F
→
11/24 22:23, , 2F
11/24 22:23, 2F
→
11/24 22:27, , 3F
11/24 22:27, 3F
→
11/24 23:32, , 4F
11/24 23:32, 4F
→
11/25 00:43, , 5F
11/25 00:43, 5F
→
11/25 00:44, , 6F
11/25 00:44, 6F
→
11/25 00:44, , 7F
11/25 00:44, 7F
→
11/25 00:44, , 8F
11/25 00:44, 8F
→
11/25 00:45, , 9F
11/25 00:45, 9F
→
11/25 00:45, , 10F
11/25 00:45, 10F
推
11/25 00:56, , 11F
11/25 00:56, 11F
→
11/25 01:01, , 12F
11/25 01:01, 12F
→
11/25 10:58, , 13F
11/25 10:58, 13F
→
11/26 17:02, , 14F
11/26 17:02, 14F
→
11/26 17:03, , 15F
11/26 17:03, 15F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):