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 へのポインター。このパラメーターは、null 終端文字を含む UTF8 エンコーディング文字列です。ランタイムは、StatusEvent オブジェクトの level プロパティをこの値に設定します。

戻り値

FREResult。戻り値には、以下が含まれます(ただし、これらに限定されません)。

FRE_OK
関数は成功しました。

FRE_INVALID_ARGUMENT
ctx code または level パラメーターは NULL です。 ctx が有効でない場合も、ランタイムはこの値を返します。

説明

ActionScript StatusEvent イベントを送出するには、この関数を呼び出します。イベントターゲットは、ランタイムが ctx パラメーターによって指定されたコンテキストと関連付けた ActionScript ExtensionContext インスタンスです。

通常、この関数が送出するイベントは非同期です。例えば、拡張メソッドから、タスクを実行するための別のスレッドを開始させることができます。他のスレッドのタスクが完了すると、そのスレッドは FREDispatchStatusEventAsync() を呼び出して、ActionScript ExtensionContext インスタンスに通知します。

注意: FREDispatchStatusEventAsync() 関数は、ネイティブ実装のスレッドから呼び出すことのできる唯一の C API です。

無効な引数が 1 つもない限り、 FREDispatchStatusEventAsync() FRE_OK を返します。ただし、 FRE_OK が返されたことが、イベントが送出されたことを示すわけではありません。次の場合には、ランタイムはイベントを送出しません。

  • ランタイムがすでに ExtensionContext インスタンスを破棄している場合。

  • ランタイムが ExtensionContext インスタンスの破棄を処理中である場合。

  • ExtensionContext インスタンスが参照を持っていない場合。ランタイムのガベージコレクターがインスタンスを破棄できる状態にあります。

code および level パラメーターを、null 終端文字を含む UTF8 エンコーディング文字列値に設定します。これらの値は任意に設定できますが、ActionScript 側の拡張に合わせて調整してください。