aardio 文档

builtin.raw 库模块帮助文档

raw 成员列表

raw.byte()

转换参数@1指定的数值为 byte 类型数值(8位整数)包装对象,
返回对象支持 tonumber tostring 等类型转换函数。

用于调用非声明式原生 API 函数的参数,
默认传值,参数@2为 true 则用于传址参数(传数值的指针)。

用于 COM 函数参数则总是传值, COM 函数也可使用 com.byte 函数

返回对象:rawNumberObject

raw.convertArray(源内存指针,源数组长度,"数据类型")

将指针指向的内存转换为普通数组,传入空指针返回空值
数据类型参数可省略,默认为"pointer"
类型类型也可以直接传入一个声明元素类型的结构体参数
注意该函数不会检测内存溢出错误,调用该函数时必须保证数组长度是正确的值

raw.double()

转换参数@1指定的数值为 double 类型数值(64位浮点数)包装对象,
返回对象支持 tonumber tostring 等类型转换函数。

用于调用非声明式原生 API 函数的参数,
默认传值,参数@2为 true 则用于传址参数(传数值的指针)。

用于 COM 函数参数则总是传值, COM 函数也可使用 com.double 函数

返回对象:rawNumberObject

raw.dup(源句柄,源进程,目标进程,允许子进程继承)

返回复制的系统句柄
除参数1之外,其他参数可选
默认仅在当前进程中复制句柄
复制的句柄应使用raw.closehandle释放

raw.execute

运行外部程序,成功返回 true。
process.execute 函数提供类似的功能,区别可参考函数源码

raw.execute(file,param,operation,showCmd,workDir,hwnd)

运行外部程序,成功返回 true。
@file 指定要运行的程序路径,其他所有参数可省略,
@param 字符串参数,可选指定启动参数。
@operation 可选用一个字符串指定执行动词,省略则使用默认动词或 "open"。
@showCmd 可选用 SW 前缀常量指定显示选项,默认为 _SW_SHOW。
@workDir 参数可选指定工作目录。
@hwnd 可选指定所有窗口句柄,默认取当前线程活动窗口

raw.explore(path,args,...)

使用资源管理器(Explorer.exe)打开文件或目录。
第一个参数 @path 指定文件路径,可为空值( null )。
注意 Explorer.exe 不解析标准的命令行参数转义符,这一点与其他程序不同。
如参数 @path 尾部有双反斜杆\\则为无效路径并打开默认目录(打开我的文档,XP系统报错)。
如参数 @path 指定为 ","或"file:" 则打开“此电脑(This PC)”。
如参数 @path 使用shell:::前缀则可以指定特殊路径的 CLSID。

可用第二个参数 @args 或更多参数指定 Explorer.exe 命令行选项,
例如指定 "/select" 在资源管理器选择指定路径。
注意 "/n" 等选项在新系统中是无意义的,Explorer 将总是打开新窗口。

raw.float()

转换参数@1指定的数值为 float 类型数值(32位浮点数)包装对象,
返回对象支持 tonumber tostring 等类型转换函数。

用于调用非声明式原生 API 函数的参数,
默认传值,参数@2为 true 则用于传址参数(传数值的指针)。

用于 COM 函数参数则总是传值, COM 函数也可使用 com.float 函数

返回对象:rawNumberObject

raw.int()

转换参数@1指定的数值为 int 类型数值(32位整数)包装对象,
返回对象支持 tonumber tostring 等类型转换函数。

用于调用非声明式原生 API 函数的参数,
默认传值,参数@2为 true 则用于传址参数(传数值的指针)。

用于 COM 函数参数则总是传值, COM 函数也可使用 com.int 函数

返回对象:rawNumberObject

raw.join(buffer数组,分隔字符串,起始索引,结束索引)

拼接字符串或 buffer 数组,返回 buffer。
如果拼接后长度为空,此函数返回 null。

参数@1指定的数组可包含字符串或buffer,
包含 buffer 的数组只能用 raw.join 拼接,不可使用 string.join 拼接
参数 @2 可选指定一个间隔字符串。
起始索引与结束索引为可选参数,可传入负数表示自数组尾部倒计数

raw.long()

转换参数@1指定的数值为 long 类型数值(64位整数)包装对象,
返回对象支持 tonumber tostring 等类型转换函数。

用于调用非声明式原生 API 函数的参数,
默认传值,参数@2为 true 则用于传址参数(传数值的指针)。

用于 COM 函数参数则总是传值, COM 函数也可使用 com.long 函数

返回对象:rawNumberObject

raw.main

进程主模块,默认调用约定为stdcall
与raw.module("stdcall")返回的值相同,
可用于将当前进程中的函数指针转换为aardio函数

返回对象:dllModuleObject

raw.mixin(指针,结构体对象,任意个混入对象)

混入新的值,支持任意个混入table对象,
自动更新指针指向内存,并返回结构体对象

raw.module("调用约定")

指定约定并返回进程主模块,
省略参数时调用约定默认为stdcall,
可用于将当前进程中的函数指针转换为aardio函数,

raw.module()

返回对象:dllModuleObject

raw.serializeDupHandle("类名",句柄)

复制进程内有效句柄并序列化对象
只能用于_serialize元方法,且必须kernelCall参数为真
序列化类构造函数必须支持指针参数1为指针类型句柄,参数2为true的参数
并负责在析构函数中调用 raw.closehandle 释放该句柄

raw.typeOfArray()

如果参数是一个包含原生数组的结构体,
返回原生类型名,以及数组字段名字。
如果是其他对象则返回 null

raw.ubyte()

转换参数@1指定的数值为 BYTE 类型数值(8位无符号整数)包装对象,
返回对象支持 tonumber tostring 等类型转换函数。

用于调用非声明式原生 API 函数的参数,
默认传值,参数@2为 true 则用于传址参数(传数值的指针)。

用于 COM 函数参数则总是传值, COM 函数也可使用 com.ubyte 函数,
注意在原生类型中使用大写的 BYTE 类型表示8位无符号整数

返回对象:rawNumberObject

raw.uint()

转换参数@1指定的数值为 INT 类型数值(32位无符号整数)包装对象,
返回对象支持 tonumber tostring 等类型转换函数。

用于调用非声明式原生 API 函数的参数,
默认传值,参数@2为 true 则用于传址参数(传数值的指针)。

用于 COM 函数参数则总是传值, COM 函数也可使用 com.uint 函数,
注意在原生类型中使用大写的 INT 类型表示32位无符号整数

返回对象:rawNumberObject

raw.ulong()

参数@1可传入数值或 math.size64 对象,
返回适用于 LONG 类型数值(64位无符号整数)的包装对象,
返回对象支持 tonumber tostring 等类型转换函数。

用于调用非声明式原生 API 函数的参数,
默认传值,参数@2为 true 则用于传址参数(传数值的指针)。

用于 COM 函数参数则总是传值, COM 函数也可使用 com.ulong 函数,
注意在原生类型中使用大写的 LONG 类型表示64位无符号整数

返回对象:rawNumberObject

raw.uword()

转换参数@1指定的数值为 WORD 类型数值(16位无符号整数)包装对象,
返回对象支持 tonumber tostring 等类型转换函数。

用于调用非声明式原生 API 函数的参数,
默认传值,参数@2为 true 则用于传址参数(传数值的指针)。

用于 COM 函数参数则总是传值, COM 函数也可使用 com.uword 函数,
注意在原生类型中使用大写的 WORD 类型表示16位无符号整数

返回对象:rawNumberObject

raw.word()

转换参数@1指定的数值为 word 类型数值(16位整数)包装对象,
返回对象支持 tonumber tostring 等类型转换函数。

用于调用非声明式原生 API 函数的参数,
默认传值,参数@2为 true 则用于传址参数(传数值的指针)。

用于 COM 函数参数则总是传值, COM 函数也可使用 com.word 函数

返回对象:rawNumberObject

rawNumberObject 成员列表

rawNumberObject.value

对象存储的数值

Markdown 格式