Appearance
SetDllPathA
函数简介
SetDllPathA
函数用于免注册调用 COM 组件,成功后可直接创建 COM 对象而无需将 DLL 注册到系统。
提示:仅需在程序创建时运行一次
函数原型
cpp
int SetDllPathA(path, mode);
参数定义
path
: 插件 dll 所在绝对路径。
mode
: 线程模型。
- 0: STA 单线程模型
- 1: MTA 多线程模型
返回值
1: 成功
0: 失败
易语言模块中的写法
主题切换
全屏复制代码
易语言模块中的写法2
主题切换
全屏复制代码
易语言调用示例
主题切换
全屏复制代码
线程模型
STA(Single Threaded Apartment)单线程模型:
STA 是一种线程模型,主要应用于组件对象模型(COM)中,特别是在 Microsoft 的 COM 中。
在 STA 模型中,每个 COM 组件实例都在一个单独的线程内运行,这个线程负责处理该组件的所有调用。
STA 模型简化了线程管理,因为组件不需要处理线程同步问题,但是它限制了并发性,因为每个组件实例一次只能处理一个调用。
MTA(Multi Threaded Apartment)多线程模型:
MTA 是另一种 COM 线程模型,允许 COM 组件在多个线程中同时运行。
在 MTA 模型中,组件实例可以被多个线程同时访问,因此可以实现更高的并发性。
然而这也带来了线程同步的问题,组件需要确保对共享资源的访问是线程安全的。