#define SMP_ERROR_STR_LENGTH (256) static CriChar8 g_smp_error_msg[SMP_ERROR_STR_LENGTH]; { /* エラーコールバック関数の登録 */ criErr_SetCallback(user_error_callback_func); /* ライブラリの初期化 */ criAtomEx_Initialize(NULL, NULL, 0); : : : } /* エラーコールバック関数 */ static void user_error_callback_func(const Char8 *errid, Uint32 p1, Uint32 p2, Uint32 *parray) { const Char8 *errmsg; UNUSED(parray); /* エラー文字列の表示 */ errmsg = criErr_ConvertIdToMessage(errid, p1, p2); criFwPrt_DebugPrintf("%s\n", errmsg); /* アプリケーション側のグローバル領域にエラーメッセージを保存 */ /* 備考)エラーコールバックはメインスレッド以外でも発生する可能性があるため、 グローバルな資源にアクセスする場合は排他制御に注意する必要がある。 */ smputl_strcpy(g_smp_error_msg, errmsg); return; }