110,499
社区成员
发帖
与我相关
我的任务
分享
MethodA(unsigned char* pInputData,
unsigned int nSize,
unsigned char* pOutputData,
unsigned int* nOutSize);
[DllImport("xxxx.dll", CharSet=CharSet.Ansi)]
static extern void MethodA(string pInputData, uint nSize, StringBuilder pOutputData, out uint nOutSize);
string inputData = "xxxxx";
uint nOutSize = 0;
MethodA(inputData, (uint)inputData.Length, null, out nOutSize);
[/quote]
不对呢~~~现在的问题就是搞不懂
unsigned char*
对应C#是什么类型,还有怎么初始化这个类型!
[DllImport("xxxx.dll", CharSet=CharSet.Ansi)]
static extern void MethodA(string pInputData, uint nSize, StringBuilder pOutputData, out uint nOutSize);
string inputData = "xxxxx";
uint nOutSize = 0;
MethodA(inputData, (uint)inputData.Length, null, out nOutSize);
byte[] inputData, int nSize,byte[] outputData, ref int nOutSize
string inputStr = "....";
byte[] inputData = Encoding.ANSCII.GetBytes(inputStr);
int nSize = inputData.Length;
int nOutSize = 2024;
byte[] outputData = new byte[nOutSize];
MethodA(inputData, nSize, outputData, ref nOutSize);
这样调用,outputData设置结果没变。哪里出了问题?
unsigned char* outputData = NULL;
unsigned int nOutSize = 0;
MethodA((unsigned char*)inputData.c_str(),inputData.length(),outputData,&nOutSize);