签名
typedef FREObject (*FREFunction)(
FREContext ctx,
void* functionData,
uint32_t argc,
FREObject argv[]
);
参数
-
ctx
-
表示此扩展上下文的 FREContext 变量。请参阅
FREContext
。
-
functionData
-
void* 指针,此指针指向您在其 FRENamedFunction 结构中与此 FREFunction 函数关联的数据。FREContextInitializer() 实现在输出参数中将一组 FRENamedFunction 结构传递给运行时。当运行时调用 FREFunction 函数时,它会向该函数传递此数据指针。请参阅
FRENamedFunction
。
-
argc
-
argv
参数中元素的数量。
-
argv
-
FREObject 变量数组。这些指针对应于在 ActionScript 调用中的函数名称后面传递给 ExtensionContext 实例的
call()
方法的参数。
返回
FREObject 变量。默认返回值是类型为
FRE_INVALID_OBJECT
的 FREObject。
说明
对扩展中的每个本机函数使用 FREFunction 签名实现函数。函数名称对应于
FREContextInitializer()
函数的
functionsToSet
参数中返回的数组中的 FRENamedFunction 元素的
function
字段。
当 ActionScript 端调用 ExtensionContext 实例的
call()
方法时,运行时调用此 FREFunction 函数。
call()
的第一个参数与 FRENamedFunction 元素的
name
字段相同。
call()
的后续参数对应于
argv
数组中的 FREObject 变量。
定义 FREFunction 可返回 FREObject 变量。FREObject 变量的类型对应于
call()
方法返回的 ActionScript 类型。如果 FREFunction 无返回值,则默认返回值是类型为
FRE_INVALID_OBJECT
的 FREObject 变量。默认返回值会导致
call()
在 ActionScript 端返回
null
。
使用
ctx
参数可执行以下操作:
使用
所使用的函数
中的函数处理 FREObject 参数和返回值(如果有)。
|
|
|