CのメインAPIの初期化

プログラムは他のEssbase API関数を呼び出す前に、EssInit()を呼び出して、APIの初期化を行う必要がありますEssInit()ではすべての内部API変数を初期化し、プログラム要件に合わせてAPIのカスタマイズを行うことができます。

呼出しプログラムはEssInit()関数に初期化構造体を渡す必要があります。この構造体はESSAPI.HでESS_INIT_Tタイプとして定義されます。APIのカスタマイズに使用される一連のフィールドが含まれており、特定のAPIデフォルトを設定します。EssInit()を呼び出す前に、この構造体のインスタンスを宣言して、該当するフィールドを初期化する必要があります。

EssInit()関数はインスタンス・ハンドルを戻します。インスタンス・ハンドルは、APIログイン関数へ引数として渡す必要があります。

初期化構造体の宣言

EssInit()に渡される初期化構造体は通常、呼出し関数内でローカル(すなわちスタック)として宣言されます。これは、一旦EssInit()に渡されたら通常は必要ないからです。あるいは、EssInit()を呼び出す前に構造体を割り当てて、戻ってきたら解放することもできます。

初期化呼び出しで初期化構造体がカスタム・メモリー管理関数を参照する場合、正しいメモリー割当ての仕組みによって構造体が解放されるプログラムを作成してください。

初期化構造体のフィールドに0またはNULLポインタが設定されていると、フィールドではAPI内部のデフォルト値が使用されます。

フィールドを設定してAPI関数を呼び出す前に、すべての構造体を消去(0に設定)することをお薦めします。