扩展库 / com
com
在 Windows 上调用 IDispatch 自动化对象。
支持 ProgID 创建、属性读写、位置/命名参数与输出参数调用;不提供任意 COM vtable 绑定、事件 sink 或跨 apartment 自动封送。
API
| 接口 | 用途 |
|---|---|
com.ComObject(progid) | 创建自动释放的 COM 对象 |
com.create / attach / release | 管理原始 point 句柄 |
invoke / invoke_named / invoke_out | 执行自动化调用 |
get_text / get_int / put_var / put_ref | 读取或写入属性 |
范例
import com
auto dictionary = com.ComObject("Scripting.Dictionary")
dictionary.invoke("Add", array["key", "value"])
println(dictionary.int("Count"))
dictionary.close()
范例需要系统提供对应 ProgID。句柄只能在创建它的线程调用和释放;ProgID 与成员名拒绝内嵌 NUL,值字符串可保留 NUL。隐式析构和显式关闭的确定性夹具已通过 JIT/AOT。当前完整门禁仍在 XLang 数组传入原生 COM 调用时失败;调用链尚未签收,详见包内 README。