multithreading - 如果我在对象创建线程中使用编码的 COM 接口(interface)指针会怎样?

标签 multithreading com marshalling

我正在研究全局接口(interface)表的用法。 我知道当您从另一个 STA 线程调用 GetInterfaceFromGlobal() 时,您将获得原始接口(interface)指针的代理。代理负责将控制传递给对象创建线程。

如果我只有一个线程并在这个唯一的线程中调用 GetInterfaceFromGlobal(),即对象创建线程,然后像使用原始接口(interface)指针一样使用返回的接口(interface)指针(实际上是一个代理)怎么办?换句话说,代理(应该由另一个线程使用)是否可用于主线程?

如果我在 MTA 线程中为 MTA 对象使用全局接口(interface)表会怎样?它会起作用还是会损坏?

提前致谢。

最佳答案

你会得到你自己的指针,因为不需要代理。

关于multithreading - 如果我在对象创建线程中使用编码的 COM 接口(interface)指针会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6402767/

相关文章:

objective-c - 可以在调用实例方法时释放 Objective-C 对象吗?

wpf - 在另一个线程中创建 WPF 元素

c++ - ATL 简单对象向导 - "Object Xxx already exists"错误

c# - 如何编码从 C 头文件中的宏定义的结构?

java - JAXB 异常 : Class not known to this context while marshalling

c++ - 避免输出交错

java - 如何在 Java 中实现多线程 MergeSort

c++ - 使用 C/C++ 自动化 Internet Explorer

未找到 PHP 类 'COM'

json - 编码为 json 时转到转换类型