aardio 文档

com.interface 库模块帮助文档

com 成员列表 #

com.interface() #

返回对象:comInterfaceObject

com.interface(declInterface) #

COM 原生接口对象。
参数 declInterface 必须指定 com.interface 名字空间下的接口声明类,
或者用字符串指定 com.interface 名字空间已导入的声明类名称。。
可以对返回对象添加匹配 declInterface 声明的成员函数。
未定义成员在被调用时忽略并直接返回 0

com.interface(implObjectOrPtr,declInterface) #

导入 COM 原生接口对象。
参数 implObjectOrPtr 可指定 COM 对象、COM 对象指针、com.IUnknown 托管指针。
参数 declInterface 必须指定 com.interface 名字空间下的接口声明类,
或者用字符串指定 com.interface 名字空间已导入的声明类名称。
在 COM 接口类中的自定义函数必须用 owner 代替 this 访问当前 COM 对象。

com.interface(implTable,declInterface) #

实现 COM 原生接口对象。
implTable 是一个纯表(元表), 并定义与接口匹配的成员函数(被调用时忽略未定义成员)。
参数 declInterface 必须指定 com.interface 名字空间下的接口声明类,
或者用字符串指定 com.interface 名字空间已导入的声明类名称。
在 COM 接口类中的自定义函数必须用 owner 代替 this 访问当前 COM 对象。

com.interface 成员列表 #

所有 COM 原生接口声明类都在此名字空间内。
所有 COM 原生接口声明类中的自定义函数必须用 owner 代替 this,

owner 才指向实际绑定的 COM 原生对象。
COM 原生接口声明类内部的 this 指向的是声明类而不是 COM 对象。

导入或实现 COM 原生接口对象。

com.interface.IUnknown #

COM 原生接口声明类的基类。
所有 COM 原生接口声明类必须直接继承此接口。
所有 COM 原生接口声明类中的自定义函数必须用 owner 代替 this,
owner 才指向实际绑定的 COM 原生对象。
COM 原生接口声明类内部的 this 指向的是声明类而不是 COM 对象。

com.interface.checkError(请输入原生函数返回值) #

如果有错误调用 error 函数抛出异常
可选用参数 @2 指定抛出异常的调用级别:
调用级别为 2 表示调用当前函数的函数

com.interface.checkInterface(接口声明类) #

参数可指定 COM 原生接口声明类,
或者用字符串指定 com.interface 名字空间已导入的声明类名称。

此函数检查接口声明类是否有效,
如果有效则返回声明接口的类对象,并将类的静态 IID 成员转换为 win.guid 结构体。
如果是无效的声明类则抛出异常,可使用参数 @2 指定抛出异常的调用级别。

com.interface.create #

创建或实现原生接口

com.interface.create() #

返回对象:comInterfaceObject

com.interface.create(clsid,declInterface) #

创建原生接口对象,参数 @1 指定 CLSID。
参数 declInterface 必须指定 com.interface 名字空间下的接口声明类,
或者用字符串指定 com.interface 名字空间已导入的声明类名称。

com.interface.create(declInterface) #

实现原生接口。
与直接调用 com.interface(declInterface) 作用相同。
可以在对象返回后再增加 COM 接口声明类 declInterface 声明的接口方法。

com.interface.loadTypelibrary(类型库,接口类名) #

自类型库加载接口类,
并在 com.interface 名字空间创建参数 @2 指定名称的接口声明类,
类型库可以是路径等 com.LoadTypeLibrary 函数可支持的参数,
也可以是该函数创建的类型库对象。
可选在定义接口类以后,
在该类的名字空间下使用 _funtions 对象补全函数原型

comInterfaceObject 成员列表 #

comInterfaceObject.AddRef() #

引用计数加一,返回引用计数。
返回值仅具有测试意义。

comInterfaceObject.QueryInterface() #

返回对象:comInterfaceObject

comInterfaceObject.QueryInterface(接口数) #

参数是接口类,参考com.interface.IUnknown源码

comInterfaceObject.Release() #

引用计数减一,返回引用计数。
返回值仅具有测试意义。

自动完成常量

CLSCTX_INPROC=3
_CLSCTX_INPROC_HANDLER=2
_CLSCTX_INPROC_SERVER=1
_CLSCTX_LOCAL_SERVER=4
_CLSCTX_SERVER=5
_FAILED=
_/*hr*/ < 0
SUCCEEDED=_/*hr*/ >= 0
_VT_ARRAY=0x2000
_VT_BLOB=0x41
_VT_BLOB_OBJECT=0x46
_VT_BOOL=0xB
_VT_BSTR=8
_VT_BSTR_BLOB=0xFFF
_VT_BYREF=0x4000
_VT_CARRAY=0x1C
_VT_CF=0x47
_VT_CLSID=0x48
_VT_CY=6
_VT_DATE=7
_VT_DECIMAL=0xE
_VT_DISPATCH=9
_VT_EMPTY=0
_VT_ERROR=0xA
_VT_FILETIME=0x40
_VT_HRESULT=0x19
_VT_I1=0x10
_VT_I2=2
_VT_I4=3
_VT_I8=0x14
_VT_ILLEGAL=0xFFFF
_VT_ILLEGALMASKED=0xFFF
_VT_INT=0x16
_VT_INT_PTR=0x25
_VT_LPSTR=0x1E
_VT_LPWSTR=0x1F
_VT_NULL=1
_VT_PTR=0x1A
_VT_R4=4
_VT_R8=5
_VT_RECORD=0x24
_VT_RESERVED=0x8000
_VT_SAFEARRAY=0x1B
_VT_STORAGE=0x43
_VT_STORED_OBJECT=0x45
_VT_STREAM=0x42
_VT_STREAMED_OBJECT=0x44
_VT_TYPEMASK=0xFFF
_VT_UI1=0x11
_VT_UI2=0x12
_VT_UI4=0x13
_VT_UI8=0x15
_VT_UINT=0x17
_VT_UINT_PTR=0x26
_VT_UNKNOWN=0xD
_VT_USERDEFINED=0x1D
_VT_VARIANT=0xC
_VT_VECTOR=0x1000
_VT_VERSIONED_STREAM=0x49
_VT_VOID=0x18

Markdown 格式