我有个问题。我的 dll 中有一个函数,定义如下:
int function(char *inVal, char *outVal, int *retVal)
我使用 LoadLibrary 成功地将我的 dll 加载到控制台应用程序中,并使用函数指针调用我的函数:
typedef int (__cdecl *functionPtr)(char *, char *,int *);
然后我将我的 inVal 传递给我的函数:
char * inVal = "input";
现在我想获得我的 outVal 和 retVal,我已经成功获得了 retVal,但我的 outVal 为 NULL:
int retVal = 0;
char outVal[200] = {0};
然后我调用我的函数:
int return = functionLNK(inVal , outVal, &retVal)
有什么线索吗?!!
编辑1:
代码如下:
int function(char *inVal, char *outVal, int *retVal)
{
PKI_Buf inBuf, signBuf, pemBuf;
......
outVal = (char*)pemBuf.data;
//I check outVal in this point and it is not NULL
}