2

问题

  • 如何找到预定义的进程外(基于 EXE)服务器支持的线程模型

  • 使用oleview吗?

  • 或者任何其他有效的方法?

笔记:

  • 尝试连接到上述服务器以接收事件通知
4

2 回答 2

3

恐怕问题是错误的。

线程模型(STA、MTA 等)是只适用于进程内 COM 对象的必要之恶,其中对象和客户端需要在同一个进程中共存,并且它们必须以某种方式防止相互踩踏(一个有趣且冗长的话题)。

进程外 (EXE) COM 服务器存在于它们自己的进程中,并在它们认为合适的时候管理它们自己的线程。COM 不知道——也不在乎。

所以没有任何与 EXE 相关的“线程模型”(在 COM 意义上)。

听起来您有一个特定的问题:如果您发布更多详细信息,我/某人/我们可能会提供帮助。

于 2009-02-10T05:35:48.107 回答
0

一个类的注册表项的绝对最小数量是:

  • LocalServer32\(可执行文件的路径)- 本地进程外 EXE 服务器的位置
  • InprocServer32\(DLL 的路径)- 本地进程内 DLL 服务器的位置

笔记:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\
{CLSID}\LocalServer32 = <full path>ServerExecutable
于 2009-02-01T12:24:04.650 回答