he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:902回复:7

各位,请看这段代码

楼主#
更多 发布于:2003-01-14 13:20
/*下面这段代码整苦了我,我反复测试了很多次,每次动态装载后都会以蓝屏告终,百思不得其解,大虾们帮助我啊!*/

BOOL MyfpDevice::OnSysDynamicDeviceInit()
{
if(NULL==(PrevHookProc=IFSMgr_InstallFileSystemApiHook(HookProc)))
return FALSE;
return TRUE;
}

DWORD MyfpDevice::OnW32DeviceIoControl(PIOCTLPARAMS pDIOCParams)
{
return 0;
}

int _cdecl HookProc(pIFSFunc FSDFnAddr, int FunctionNum, int Drive, int ResourceFlags, int CodePage, pioreq pir)
{
#ifdef DEBUG
struct _QWORD Result;
char ch[MAX_PATH+1];
strcpy(ch,NULL);
if(NULL!=pir && NULL!=pir->ir_ppath)
{
UniToBCSPath((unsigned char *)ch,
pir->ir_ppath->pp_elements,
MAX_PATH,
CodePage,
&Result);

ch[Result.ddLower]=\'\\0\';
}
dout << ch <<endl;
#endif
return (*PrevHookProc)(FSDFnAddr, FunctionNum, Drive, ResourceFlags, CodePage, pir);
} :o
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
wangxianjun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-03
  • 最后登录2003-04-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-15 08:31
strcpy(ch,NULL);这句是什么意思?
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-15 14:02
以下这句你见过吧:
char *a=NULL;
char b[50];
strcpy(b,a);           <=>    strcpy(b,NULL);

编译无警告
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
wangxianjun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-03
  • 最后登录2003-04-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-16 07:58
我觉得它是一个逻辑错,但编译不会有错
wangxianjun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-03
  • 最后登录2003-04-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-01-16 08:13
你的这段代码在调试时会出错,release版估计不会有错
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-01-16 08:59
strpcy(a,NULL);就算逻辑有误,但把它视着:strcpy(a,\"\");编译时也不会有问题吧;
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
wangxianjun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-03
  • 最后登录2003-04-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-01-16 10:38
strpcy(a,NULL);strcpy(a,\"\");这两句有本质的区别,“”是一个空串,但null作为一个串什么也不是!
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-01-16 12:41
NULL==0==\'\\0\'==\"\"  虽然在逻辑上有些不对,但值相等。

无论如何,主要原因不在这句,就连把这句删除掉或者替换掉结果也一样。
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
游客

返回顶部