ヘッダーをスキップ
Oracle Call Interfaceプログラマーズ・ガイド
11g リリース1(11.1)
E05677-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

OCIメッセージ関数

ユーザー・メッセージAPIは、カートリッジ開発者がユーザー・メッセージおよびOracleメッセージを取り出せる、単純なインタフェースを提供します。


関連項目:


『Oracle Databaseデータ・カートリッジ開発者ガイド』

表22-8に、OCIメッセージ関数を示します。

表22-8 OCIメッセージ関数

関数 用途

OCIMessageClose()


メッセージ・ハンドルをクローズし、ハンドルに関連するすべてのメモリーを解放します。

OCIMessageGet()


メッセージを取り出します。バッファが0(ゼロ)でない場合、この関数は、バッファにメッセージをコピーします。

OCIMessageOpen()


指定された言語でメッセージ・ハンドルをオープンします。



OCIMessageClose()

用途

メッセージ・ハンドルをクローズし、このハンドルに関連するすべてのメモリーを解放します。

構文

sword OCIMessageClose ( void      *hndl,
                        OCIError  *errhp,
                        OCIMsg    *msgh );

パラメータ

hndl (IN/OUT)

メッセージ言語のOCI環境ハンドルまたはユーザー・セッション・ハンドルへのポインタです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errhpに記録され、NULLポインタが戻されます。OCIErrorGet()のコールによって診断情報を取得できます。

msgh (IN/OUT)

OCIMessageOpen()によってすでにオープンされているメッセージ・ハンドルへのポインタです。

戻り値

OCI_SUCCESSOCI_INVALID_HANDLEまたはOCI_ERROR


OCIMessageGet()

用途

指定されたメッセージ番号のメッセージを取り出します。

構文

OraText *OCIMessageGet ( OCIMsg      *msgh,
                         ub4         msgno,
                         OraText     *msgbuf,
                         size_t      buflen );

パラメータ

msgh (IN/OUT)

OCIMessageOpen()によってすでにオープンされているメッセージ・ハンドルへのポインタです。

msgno (IN)

メッセージ番号です。

msgbuf (OUT)

取り出したメッセージの宛先バッファへのポインタです。buflenが0(ゼロ)の場合、NULLポインタを使用できます。

buflen (IN)

宛先バッファのサイズです。

コメント

buflenが0(ゼロ)でない場合、この関数は、msgbufが指し示すバッファにメッセージをコピーします。buflenが0(ゼロ)の場合、msghが指し示すメッセージ・ハンドル内のメッセージ・バッファにメッセージがコピーされます。

戻り値

NULLで終了するメッセージ文字列へのポインタが戻されます。翻訳されたメッセージが検出できない場合、同等の英語のメッセージが戻されます。同等の英語のメッセージが検出できない場合、NULLポインタが戻されます。


OCIMessageOpen()

用途

指定された言語でメッセージ処理機能をオープンします。

構文

sword OCIMessageOpen ( void             *hndl,
                       OCIError         *errhp,
                       OCIMsg           *msghp,
                       const OraText    *product,
                       const OraText    *facility,
                       OCIDuration      dur );

パラメータ

hndl (IN/OUT)

メッセージ言語のOCI環境ハンドルまたはユーザー・セッション・ハンドルへのポインタです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errhpに記録され、NULLポインタが戻されます。OCIErrorGet()のコールによって診断情報を取得できます。

msghp (OUT)

戻りのためのメッセージ・ハンドルです。

product (IN)

製品名へのポインタです。製品名は、メッセージのディレクトリを検出するために使用されます。位置は、オペレーティング・システムによって異なります。たとえば、Solarisの場合、rdbms製品のメッセージ・ファイルのディレクトリは$ORACLE_HOME/rdbmsです。

facility (IN)

製品の機能名へのポインタです。メッセージ・ファイル名を構成するために使用されます。メッセージ・ファイル名は、変換の後、facilityを接頭辞とします。たとえば、img機能の米英語のメッセージ・ファイル名はimgus.msbです。usは米英語の略称で、msbはメッセージ・バイナリ・ファイル拡張子です。

dur (IN)

戻りメッセージ・ハンドルのメモリー割当ての継続期間です。次のいずれかの値です。

コメント

まず、hndlに対応するメッセージ・ファイルをオープンします。オープンに成功すると、そのファイルを使用してメッセージ・ハンドルを初期化します。言語に対応するメッセージ・ファイルが検出できない場合、代替として主要言語ファイルを検索します。たとえば、南米スペイン語のファイルが検出できない場合、スペイン語のファイルをオープンします。代替手段が失敗すると、言語がAMERICANであるデフォルトのメッセージ・ファイルを使用します。関数は、msghpパラメータにメッセージ・ハンドルへのポインタを戻します。

戻り値

OCI_SUCCESSOCI_INVALID_HANDLEまたはOCI_ERROR