表E-2は、この項で説明している非推奨の初期化関数を示しています。
パラメータ
環境へのハンドルのポインタです。
環境モードの初期化を指定します。次のモードが有効です。
OCI_DEFAULT
OCI_ENV_NO_UCB
OCI_DEFAULTモードの場合、OCIライブラリでハンドルが常にmutex化されます。
OCI_ENV_NO_UCBモードは、環境の初期化時に動的コールバック・ルーチンOCIEnvCallbackのコールを抑止するために使用します。デフォルトでは、このコールは抑止されません。
環境の継続時間中に割り当てられるユーザー・メモリーの量を指定します。
環境の継続時間中コールによってユーザー用に割り当てられた、xtramemszサイズのユーザー・メモリーのポインタを戻します。
コメント
|
注意: OCIEnvCreate()は、OCIInitialize()コールおよびOCIEnvInit()コールのかわりに使用します。OCIInitialize()およびOCIEnvInit()コールは、下位互換性を保つためにサポートされています。 |
このコールは、OCI環境ハンドルの割当ておよび初期化を行います。初期化済のハンドルには何も行いません。OCI_ERRORまたはOCI_SUCCESS_WITH_INFOが戻った場合は、この環境ハンドルを使用してOracle固有のエラーおよび診断を取得できます。
これはローカルに処理され、サーバー・ラウンドトリップはありません。
環境ハンドルは、OCIHandleFree()を使用して解放できます。
構文
sword OCIInitialize ( ub4 mode,
const void *ctxp,
const void *(*malocfp)
( void *ctxp,
size_t size ),
const void *(*ralocfp)
( void *ctxp,
void *memptr,
size_t newsize ),
const void (*mfreefp)
( void *ctxp,
void *memptr ));
パラメータ
モードの初期化を指定します。次のモードが有効です。
OCI_DEFAULT - デフォルト・モード。
OCI_THREADED - スレッド環境。このモードでは、ユーザーに公開されていない内部データ構造がマルチ・スレッドによって同時にアクセスされないように保護します。
OCI_OBJECT - オブジェクト機能を使用します。
OCI_EVENTS - パブリッシュ/サブスクライブ通知を利用します。
メモリー・コールバック・ルーチン用のユーザー定義コンテキストです。
ユーザー定義のメモリー割当て関数です。modeがOCI_THREADEDの場合、このメモリー割当てルーチンは、スレッド・セーフにしてください。
ユーザー定義のメモリー割当て関数のためのコンテキスト・ポインタです。
ユーザー定義のメモリー割当て関数によって割り当てられるメモリーのサイズです。
ユーザー定義のメモリー再割当て関数です。modeがOCI_THREADEDの場合、このメモリー割当てルーチンは、スレッド・セーフにしてください。
ユーザー定義のメモリー再割当て関数のためのコンテキスト・ポインタです。
メモリー・ブロックのポインタです。
新しく割り当てられるメモリーのサイズです。
ユーザー定義のメモリー解放関数です。modeがOCI_THREADEDの場合、このメモリー解放ルーチンは、スレッド・セーフにしてください。
ユーザー定義のメモリー解放関数のためのコンテキスト・ポインタです。
解放されるメモリーへのポインタです。
コメント
このコールは、OCIプロセス環境を初期化します。OCIInitialize()は、他のOCIをコールする前にコールする必要があります。
この関数を使用すると、アプリケーションでコールバックを使用して固有のメモリー管理関数を定義できます。アプリケーションでこのようなメモリー管理関数(つまりメモリー割当て、メモリー再割当ておよびメモリー解放)がすでに定義されている場合は、この関数のコールバック・パラメータを使用して登録する必要があります。
これらのメモリー・コールバックはオプションです。アプリケーションで、この関数のメモリー・コールバックにNULL値を渡すと、デフォルトのプロセス・メモリー割当てメカニズムが使用されます。
|
関連項目:
|