扩展库 / 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。