MFC框架下,调用DLL失败,debug时提示访问冲突!

提示信息为:“SystemCenter.exe”:已加载“C:\DocumentsandSettings\Administrator\桌面\1\PacketsFilter... 提示信息为:“SystemCenter.exe”: 已加载“C:\Documents and Settings\Administrator\桌面\1\PacketsFilter.dll”,已加载符号。
“SystemCenter.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2\mfc80u.dll”,已加载符号。
“SystemCenter.exe”: 已加载“C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd\msvcr80.dll”,已加载符号。
SystemCenter.exe 中的 0x0041885c 处最可能的异常: 0xC0000005: 写入位置 0x00fdfea1 时发生访问冲突
SystemCenter.exe 中的 0x0041885c 处未处理的异常: 0xC0000005: 写入位置 0x00fdfea1 时发生访问冲突

源码:
C/C++ code TCHAR providerPath[_MAX_PATH];

GetPath(providerPath);

if(providerPath[0] == '\0')
{
AfxMessageBox("无法找到应用程序路径!");
iSetRule.SetLog("无法找到应用程序路径!");
return 0;
}

_tcscat(providerPath,_T("PacketsFilter.dll"));

if(_taccess(providerPath,0) == -1)
{
AfxMessageBox("对应的DLL文件未能找到!");
iSetRule.SetLog("对应的DLL文件未能找到!");
return 0;
}

cInstallExe.InstallProvider(providerPath);

if(!cInstallExe.IsWinsock2())
{
AfxMessageBox("系统未安装winsock2!");
iSetRule.SetLog("对应的DLL文件未能找到!");
return FALSE;
}

if(!cInstallExe.IsInstalled(providerPath) && cInstallExe.InstallProvider(providerPath) != XERR_SUCCESS)
{
AfxMessageBox("安装失败!");
iSetRule.SetLog("安装失败!");
return FALSE;
}
//_tcscpy(providerPath,_T("C:\\Documents and Settings\\Administrator\\桌面\\1\\PacketsFilter.dll"));
//AfxMessageBox(providerPath);

mDll = LoadLibrary(providerPath);

我已经拷贝DLL文件到DEBUG下!
补充:用单步调式,运行到LoadLibrary时出错!提示上述错误!
展开
 我来答
gift925
2009-05-28 · TA获得超过557个赞
知道小有建树答主
回答量:659
采纳率:0%
帮助的人:504万
展开全部
看下ProviderPath。是不是越界了?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式