arm_init_application() - ARM アプリケーションの定義

標準

標準/拡張機能 C/C++ 依存項目
  両方  

形式

#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
セキュリティー・プロダクトでエラーが発生しました。

関連情報