[問題] 關於呼叫C++ dll function的問題

看板C_Sharp (C#)作者 (灣灣)時間10年前 (2014/09/29 23:12), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/3 (看更多)
各位大大好 我利用c#寫網頁並呼叫c++ dll檔裡的function 在dll裡function裡的變數為PBYTE與ULONG 如下(以下是一行,為了方便閱讀我把它切了一下): extern "C" __declspec(dllexport)void GetAuthString(PBYTE pInBuf, ULONG ulInSize); 然後我利用c#寫成的網頁接了一字串 字串名稱暫且稱AuthStr = "477-61-F3-43A-46B-32E-589-4C4-4BD" 並試著傳入GetAuthString中 [DllImport("AuthProc.dll", EntryPoint = "GetAuthString", CallingConvention = CallingConvention.Cdecl)] static extern int GetAuthString( byte[] pInBuf, UInt32 ulInSize ); 先載入dll檔後,再將參數個別填入 其中pInBuf必須帶入AuthStr ulInSize 為字串長度 我試著將string轉型後代入function中 但結果仍失敗。。。 是因為c++對應的c#型別是錯誤的嗎? 麻煩各位先進了 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.51.98 ※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1412003530.A.494.html

09/30 02:26, , 1F
c++也是網頁程式嗎?
09/30 02:26, 1F

09/30 02:28, , 2F
會不會該認證程式沒問題,出問題的是內部其他函式。
09/30 02:28, 2F

09/30 08:28, , 3F
失敗結果是甚麼阿
09/30 08:28, 3F

09/30 09:44, , 4F
C++只是單純拿來寫dll
09/30 09:44, 4F

09/30 09:44, , 5F
結果是說輸入的型態錯誤
09/30 09:44, 5F

09/30 09:46, , 6F
我有用c++呼叫dll是可行的,到c#就失敗了…
09/30 09:46, 6F
文章代碼(AID): #1KANRAIK (C_Sharp)
文章代碼(AID): #1KANRAIK (C_Sharp)