windows下创建新的进程是是否可是指定其会话id(sid)?

crane_may 2008-12-06 06:04:20
如题
...全文
396 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
leogle_reloaded 2011-12-31
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/ee663077.aspx
参考Session 0阻隔详细说明
crane_may 2008-12-07
  • 打赏
  • 举报
回复
我推断确实是会话id的问题,不过还没确定。至少我要达到的效果已经可以实现了,结帖先~
如果和我有同样问题的可以参考下面这个链接
http://www.codeproject.com/KB/vista-security/VistaSessions.aspx
感谢sys0006和oyljerry
crane_may 2008-12-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 oyljerry 的回复:]
引用 2 楼 crane_may 的回复:
我现在的问题是server做成了系统服务,运行起来后进程的会话id为0,客户端的会话id为1(客户端要在com库中查找server实现的一个com对象,貌似是由于会话id不同所以查找不到),访问不到服务器。
所以我想让server创建进程时的会话id也变成1……有什么办法么?

com对象本来就在不同进程之间可以通信,不需要会话id一样,客户端通过CoCreateInstance直接获得com对象
[/Quote]
我的server在后台运行,运行过程中使用了CoRegisterClassObject对类厂进行了注册,当有client连接时就不会再创建一个server进程了,而是直接用已经注册的类厂对象创建com对象。可是当server以服务的形式运行时,client连接服务器还是会再创建一个server进程,这时任务管理器中有两个server进程,唯一区别就是会话id,一个是0一个是1。client进程的会话id为1,似乎是由于不在同一个会话中,所以会话id为0的server对client不可见。如果server不作为服务启动,而是以普通程序启动的话,server进程的会话id为1,这时无论多少个client连接server都不会创建新的server进程。不知道是不是这个原因……
oyljerry 2008-12-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 crane_may 的回复:]
我现在的问题是server做成了系统服务,运行起来后进程的会话id为0,客户端的会话id为1(客户端要在com库中查找server实现的一个com对象,貌似是由于会话id不同所以查找不到),访问不到服务器。
所以我想让server创建进程时的会话id也变成1……有什么办法么?
[/Quote]
com对象本来就在不同进程之间可以通信,不需要会话id一样,客户端通过CoCreateInstance直接获得com对象
sys0006 2008-12-06
  • 打赏
  • 举报
回复

BOOL CreateProcessAsUser(
HANDLE hToken,
LPCTSTR lpApplicationName,
LPTSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
DWORD dwCreationFlags,
LPVOID lpEnvironment,
LPCTSTR lpCurrentDirectory,
LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATION lpProcessInformation
);
crane_may 2008-12-06
  • 打赏
  • 举报
回复
我现在的问题是server做成了系统服务,运行起来后进程的会话id为0,客户端的会话id为1(客户端要在com库中查找server实现的一个com对象,貌似是由于会话id不同所以查找不到),访问不到服务器。
所以我想让server创建进程时的会话id也变成1……有什么办法么?
sai_1573 2008-12-06
  • 打赏
  • 举报
回复
问题具体一点好..用ID标识进程本身就不是一个好的选择.因为这个进程ID不属于某一个进程,当这个进程消亡的时候,该ID有可能被操作系统分配给其他的进程,那么先前那个ID对应的进程就已经更换掉了..呵呵

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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