看板 C_Sharp 關於我們 聯絡資訊
各位大大好 我利用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
johnpage: c++也是網頁程式嗎? 09/30 02:26
johnpage: 會不會該認證程式沒問題,出問題的是內部其他函式。 09/30 02:28
GoalBased: 失敗結果是甚麼阿 09/30 08:28
whatbb123: C++只是單純拿來寫dll 09/30 09:44
whatbb123: 結果是說輸入的型態錯誤 09/30 09:44
whatbb123: 我有用c++呼叫dll是可行的,到c#就失敗了… 09/30 09:46