シグネチャ
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 変数の配列。これらのポインターは、ExtensionContext インスタンスの
call()
メソッドへの ActionScript の呼び出しで、関数名の後に渡されるパラメーターに対応します。
戻り値
FREObject 変数。デフォルトの戻り値は、
FRE_INVALID_OBJECT
型の FREObject です。
説明
拡張内のネイティブ関数ごとに、FREFunction シグネチャを使用して関数を実装します。関数名は、
FREContextInitializer()
関数の
functionsToSet
パラメーターに返される配列内の、FRENamedFunction エレメントの
function
フィールドに対応します。
ActionScript 側で ExtensionContext インスタンスの
call()
メソッドを呼び出すと、ランタイムがこの FREFunction 関数を呼び出します。
call()
の最初のパラメーターは、FRENamedFunction エレメントの
name
フィールドと同じです。それ以降の
call()
パラメーターは、
argv
配列内の FREObject 変数に対応します。
FREObject 変数を返すには、FREFunction を定義します。FREObject 変数の型は、
call()
メソッドが返す ActionScript の型に対応します。FREFunction が戻り値を持たない場合、デフォルトの戻り値は
FRE_INVALID_OBJECT
型の FREObject 変数です。このデフォルトの戻り値の結果、ActionScript 側では
call()
が
null
を返します。
ctx
パラメーターは次の場合に使用します。
-
拡張に関連付けるデータを取得または設定する場合。このデータは、ネイティブコンテキストデータと ActionScript コンテキストデータのどちらの可能性もあります。
コンテキスト固有データ
を参照してください。
-
ActionScript 側の ExtensionContext インスタンスに非同期イベントを送出する場合。
FREDispatchStatusEventAsync()
を参照してください。
FREObject パラメーターおよび戻り値を操作する場合は、
ユーザー使用関数
の関数を使用します。
|
|
|