求助:在调用动态连接库出现的访问冲突

qinxiaofei 2005-09-20 02:44:57
我在调用动态连接库用到了以下语句:
typedef int(CALLBACK* DLLFUNC)(
BE_CONFIG *beConfig, PDWORD dwSamples,
PDWORD dwBufferSize, PHBE_STREAM phbeStream
);

HINSTANCE hdll;
DLLFUNC beInitStream;
hdll=LoadLibrary("lame_enc");
AFX_MANAGE_STATE(AfxGetStaticModuleState( ))
beInitStream=(DLLFUNC)GetProcAddress(hdll,"beInitStream");
if(beInitStream(&bc,&dwsample,&dwbufsize,&hstream)!=BE_ERR_SUCCESSFUL)
{
MessageBox("初始化MP3失败");
return;
}
但是在程序运行时提示的错误为:
wavtomp.exe 中的 0x00000000 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突 。
求大家指点一下;
...全文
380 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinxiaofei 2005-09-21
  • 打赏
  • 举报
回复
谢谢大家的指点,最后发现的确是没有调用成功啊,
其中的原因可能有二:一是hdll=LoadLibrary("lame_enc.dll");
二是dll文件的位置没放好,很感谢大家
zjz800800 2005-09-20
  • 打赏
  • 举报
回复
beInitStream现在应该是NULL,调用失败了
DentistryDoctor 2005-09-20
  • 打赏
  • 举报
回复
0x00000000 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突 。


很显然beInitStream==NULL
DentistryDoctor 2005-09-20
  • 打赏
  • 举报
回复
DLL是否加载成功?函数指针是否获取?

怎么没有判断呢?
亿云力科技 2005-09-20
  • 打赏
  • 举报
回复
有可能没有load成功,而且怎么连文件的扩展名都不写?

hdll=LoadLibrary("lame_enc"); //lame_enc.dll?
bobob 2005-09-20
  • 打赏
  • 举报
回复
估计dll没有load成功
快乐鹦鹉 2005-09-20
  • 打赏
  • 举报
回复
hdll=LoadLibrary("lame_enc");
你需要判断动态库载入是否成功阿。以你的结果看,这个hdll应该是有问题的。
beInitStream也需要判断是否有效。你的程序没有判断这些异常。因此只要出现异常,就报这种错误了。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧