形式
#include <sys/_Elmarm4.h>
arm_error_t arm_init_application(
/* [in] */ arm_string_t application_name,
/* [in] */ arm_string_t application_group_name,
/* [in] */ arm_string_t application_instance_name,
/* [in] */ arm_int32_t flags,
/* [in] */ arm_buffer4_t *buffer4,
/* [in/out] */ arm_appl_id_t *application_id
);
機能説明
arm_init_application() は、アプリケーションを定義するために使用します。
この関数は、他の ARM API 呼び出しの前に呼び出さなければなりません。
一般的には、この関数はアプリケーションの初期化のときに呼び出します。
アプリケーションが複数のプロセスとして存在する場合、そのアプリケーション
は arm_init_application() を各プロセスで呼び出さなければなりません。
これは、eWLM が、各プロセスはアプリケーションにどのように寄与しているか
を知るために必要です。
1 つのプロセス内から複数のアプリケーションが登録することができます。
これは、同じプロセス内に複数の外部関数がパッケージされている場合に役立ちま
す。
arm_init_application() は、ARM 2.0 の arm_init 関数と等価の ARM 4.0 版で
す。
- application_name
- このアプリケーションを包括的に識別するための名前。
最大長は、ヌル・ストリング終了文字を含めて 128 字です。
- application_group_name
- このインスタンスが属しているアプリケーション・インスタンスのグループの
名前。
最大長は、ヌル・ストリング終了文字を含めて 256 字です。
値が必要ない場合、NULL ポインターを渡してください。
- application_instance_name
- アプリケーションの、このインスタンスの名前。
最大長は、ヌル・ストリング終了文字を含めて 256 字です。
値が必要ない場合、NULL ポインターを渡してください。
- flags
- 1 つのフラグが定義されます。
ARM_INIT_FLAG_ID_INPUT は、アプリケーション ID が入力であるのか (フラグ
は 1)、または出力であるのか (フラグはゼロ) を示します。
下記のアプリケーション ID パラメーターを参照してください。
他のフラグ・ビットはすべて予約されており、ゼロでなければなりません。
- buffer4
- 追加データが入っている 1 つ以上のサブバッファーを識別するバッファーへのポインター。
現在は、この関数にサブバッファーは定義されていないので、NULL ポインターを渡
してください。
バッファーが渡されても、eWLM はそれを無視します。
- application_id
- アプリケーションを識別する 64 ビット域ハンドルへのポインター。
アプリケーションがそれ自身のハンドルを定義して、それを入力として渡すことも
できるし、eWLM がハンドルを生成して、それを戻すようにもできます。
その選択は、フラグ ARM_INIT_FLAG_ID_INPUT で示されます。
このハンドルは、arm_init_transaction_type() と arm_end_application() に渡す
必要があります。
ハンドルは、呼び出し元のプロセス内で定義されるだけです。
戻り値
正常に実行されると、arm_init_application は ARM_RC_SUCCESS を戻します。
失敗した場合、エラーを示す errno と戻りコードが設定されます。考えられるすべての戻りコードのリストについては、
戻りコードを参照してください。失敗すると、application_id は、後で他のインターフェースの呼び出しに使用でき
るダミー値に設定されます。
このようなインターフェースは、application_id にはダミー値が入っていることを認識し、何も処理を実行せずに戻ります。
- エラー・コード
- 説明
- EFAULT
- このサービスのパラメーターに、呼び出し元がアクセスできないアドレスが
入っていました。
- EINVAL
- このサービスのパラメーターに、無効な値が入っていました。
- EMVSARMERROR
- ARM エラーが発生しました。
具体的なエラーの戻りコードを参照してください。
- EPERM
- 呼び出し元に適切な特権がありません。戻りコードは ARM_RC_AUTH_ERROR に設定されます。
- EMVSSAF2ERR
- セキュリティー・プロダクトでエラーが発生しました。