关于网友提出的“ 请教:怎样在进程间共享函数指针和句柄等”问题疑问,本网通过在网上对“ 请教:怎样在进程间共享函数指针和句柄等”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 请教:怎样在进程间共享函数指针和句柄等
描述: 比如,在一个进程A中有一个函数A
进程B,C,D都需要调用这个A
如何调用
再比如,进程A中有一个事件句柄 HANDLE hEvent
怎样在进程B,C,D中使用这个hEvnet
让其SetEvent(hEvent)等操作起作用
解决方案1: 有3种方法:
1 createProess时,让其参数允许继承(继承性为TRUE)
2 命名对象(我自己也没搞清楚)
3 DuplicateHandle()
解决方案2: 把A里头的函数做在DLL里头,让ABCD共享DLL里头的函数,能达到你的目的吗?
解决方案3: 进程间只有通过名字来访问内核对象
解决方案4: 关注
解决方案5: DuplicateHandle()
解决方案6: 嗯,既然函数公用,就应该模块化,做成dll统一来调用
解决方案7: 如果是函数指针,直接使用DLL对应的内部函数,应当可以了吧
解决方案8: 函数指针可能较难。
但HANDLE可以
HANDLE CreateEvent(
LPSECURITY_ATTRIBUTES lpEventAttributes,
BOOL bManualReset,
BOOL bInitialState,
LPCTSTR lpName
);
一个进程中创建时指定是lpName,
另一个进程中OpenEvent就可以了,
其它的内核对象与之类似。
以上介绍了“ 请教:怎样在进程间共享函数指针和句柄等”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3412734.html