29.3 カートリッジ・サービス: メモリー・サービス
カートリッジ・サービスのメモリー・サービス関数をリストし、説明します。
表29-2は、この項で説明しているメモリー・サービス関数を示しています。
表29-2 メモリー・サービス関数
関数 | 用途 |
---|---|
ユーザー期間を開始します。 |
|
ユーザー期間を終了します。 |
|
指定の継続時間から指定サイズのメモリーを割り当てます。 |
|
メモリー・チャンクを解放します。 |
|
メモリー・チャンクをサイズ変更します。 |
関連項目:
これらの関数の使用方法の詳細は、『Oracle Databaseデータ・カートリッジ開発者ガイド』を参照してください
29.3.1 OCIDurationBegin()
ユーザー期間を開始します。
用途
ユーザー期間を開始します。
構文
sword OCIDurationBegin ( OCIEnv *env, OCIError *err, const OCISvcCtx *svc, OCIDuration parent, OCIDuration *duration );
パラメータ
- env (IN/OUT)
-
OCI環境ハンドルです。これは、カートリッジ・サービスに対して
NULL
として渡されます。 - err (IN/OUT)
-
OCIエラー・ハンドルです。エラーがある場合は、
err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()
のコールによって診断情報を取得できます。 - svc (IN)
-
OCIサービス・コンテキスト・ハンドルです。
- parent (IN)
-
親の継続時間の時間番号です。次のいずれかです。
-
以前に作成されたユーザー期間
-
OCI_DURATION_STATEMENT
-
OCI_DURATION_SESSION
コメント
この関数によってユーザー期間が開始されます。ユーザーは複数のアクティブなユーザー期間を同時に利用できます。ユーザー期間をネストする必要はありません。duration
パラメータは、このコールによって作成された期間を識別するための一意の番号を戻すために使用します。
環境パラメータとサービス・コンテキスト・パラメータの両方をNULL
にすることはできません。
関連トピック
29.3.2 OCIDurationEnd()
ユーザー期間を終了します。
用途
ユーザー期間を終了します。
構文
sword OCIDurationEnd ( OCIEnv *env, OCIError *err, const OCISvcCtx *svc, OCIDuration duration );
パラメータ
コメント
この関数によってユーザー期間が終了します。
環境パラメータとサービス・コンテキスト・パラメータの両方をNULL
にすることはできません。
29.3.3 OCIMemoryAlloc()
指定の継続時間から指定サイズのメモリーを割り当てます。
用途
指定の継続時間から指定サイズのメモリーを割り当てます。
構文
sword OCIMemoryAlloc( void *hndl, OCIError *err, void **mem, OCIDuration dur, ub4 size, ub4 flags );
パラメータ
- hndl (IN)
-
dur
がOCI_DURATION_PROCESS
の場合、OCI環境ハンドル(OCIEnv *
)で、それ以外の場合はユーザー・セッション・ハンドル(OCISession *
)です。 - err (IN)
-
エラー・ハンドルです。
- mem (OUT)
-
割り当てられたメモリーです。
- dur (IN)
-
以前に作成されたユーザー期間または次の値のいずれかです。
OCI_DURATION_CALLOUT
OCI_DURATION_STATEMENT
OCI_DURATION_SESSION
OCI_DURATION_PROCESS
- size (IN)
-
割り当てられるメモリーのサイズです。
- flags (IN)
-
OCI_MEMORY_CLEARED
ビットを設定して、消去されたメモリーを取得します。
コメント
エージェントのコールアウトの継続時間(外部プロシージャ継続時間)にメモリーを割り当てるには、OCIExtProcAllocCallMemory()
またはdur
をOCI_DURATION_CALLOUT
として指定するOCIMemoryAlloc()
を使用します。
戻り値
エラー・コードを戻します。
関連トピック
29.3.4 OCIMemoryFree()
メモリー・チャンクを解放します。
用途
メモリー・チャンクを解放します。
構文
sword OCIMemoryFree ( void *hndl, OCIError *err, void *mem );
パラメータ
戻り値
エラー・コードを戻します。
関連トピック