構成 | マクロ定義 | 型定義 | 関数
CriAtomEx PC API

構成

struct  CriAtomExConfigForUserPcmOutputTag
 Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtomEx_Initialize_PC 関数の引数に指定します。
[詳細]
struct  CriAtomConfigTag_PC
 Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtom_Initialize_PC 関数の引数に指定します。
[詳細]
struct  CriAtomExConfigTag_PC
 Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtomEx_Initialize_PC 関数の引数に指定します。
[詳細]

マクロ定義

#define criAtom_SetDefaultConfig_PC(p_config)
 ライブラリ初期化用コンフィグ構造体にデフォルト値をセット
#define criAtomEx_SetDefaultConfig_PC(p_config)
 ライブラリ初期化用コンフィグ構造体にデフォルト値をセット
#define criAtomEx_SetThreadPriority_PC(prio)   criAtom_SetThreadPriority_PC(prio)
 サーバ処理スレッドのプライオリティ変更
#define criAtomEx_GetThreadPriority_PC()   criAtom_GetThreadPriority_PC()
 サーバ処理スレッドのプライオリティ取得
#define criAtomEx_SetThreadAffinityMask_PC(mask)   criAtom_SetThreadAffinityMask_PC(mask)
 サーバ処理スレッドのアフィニティマスク変更
#define criAtomEx_GetThreadAffinityMask_PC()   criAtom_GetThreadAffinityMask_PC()
 サーバ処理スレッドのアフィニティマスクの取得
#define criAtomEx_CalculateWorkSizeForUserPcmOutput_PC(config)   criAtomEx_CalculateWorkSizeForUserPcmOutput(config)
 ユーザPCM出力方式用ワーク領域サイズ計算
#define criAtomEx_InitializeForUserPcmOutput_PC(config, work, work_size)   criAtomEx_InitializeForUserPcmOutput(config, work, work_size)
 ユーザPCM出力用ライブラリ初期化
#define criAtomEx_FinalizeForUserPcmOutput_PC()   criAtomEx_FinalizeForUserPcmOutput()
 ユーザPCM出力用ライブラリ終了処理

型定義

typedef struct
CriAtomExConfigForUserPcmOutputTag 
CriAtomExConfigForUserPcmOutput
 Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtomEx_Initialize_PC 関数の引数に指定します。

typedef struct CriAtomConfigTag_PC CriAtomConfig_PC
 Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtom_Initialize_PC 関数の引数に指定します。

typedef struct
CriAtomExConfigTag_PC 
CriAtomExConfig_PC
 Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtomEx_Initialize_PC 関数の引数に指定します。

関数

CriSint32 CRIAPI criAtomExAsr_GetPcmDataFloat32 (CriSint32 output_channels, CriSint32 output_samples, CriFloat32 *output_buffer[])
 PCMデータの取得
CriSint32 CRIAPI criAtomExAsr_GetNumBufferedSamples (void)
 PCMデータ残量の取得
void CRIAPI criAtomExAsr_SetPcmBufferSize (CriSint32 num_samples)
 PCMバッファサイズの指定
CriSint32 CRIAPI criAtomExAsrRack_GetPcmDataFloat32 (CriAtomExAsrRackId rack_id, CriSint32 output_channels, CriSint32 output_samples, CriFloat32 *output_buffer[])
 ASRラックのPCMデータの取得
CriSint32 CRIAPI criAtomExAsrRack_GetNumBufferedSamples (CriAtomExAsrRackId rack_id)
 ASRラックのPCMデータ残量の取得
CriSint32 CRIAPI criAtom_CalculateWorkSize_PC (const CriAtomConfig_PC *config)
 ライブラリ初期化用ワーク領域サイズの計算
void CRIAPI criAtom_Initialize_PC (const CriAtomConfig_PC *config, void *work, CriSint32 work_size)
 ライブラリの初期化
void CRIAPI criAtom_Finalize_PC (void)
 ライブラリの終了
void CRIAPI criAtom_SetThreadPriority_PC (int prio)
 サーバ処理スレッドのプライオリティ変更
int CRIAPI criAtom_GetThreadPriority_PC (void)
 サーバ処理スレッドのプライオリティ取得
void CRIAPI criAtom_SetThreadAffinityMask_PC (DWORD_PTR mask)
 サーバ処理スレッドのアフィニティマスク変更
DWORD_PTR CRIAPI criAtom_GetThreadAffinityMask_PC (void)
 サーバ処理スレッドのアフィニティマスクの取得
CriSint32 CRIAPI criAtomEx_CalculateWorkSize_PC (const CriAtomExConfig_PC *config)
 ライブラリ初期化用ワーク領域サイズの計算
void CRIAPI criAtomEx_Initialize_PC (const CriAtomExConfig_PC *config, void *work, CriSint32 work_size)
 ライブラリの初期化
void CRIAPI criAtomEx_Finalize_PC (void)
 ライブラリの終了

説明


マクロ定義

#define criAtom_SetDefaultConfig_PC (   p_config)
値:
{                                                           \
    criAtom_SetDefaultConfig(&(p_config)->atom);            \
    criAtomAsr_SetDefaultConfig(&(p_config)->asr);          \
    criAtomHcaMx_SetDefaultConfig(&(p_config)->hca_mx);     \
}

ライブラリ初期化用コンフィグ構造体にデフォルト値をセット

引数:
[out]p_config初期化用コンフィグ構造体へのポインタ
説明:
criAtom_Initialize_PC 関数に設定するコンフィグ構造体 ( CriAtomConfig_PC )に、デフォルトの値をセットします。
注意:
本マクロは下位レイヤ向けのAPIです。
AtomExレイヤの機能を利用する際には、本マクロの代わりに criAtomEx_SetDefaultConfig_PC マクロをご利用ください。
参照:
CriAtomConfig_PC
#define criAtomEx_SetDefaultConfig_PC (   p_config)
値:
{                                                           \
    criAtomEx_SetDefaultConfig(&(p_config)->atom_ex);       \
    criAtomExAsr_SetDefaultConfig(&(p_config)->asr);        \
    criAtomExHcaMx_SetDefaultConfig(&(p_config)->hca_mx);   \
}

ライブラリ初期化用コンフィグ構造体にデフォルト値をセット

引数:
[out]p_config初期化用コンフィグ構造体へのポインタ
説明:
criAtomEx_Initialize_PC 関数に設定するコンフィグ構造体 ( CriAtomExConfig_PC )に、デフォルトの値をセットします。
参照:
CriAtomExConfig_PC
#define criAtomEx_SetThreadPriority_PC (   prio)    criAtom_SetThreadPriority_PC(prio)

サーバ処理スレッドのプライオリティ変更

引数:
[in]prioスレッドプライオリティ
説明:
サーバ処理(ライブラリの内部処理)を行うスレッドのプライオリティを変更します。
デフォルト状態(本関数を実行しない場合)では、サーバ処理スレッドのプライオリティは THREAD_PRIORITY_HIGHEST に設定されます。
注意:
: 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( CRIATOM_THREAD_MODEL_MULTI )に設定した場合にのみ効果を発揮します。
他のスレッドモデルを選択した場合、本関数は何も処理を行いません。
(エラーコールバックが発生します。)

本関数は初期化後〜終了処理前の間に実行する必要があります。
初期化前や終了処理後に本関数を実行しても、効果はありません。
(エラーコールバックが発生します。)

サーバ処理スレッドは、CRI File Systemライブラリでも利用されています。
すでにCRI File SystemライブラリのAPIでサーバ処理スレッドの設定を変更している場合 本関数により設定が上書きされますのでご注意ください。
参照:
criAtomEx_Initialize_PC, criAtomEx_GetThreadPriority_PC
#define criAtomEx_GetThreadPriority_PC ( )    criAtom_GetThreadPriority_PC()

サーバ処理スレッドのプライオリティ取得

戻り値:
int スレッドプライオリティ
説明:
サーバ処理(ライブラリの内部処理)を行うスレッドのプライオリティを取得します。
取得に成功すると、本関数はサーバ処理を行うスレッドのプライオリティを返します。
取得に失敗した場合、本関数は THREAD_PRIORITY_ERROR_RETURN を返します。
注意:
: 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( CRIATOM_THREAD_MODEL_MULTI )に設定した場合にのみ効果を発揮します。
他のスレッドモデルを選択した場合、本関数はエラー値を返します。
(エラーコールバックが発生します。)

本関数は初期化後〜終了処理前の間に実行する必要があります。
初期化前や終了処理後に本関数を実行した場合、本関数はエラー値を返します。
(エラーコールバックが発生します。)
参照:
criAtomEx_Initialize_PC, criAtomEx_SetThreadPriority_PC
#define criAtomEx_SetThreadAffinityMask_PC (   mask)    criAtom_SetThreadAffinityMask_PC(mask)

サーバ処理スレッドのアフィニティマスク変更

引数:
[in]maskスレッドアフィニティマスク
説明:
サーバ処理(ライブラリの内部処理)を行うスレッドのアフィニティマスクを変更します。
デフォルト状態(本関数を実行しない場合)では、サーバ処理が動作するプロセッサは 一切制限されません。
注意:
: 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( CRIATOM_THREAD_MODEL_MULTI )に設定した場合にのみ効果を発揮します。
他のスレッドモデルを選択した場合、本関数は何も処理を行いません。
(エラーコールバックが発生します。)

本関数は初期化後〜終了処理前の間に実行する必要があります。
初期化前や終了処理後に本関数を実行しても、効果はありません。
(エラーコールバックが発生します。)

サーバ処理スレッドは、CRI File Systemライブラリでも利用されています。
すでにCRI File SystemライブラリのAPIでサーバ処理スレッドの設定を変更している場合 本関数により設定が上書きされますのでご注意ください。
参照:
criAtomEx_Initialize_PC, criAtomEx_GetThreadAffinityMask_PC
#define criAtomEx_GetThreadAffinityMask_PC ( )    criAtom_GetThreadAffinityMask_PC()

サーバ処理スレッドのアフィニティマスクの取得

戻り値:
DWORD_PTR スレッドアフィニティマスク
説明:
サーバ処理(ライブラリの内部処理)を行うスレッドのアフィニティマスクを取得します。
取得に成功すると、本関数はサーバ処理を行うスレッドのアフィニティマスクを返します。
取得に失敗した場合、本関数は 0 を返します。
注意:
: 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( CRIATOM_THREAD_MODEL_MULTI )に設定した場合にのみ効果を発揮します。
他のスレッドモデルを選択した場合、本関数はエラー値を返します。
(エラーコールバックが発生します。)

本関数は初期化後〜終了処理前の間に実行する必要があります。
初期化前や終了処理後に本関数を実行した場合、本関数はエラー値を返します。
(エラーコールバックが発生します。)
参照:
criAtomEx_Initialize_PC, criAtomEx_SetThreadAffinityMask_PC
#define criAtomEx_CalculateWorkSizeForUserPcmOutput_PC (   config)    criAtomEx_CalculateWorkSizeForUserPcmOutput(config)

ユーザPCM出力方式用ワーク領域サイズ計算

引数:
[in]config初期化用コンフィグ構造体
戻り値:
CriSint32 ワーク領域サイズ
説明:
ユーザPCM出力方式でライブラリを初期化するために必要な、 ワーク領域のサイズを取得します。
備考:
ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomExConfig_PC )の内容によって変化します。

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意:
本関数は criAtomEx_InitializeForUserPcmOutput_PC 関数を使用してライブラリを初期化する場合に使用します。
criAtomEx_Initialize_PC 関数を使用する場合には、本関数ではなく criAtomEx_CalculateWorkSize_PC 関数を使用してワーク領域サイズを計算してください。
参照:
CriAtomExConfig_PC, criAtomEx_InitializeForUserPcmOutput_PC
#define criAtomEx_InitializeForUserPcmOutput_PC (   config,
  work,
  work_size 
)    criAtomEx_InitializeForUserPcmOutput(config, work, work_size)

ユーザPCM出力用ライブラリ初期化

引数:
[in]config初期化用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
説明:
ユーザPCM出力モードでライブラリを初期化します。

本関数を使用して初期化処理を行った場合、Atomライブラリは音声出力を行いません。
ユーザは criAtomExAsr_GetPcmDataFloat32 関数を使用してライブラリから定期的にPCMデータを取得し、 アプリケーション側で音声出力を行う必要があります。
注意:
本関数と以下の関数は併用できません。
参照:
CriAtomExConfig_PC, criAtomEx_FinalizeForUserPcmOutput_PC, criAtomExAsr_GetPcmDataFloat32, criAtomEx_CalculateWorkSizeForUserPcmOutput_PC
#define criAtomEx_FinalizeForUserPcmOutput_PC ( )    criAtomEx_FinalizeForUserPcmOutput()

ユーザPCM出力用ライブラリ終了処理

説明:
ユーザPCM出力モードで初期化されたライブラリに対し、終了処理を行います。
注意:
本関数は criAtomEx_InitializeForUserPcmOutput_PC 関数を使用してライブラリを初期化した場合に使用します。
criAtomEx_Initialize_PC 関数を使用した場合には、本関数ではなく criAtomEx_Finalize_PC 関数を使用して終了処理を行ってください。
参照:
criAtomEx_InitializeForUserPcmOutput_PC

型定義

Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtomEx_Initialize_PC 関数の引数に指定します。

参照:
criAtomEx_Initialize_PC, criAtomEx_SetDefaultConfig_PC

Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtom_Initialize_PC 関数の引数に指定します。

注意:
本構造体は下位レイヤ向けのAPIです。
AtomExレイヤの機能を利用する際には、本構造体の代わりに CriAtomExConfig_PC 構造体をご利用ください。
参照:
criAtom_Initialize_PC, criAtom_SetDefaultConfig_PC

Atomライブラリ初期化用コンフィグ構造体CRI Atomライブラリの動作仕様を指定するための構造体です。
criAtomEx_Initialize_PC 関数の引数に指定します。

参照:
criAtomEx_Initialize_PC, criAtomEx_SetDefaultConfig_PC

関数

CriSint32 CRIAPI criAtomExAsr_GetPcmDataFloat32 ( CriSint32  output_channels,
CriSint32  output_samples,
CriFloat32 *  output_buffer[] 
)

PCMデータの取得

引数:
[in]output_channels出力バッファのチャンネル数
[in]output_samples出力バッファに格納可能なサンプル数
[out]output_buffer出力バッファ
戻り値:
CriSint32 取得できたサンプル数
戻り値:
0以上取得できたサンプル数
負値エラーが発生
説明:
Atomライブラリの出力PCMデータを取得します。

本関数を使用するには、事前に criAtomEx_InitializeForUserPcmOutput 関数を使用してライブラリを初期化しておく必要があります。
注意:
本関数の呼び出しは、独立したスレッド上で定期的に行う必要があります。
現状、AtomライブラリのAPIには、 PCMデータが出力されるまで処理を返さないものがいくつか存在します。
(ボイスプールの破棄処理等。)
こういった関数と本関数とを同一スレッド上で順番に呼び出すと、 当該APIがPCMデータの出力を永遠に待ち続ける形になり、 処理が復帰しなくなる可能性があります。
参照:
criAtomEx_InitializeForUserPcmOutput
CriSint32 CRIAPI criAtomExAsr_GetNumBufferedSamples ( void  )

PCMデータ残量の取得

戻り値:
CriSint32 PCMデータ残量(サンプル数単位)
説明:
criAtomExAsr_GetPcmDataFloat32 関数で取得可能なサンプル数を返します。
参照:
criAtomExAsr_GetPcmDataFloat32
void CRIAPI criAtomExAsr_SetPcmBufferSize ( CriSint32  num_samples)

PCMバッファサイズの指定

引数:
[in]num_samplesPCMバッファサイズ(サンプル数単位)
説明:
Atomライブラリ内でPCMデータの保存に使用するバッファのサイズを指定します。
(サイズはサンプル数単位で指定します。)

バッファサイズに 0 を指定した場合、2V分のバッファが作成されます。
備考:
ユーザPCM出力方式でAtomライブラリを初期化した場合、 AtomライブラリはASRの出力結果をライブラリ内のバッファ(PCMバッファ)に保持します。
デフォルト状態では、PCMバッファのサイズはライブラリ初期化時のパラメータに応じて自動的に決定されますが、 本関数を実行することで、PCMバッファのサイズを任意のサイズに変更することが可能です。
注意:
PCMバッファの確保は criAtomEx_InitializeForUserPcmOutput 関数内で行われます。
そのため、本関数は criAtomEx_InitializeForUserPcmOutput 関数よりも先に実行する必要があります。

PCMバッファに蓄えられるPCMデータのサンプル数が、 ユーザがPCMデータを取得する間隔より少ない場合、 音途切れ等の問題が発生する可能性があります。
逆に、PCMバッファのサイズが大きすぎる場合、 発音開始からサウンド出力までの遅延が大きくなる可能性があります。

PC環境では、PCMバッファサイズを小さくした場合に再生が正しく行えるかどうかが、 サウンドデバイスの性能にも左右されます。
多くの環境で音途切れなく再生を行いたい場合には、 PCMバッファサイズにある程度大きめの値を指定するか、 または可能な限り短い間隔で criAtomExAsr_GetPcmDataFloat32 関数を実行してください。
CriSint32 CRIAPI criAtomExAsrRack_GetPcmDataFloat32 ( CriAtomExAsrRackId  rack_id,
CriSint32  output_channels,
CriSint32  output_samples,
CriFloat32 *  output_buffer[] 
)

ASRラックのPCMデータの取得

引数:
[in]rack_idASRラックID
[in]output_channels出力バッファのチャンネル数
[in]output_samples出力バッファに格納可能なサンプル数
[out]output_buffer出力バッファ
戻り値:
CriSint32 取得できたサンプル数
戻り値:
0以上取得できたサンプル数
負値エラーが発生
説明:
ASRラックの出力PCMデータを取得します。

本関数を使用するには、事前に criAtomEx_InitializeForUserPcmOutput 関数を使用してライブラリを初期化しておく必要があります。
注意:
本関数の呼び出しは、独立したスレッド上で定期的に行う必要があります。
現状、AtomライブラリのAPIには、 PCMデータが出力されるまで処理を返さないものがいくつか存在します。
(ボイスプールの破棄処理等。)
こういった関数と本関数とを同一スレッド上で順番に呼び出すと、 当該APIがPCMデータの出力を永遠に待ち続ける形になり、 処理が復帰しなくなる可能性があります。
参照:
criAtomEx_InitializeForUserPcmOutput
CriSint32 CRIAPI criAtomExAsrRack_GetNumBufferedSamples ( CriAtomExAsrRackId  rack_id)

ASRラックのPCMデータ残量の取得

戻り値:
CriSint32 PCMデータ残量(サンプル数単位)
説明:
criAtomExAsrRack_GetPcmDataFloat32 関数で取得可能なサンプル数を返します。
参照:
criAtomExAsrRack_GetPcmDataFloat32
CriSint32 CRIAPI criAtom_CalculateWorkSize_PC ( const CriAtomConfig_PC config)

ライブラリ初期化用ワーク領域サイズの計算

引数:
[in]config初期化用コンフィグ構造体
戻り値:
CriSint32 ワーク領域サイズ
説明:
ライブラリを使用するために必要な、ワーク領域のサイズを取得します。
備考:
ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomConfig_PC )の内容によって変化します。

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意:
本関数は下位レイヤ向けのAPIです。
AtomExレイヤの機能を利用する際には、本関数の代わりに criAtomEx_CalculateWorkSize_PC 関数をご利用ください。
参照:
CriAtomConfig_PC, criAtom_Initialize_PC
void CRIAPI criAtom_Initialize_PC ( const CriAtomConfig_PC config,
void *  work,
CriSint32  work_size 
)

ライブラリの初期化

引数:
[in]config初期化用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
説明:
ライブラリを初期化します。
ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。
(ライブラリの機能は、本関数を実行後、 criAtom_Finalize_PC 関数を実行するまでの間、 利用可能です。)

ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。
ライブラリが必要とするワーク領域のサイズは、初期化用コンフィグ構造体の内容に応じて 変化します。
ワーク領域サイズの計算には、 criAtom_CalculateWorkSize_PC 関数を使用してください。
備考:
criAtom_SetUserAllocator マクロを使用してアロケータを登録済みの場合、 本関数にワーク領域を指定する必要はありません。
( work に NULL 、 work_size に 0 を指定することで、登録済みのアロケータ から必要なワーク領域サイズ分のメモリが動的に確保されます。)
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意:
本関数は内部的に以下の関数を実行します。
本関数を実行する場合、上記関数を実行しないでください。

本関数を実行後、必ず対になる criAtom_Finalize_PC 関数を実行してください。
また、 criAtom_Finalize_PC 関数を実行するまでは、本関数を再度実行しないでください。

本関数は下位レイヤ向けのAPIです。
AtomExレイヤの機能を利用する際には、本関数の代わりに criAtomEx_Initialize_PC 関数をご利用ください。
参照:
CriAtomConfig_PC, criAtom_Finalize_PC, criAtom_SetUserAllocator, criAtom_CalculateWorkSize_PC
void CRIAPI criAtom_Finalize_PC ( void  )

ライブラリの終了

説明:
ライブラリを終了します。
注意:
本関数は内部的に以下の関数を実行します。
本関数を実行する場合、上記関数を実行しないでください。

criAtom_Initialize_PC 関数実行前に本関数を実行することはできません。

本関数は下位レイヤ向けのAPIです。
AtomExレイヤの機能を利用する際には、本関数の代わりに criAtomEx_Finalize_PC 関数をご利用ください。
参照:
criAtom_Initialize_PC
void CRIAPI criAtom_SetThreadPriority_PC ( int  prio)

サーバ処理スレッドのプライオリティ変更

引数:
[in]prioスレッドプライオリティ
説明:
サーバ処理(ライブラリの内部処理)を行うスレッドのプライオリティを変更します。
デフォルト状態(本関数を実行しない場合)では、サーバ処理スレッドのプライオリティは THREAD_PRIORITY_HIGHEST に設定されます。
注意:
: 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( CRIATOM_THREAD_MODEL_MULTI )に設定した場合にのみ効果を発揮します。
他のスレッドモデルを選択した場合、本関数は何も処理を行いません。
(エラーコールバックが発生します。)

本関数は初期化後〜終了処理前の間に実行する必要があります。
初期化前や終了処理後に本関数を実行しても、効果はありません。
(エラーコールバックが発生します。)

サーバ処理スレッドは、CRI File Systemライブラリでも利用されています。
すでにCRI File SystemライブラリのAPIでサーバ処理スレッドの設定を変更している場合 本関数により設定が上書きされますのでご注意ください。
参照:
criAtom_Initialize_PC, criAtom_GetThreadPriority_PC
int CRIAPI criAtom_GetThreadPriority_PC ( void  )

サーバ処理スレッドのプライオリティ取得

戻り値:
int スレッドプライオリティ
説明:
サーバ処理(ライブラリの内部処理)を行うスレッドのプライオリティを取得します。
取得に成功すると、本関数はサーバ処理を行うスレッドのプライオリティを返します。
取得に失敗した場合、本関数は THREAD_PRIORITY_ERROR_RETURN を返します。
注意:
: 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( CRIATOM_THREAD_MODEL_MULTI )に設定した場合にのみ効果を発揮します。
他のスレッドモデルを選択した場合、本関数はエラー値を返します。
(エラーコールバックが発生します。)

本関数は初期化後〜終了処理前の間に実行する必要があります。
初期化前や終了処理後に本関数を実行した場合、本関数はエラー値を返します。
(エラーコールバックが発生します。)
参照:
criAtom_Initialize_PC, criAtom_SetThreadPriority_PC
void CRIAPI criAtom_SetThreadAffinityMask_PC ( DWORD_PTR  mask)

サーバ処理スレッドのアフィニティマスク変更

引数:
[in]maskスレッドアフィニティマスク
説明:
サーバ処理(ライブラリの内部処理)を行うスレッドのアフィニティマスクを変更します。
デフォルト状態(本関数を実行しない場合)では、サーバ処理が動作するプロセッサは 一切制限されません。
注意:
: 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( CRIATOM_THREAD_MODEL_MULTI )に設定した場合にのみ効果を発揮します。
他のスレッドモデルを選択した場合、本関数は何も処理を行いません。
(エラーコールバックが発生します。)

本関数は初期化後〜終了処理前の間に実行する必要があります。
初期化前や終了処理後に本関数を実行しても、効果はありません。
(エラーコールバックが発生します。)

サーバ処理スレッドは、CRI File Systemライブラリでも利用されています。
すでにCRI File SystemライブラリのAPIでサーバ処理スレッドの設定を変更している場合 本関数により設定が上書きされますのでご注意ください。
参照:
criAtom_Initialize_PC, criAtom_GetThreadAffinityMask_PC
DWORD_PTR CRIAPI criAtom_GetThreadAffinityMask_PC ( void  )

サーバ処理スレッドのアフィニティマスクの取得

戻り値:
DWORD_PTR スレッドアフィニティマスク
説明:
サーバ処理(ライブラリの内部処理)を行うスレッドのアフィニティマスクを取得します。
取得に成功すると、本関数はサーバ処理を行うスレッドのアフィニティマスクを返します。
取得に失敗した場合、本関数は 0 を返します。
注意:
: 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( CRIATOM_THREAD_MODEL_MULTI )に設定した場合にのみ効果を発揮します。
他のスレッドモデルを選択した場合、本関数はエラー値を返します。
(エラーコールバックが発生します。)

本関数は初期化後〜終了処理前の間に実行する必要があります。
初期化前や終了処理後に本関数を実行した場合、本関数はエラー値を返します。
(エラーコールバックが発生します。)
参照:
criAtom_Initialize_PC, criAtom_SetThreadAffinityMask_PC
CriSint32 CRIAPI criAtomEx_CalculateWorkSize_PC ( const CriAtomExConfig_PC config)

ライブラリ初期化用ワーク領域サイズの計算

引数:
[in]config初期化用コンフィグ構造体
戻り値:
CriSint32 ワーク領域サイズ
説明:
ライブラリを使用するために必要な、ワーク領域のサイズを取得します。
備考:
ライブラリが必要とするワーク領域のサイズは、ライブラリ初期化用コンフィグ 構造体( CriAtomExConfig_PC )の内容によって変化します。

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意:
CriAtomExConfig 構造体のacf_infoメンバに値を設定している場合、本関数は失敗し-1を返します。
初期化処理内でACFデータの登録を行う場合は、本関数値を使用したメモリ確保ではなくADX2システムによる メモリアロケータを使用したメモリ確保処理が必要になります。
参照:
CriAtomExConfig_PC, criAtomEx_Initialize_PC
void CRIAPI criAtomEx_Initialize_PC ( const CriAtomExConfig_PC config,
void *  work,
CriSint32  work_size 
)

ライブラリの初期化

引数:
[in]config初期化用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
説明:
ライブラリを初期化します。
ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。
(ライブラリの機能は、本関数を実行後、 criAtomEx_Finalize_PC 関数を実行するまでの間、 利用可能です。)

ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。
ライブラリが必要とするワーク領域のサイズは、初期化用コンフィグ構造体の内容に応じて 変化します。
ワーク領域サイズの計算には、 criAtomEx_CalculateWorkSize_PC 関数を使用してください。
備考:
criAtomEx_SetUserAllocator マクロを使用してアロケータを登録済みの場合、 本関数にワーク領域を指定する必要はありません。
( work に NULL 、 work_size に 0 を指定することで、登録済みのアロケータ から必要なワーク領域サイズ分のメモリが動的に確保されます。)
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意:
本関数は内部的に以下の関数を実行します。
本関数を実行する場合、上記関数を実行しないでください。

本関数を実行後、必ず対になる criAtomEx_Finalize_PC 関数を実行してください。
また、 criAtomEx_Finalize_PC 関数を実行するまでは、本関数を再度実行しないでください。
参照:
CriAtomExConfig_PC, criAtomEx_Finalize_PC, criAtomEx_SetUserAllocator, criAtomEx_CalculateWorkSize_PC
void CRIAPI criAtomEx_Finalize_PC ( void  )

ライブラリの終了

説明:
ライブラリを終了します。
注意:
本関数は内部的に以下の関数を実行します。
本関数を実行する場合、上記関数を実行しないでください。

criAtomEx_Initialize_PC 関数実行前に本関数を実行することはできません。
参照:
criAtomEx_Initialize_PC

CRI Middleware logo Copyright (c) 2012-2018 CRI Middleware Co., Ltd. CRI ADX2 LE マニュアル (for Cocos2d-x) SDKVer.2.10版