表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
値を渡すと、デフォルトのプロセス・メモリー割当てメカニズムが使用されます。
関連項目:
|