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

作者: whatbb123 (灣灣)   2014-09-29 23:12:08
各位大大好
我利用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#型別是錯誤的嗎?
麻煩各位先進了
謝謝!
作者: johnpage (johnpage)   2014-09-30 02:26:00
c++也是網頁程式嗎?會不會該認證程式沒問題,出問題的是內部其他函式。
作者: GoalBased (Artificail Intelligence)   2014-09-30 08:28:00
失敗結果是甚麼阿
作者: whatbb123 (灣灣)   2014-09-30 09:44:00
C++只是單純拿來寫dll結果是說輸入的型態錯誤我有用c++呼叫dll是可行的,到c#就失敗了…

Links booklink

Contact Us: admin [ a t ] ucptt.com