作者whatbb123 (湾湾)
看板C_Sharp
标题[问题] 关於呼叫C++ dll function的问题
时间Mon Sep 29 23:12:08 2014
各位大大好
我利用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://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1412003530.A.494.html
1F:推 johnpage: c++也是网页程式吗? 09/30 02:26
2F:→ johnpage: 会不会该认证程式没问题,出问题的是内部其他函式。 09/30 02:28
3F:→ GoalBased: 失败结果是甚麽阿 09/30 08:28
4F:→ whatbb123: C++只是单纯拿来写dll 09/30 09:44
5F:→ whatbb123: 结果是说输入的型态错误 09/30 09:44
6F:→ whatbb123: 我有用c++呼叫dll是可行的,到c#就失败了… 09/30 09:46