-
-
[求助]关于DLL中的共享数据段问题
-
发表于:
2008-6-13 10:30
8173
-
我写了一个dll,并用SetWindowsHookEx安装成全局钩子映射进每个用户进程。
但是目前遇到了一点问题,就是DLL中的共享数据段问题。
我在共享数据段中放了一些变量,
变量类型有DWORD,int,BOOL,HHOOK,char*
比较郁闷的是,除了字符串以外,其他的变量确实全局共享成功,每个进程都可以看到,但是字符串却怎么都不能共享。
在共享段中,字符串我直接这样定义的:
char szpath[MAX_PATH];
应该没有问题吧?
在我输出的调试语句中,可以清楚看到其中一个进程中我的DLL输出的szpath是有内容的,但是在另一个进程的输出中,那个DWORD类型的成功输出,字符串却始终为0,指针也非无效指针,但就是内容为空。按照共享数据段的说法,这个段是全局共享,每个进程中的该DLL都共享这个实例,修改也是即时的。为什么字符串不行呢?明明其中一个有,另一个却没有!
大家帮忙解决下吧~
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课