FREDispatchStatusEventAsync()

AIR 3.0 和更高版本

用法

FREResult FREDispatchStatusEventAsync( 
            FREContext                 ctx, 
            const uint8_t*                 code, 
            const uint8_t*                 level 
);

参数

ctx
FREContext,此值为扩展上下文在其上下文初始化函数中接收到的 FREContext 变量。

code
指向 uint8_t 的指针。运行时将 StatusEvent 对象的 code 属性设置为此值。字符串使用 UTF-8 编码,并以 null 字符终止。

level
指向 uint8_t 的指针。此参数是一个 UTF8 编码的字符串,以 null 终止。运行时将 StatusEvent 对象的 level 属性设置为此值。

返回

FREResult,可能的返回值包括(但不限于)下列值:

FRE_OK
函数已成功。

FRE_INVALID_ARGUMENT
ctx code level 参数为 NULL 。如果 ctx 无效,运行时也会返回此值。

说明

调用此函数可调度 ActionScript StatusEvent 事件。事件的目标是运行时将其与 ctx 参数指定的上下文关联的 ActionScript ExtensionContext 实例。

通常,此函数调度的事件为异步事件。例如,扩展方法可启动另一线程来执行某项任务。当其他线程中的任务完成后,该线程会调用 FREDispatchStatusEventAsync() 以通知 ActionScript ExtensionContext 实例。

注: FREDispatchStatusEventAsync() 函数是您可从本机实现的任意线程中调用的唯一 C API。

除非其中的一个参数无效,否则 FREDispatchStatusEventAsync() 将返回 FRE_OK 。但是,返回 FRE_OK 并不表示已调度了事件。在下列情况下,运行时不会调度事件:

  • 运行时已释放 ExtensionContext 实例。

  • 运行时正在释放 ExtensionContext 实例。

  • ExtensionContext 实例没有任何引用。应由运行时垃圾回收器来释放该实例。

code level 参数设置为任何以 null 终止且采用 UTF8 编码的字符串值。这些值可以为所需的任何值,但必须将其与扩展的 ActionScript 端保持一致。

示例