WPF调用C++dll提醒"尝试读取或写入受保护的内存
WPF调用C++dll提示"尝试读取或写入受保护的内存
声明是这样的
用的时候是这样的
在C++里它是这样的
但是调试的时候总是报错:尝试读取或写入受保护的内存
网上查了很多资料都没有符合的方法,是不是线程的原因?新人第一次发帖,求大神解答
------解决思路----------------------
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
------解决思路----------------------
EntryPoint = "Everything_SetSearchW"
调用的是 Everything_SetSearchW 而不是 Everything_QueryW
声明是这样的
[DllImport("Everything32.dll", EntryPoint = "Everything_SetSearchW", CharSet = CharSet.Unicode)]
public static extern bool Everything_QueryW(bool bWait);
用的时候是这样的
Everything_SetSearchW(txt);
Everything_QueryW(true);
在C++里它是这样的
BOOL EVERYTHINGAPI Everything_QueryW(BOOL bWait)
{
BOOL ret;
_Everything_Lock();
if (bWait)
{
ret = _Everything_Query(TRUE);
}
else
{
ret = _Everything_SendIPCQuery(TRUE);
}
_Everything_Unlock();
return ret;
}
但是调试的时候总是报错:尝试读取或写入受保护的内存
网上查了很多资料都没有符合的方法,是不是线程的原因?新人第一次发帖,求大神解答
------解决思路----------------------
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
------解决思路----------------------
EntryPoint = "Everything_SetSearchW"
调用的是 Everything_SetSearchW 而不是 Everything_QueryW