ヘッダーをスキップ
Oracle® Database XML C APIリファレンス
11gリリース2 (11.2)
E94918-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

5 C用のOrastream APIパッケージ

Orastream APIは、XML文書での64Kを超えるテキスト・ノードおよびバイナリ・ノードの処理をサポートします。

Orastreamには、次のグループのインタフェースが含まれています。

Orastreamで使用されるデータ型は第1章「Cのデータ型」に記載されています。oracheckoraerroraprop_idoramemctxoraproporaprop_toraprop_vorastreamおよびorastreamhdlが含まれます。

Orastreamインタフェースのエラー・コードを表5-1に示します。

表5-1 Orastreamエラー・コード

エラー・コード 説明

ORASTREAM_ERR_NULL_POINTER

Nullポインタが検出されました。

ORASTREAM_ERR_BAD_STREAM

無効なストリーム・オブジェクト。

ORASTREAM_ERR_WRONG_DIRECTION

ストリーム・オブジェクトは反対のI/O方向に定義されています。

ORASTREAM_ERR_UNKNOWN_PROPERTY

不明な作成プロパティ。

ORASTREAM_ERR_NO_DIRECTION

ストリームのI/O方向が定義されていません。

ORASTREAM_ERR_BI_DIRECTION

ストリームの方向は、両方のI/O方向を使用していると間違って定義されています。

ORASTREAM_ERR_NOT_OPEN

ストリームはオープンしていません。

ORASTREAM_ERR_WRONG_MODE

ストリームは反対のchar/byteモードに定義されています。

ORASTREAM_ERR_CANT_OPEN

ストリームをオープンできません。

ORASTREAM_ERR_CANT_CLOSE

ストリームをクローズできません。


Orastreamインタフェースの詳細は、『Oracle XML Developer's Kitプログラマーズ・ガイド』を参照してください。


OraStreamインタフェース

これらのメソッドは、データをピース単位の移動に使用する一方向のストリームをサポートしています。ストリームの方向およびモードは、OraStreamInit()メソッドでストリームを初期化するパラメータによって決定されます。

表5-2 Orastreamメソッドの概要: Orastreamパッケージ

関数 概要

OraStreamClose()


ストリームをクローズします。

OraStreamHandle()


ストリームにハンドルを戻します。

OraStreamInit()


ストリームを初期化します。

OraStreamIsOpen()


ストリームがオープンしているかどうかを判断します。

OraStreamOpen()


ストリームをオープンします。

OraStreamRead()


ストリームからバイトを読み込みます。

OraStreamReadable()


ストリームが読取り可能かどうかを判断します。

OraStreamReadChar()


ストリームから文字を読み込みます。

OraStreamSid()


ストリームのSIDを設定します。

OraStreamTerm()


ストリームを破棄します。

OraStreamWrite()


ストリームにバイトを書き込みます。

OraStreamWritable()


ストリームが書込み可能かどうかを判断します。

OraStreamWriteChar()


ストリームに文字を書き込みます。



OraStreamClose()

orastreamオブジェクトをクローズします。

この関数を使用し、ストリームの「クローズ」コールバック関数をコールして、特定のストリームをクローズします。

成功した場合はORAERR_OKを戻し、失敗した場合はエラー・コードを戻します。表5-1を参照してください。

構文

oraerr OraStreamClose(
  orastream *stream);
パラメータ IN/OUT 説明
stream
IN
クローズされるストリーム


OraStreamHandle()

orastreamオブジェクトのハンドルを戻します。

ハンドルには、汎用ポインタとファイル記述子が含まれます。

構文

orastreamhdl *OraStreamHandle(
  orastream *stream);
パラメータ IN/OUT 説明
stream
IN
ハンドルが戻されるストリーム


OraStreamInit()

orastreamオブジェクトを作成して初期化します。

構文

orastream *OraStreamInit(
  void *sctx,
  void *sid,
  oraerr *err,
  list);
パラメータ IN/OUT 説明
sctx
IN
入力コンテキスト。NULLの場合もあります
sid
IN
ユーザー定義のストリーム・コンテキスト識別子
err
OUT
エラー(存在する場合)。成功した場合はORAERR_OK、失敗した場合はエラー・コード。表5-1を参照してください
list
IN
新しいorastreamオブジェクトのプロパティを指定する引数の名前/値ペアのNULLで終了するリスト。これらは次のとおりです。
  • openプロパティ名はオープン関数のためのもので、その値が続きます。

    ORASTREAM_OPEN_F((*), sctx, sid, hdl, length)
    
  • closeプロパティ名はクローズ関数のためのもので、その値が続きます。

    ORASTREAM_CLOSE_F((*), sctx, sid, hdl)
    
  • readプロパティ名は、ストリームからバッファにバイト・データを読み込むためのものです。nreadは実際に読み込まれたバイト数を戻します。

    ORASTREAM_READ_F((*), sctx, sid, hdl, dest,
      size, start, nread, eoi)
    
  • writeプロパティ名は、バッファからストリームにバイト・データを書き込むためのものです。writtenは実際に書き込まれたバイト数を戻します。

    ORASTREAM_WRITE_F((*), sctx, sid, hdl, src,
      size, written)
    
  • read_charプロパティ名は、ストリームからバッファに文字データを読み込むためのものです。nreadは実際に読み込まれた文字数を戻します。

    ORASTREAM_READ_F((*), sctx, sid, hdl, dest,
      size, start, nread, eoi)
    
  • write_charプロパティ名は、バッファからストリームに文字データを書き込むためのものです。writtenは実際に書き込まれた文字数を戻します。

    ORASTREAM_WRITE_F((*), sctx, sid, hdl, src,
      size, written)
    


OraStreamIsOpen()

orastreamがオープンしているかどうかを判断します。TRUEまたはFALSEを返します。

読込みおよび書込み操作を実行するには、ストリームがオープンしている必要があります。

構文

boolean OraStreamIsOpen(
  orastream *stream);
パラメータ IN/OUT 説明
stream
IN
読込みまたは書込みのためにオープンする必要のあるストリーム。


OraStreamOpen()

orastreamオブジェクトをオープンします。

この関数は、ストリームの「オープン」コールバック関数をコールしてストリームをオープンします。

成功した場合はORAERR_OKを戻し、失敗した場合はエラー・コードを戻します。表5-1を参照してください。

構文

oraerr OraStreamOpen(
  orastream *stream,
  ubig_ora *length)
パラメータ IN/OUT 説明
stream
IN
オープンしているストリーム
length
OUT
オプションのパラメータ。使用されません


OraStreamRead()

orastreamオブジェクトからbyteを読み込みます。

この関数を使用して、ストリームから指定されたバッファにデータを読み込みます。また、ストリームの終わりに達すると、eoiパラメータにTRUEを戻します。

成功した場合はORAERR_OKを戻し、失敗した場合はエラー・コードを戻します。表5-1を参照してください。

構文

oraerr OraStreamRead(
  orastream *stream,
  oratext *dest,
  ubig_ora size,
  oratext **start,
  ubig_ora *nread,
  ub1 *eoi);
パラメータ IN/OUT 説明
stream
IN
読み込まれるストリーム
dest
IN
宛先バッファ
size
IN
読み込まれるデータのサイズ
start
OUT
読み込まれるデータの先頭へのポインタ
nread
OUT
ストリームから実際に読み込まれたバイト数
eoi
OUT
ストリームの終わりに達するとTRUEを戻し、それ以外の場合はFALSEを戻します


OraStreamReadable()

既存のorastreamオブジェクトが読込み可能かどうかを判断します。

TRUEまたはFALSEを返します。

構文

boolean OraStreamReadable(
  orastream *stream);
パラメータ IN/OUT 説明
stream
IN
読込み可能かどうかを確認するストリーム


OraStreamReadChar()

orastreamオブジェクトからcharを読み込みます。

この関数を使用して、ストリームから指定されたバッファにデータを読み込みます。また、ストリームの終わりに達すると、eoiパラメータにTRUEを戻します。

成功した場合はORAERR_OKを戻し、失敗した場合はエラー・コードを戻します。表5-1を参照してください。

構文

oraerr OraStreamReadChar(
  orastream *stream,
  oratext *dest, 
  ubig_ora size,
  oratext **start, 
  ubig_ora *nread, 
  ub1 *eoi);
パラメータ IN/OUT 説明
stream
IN
読み込まれるストリーム
dest
IN
宛先バッファ
size
IN
読み込まれるデータのサイズ
start
OUT
読み込まれるデータの先頭へのポインタ
nread
OUT
ストリームから実際に読み込まれた文字数
eoi
OUT
ストリームの終わりに達するとTRUEを戻し、それ以外の場合はFALSEを戻します


OraStreamSid()

既存のorastreamオブジェクトにSIDを割り当てます。OUTパラメータosidを使用してSIDを戻します。

成功した場合はORAERR_OKを戻し、失敗した場合はエラー・コードを戻します。表5-1を参照してください。

構文

oraerr OraStreamSid(
  orastream *stream,
  void *sid,
  void **osid);
パラメータ IN/OUT 説明
stream
IN
SIDが変更されるストリーム
sid
IN
新しいSID
osid
OUT
ストリームの前のSID


OraStreamTerm()

orastreamオブジェクトを破棄して、対応するメモリーを解放します。

成功した場合はORAERR_OKを戻し、失敗した場合はエラー・コードを戻します。表5-1を参照してください。

構文

oraerr OraStreamTerm(
  orastream *stream);
パラメータ IN/OUT 説明
stream
IN
破棄するストリーム


OraStreamWrite()

orastreamオブジェクトにbyteを書き込みます。

実際に読み込まれたバイト数は、OUTパラメータnwroteによって格納されます。

成功した場合はORAERR_OKを戻し、失敗した場合はエラー・コードを戻します。表5-1を参照してください。

構文

oraerr OraStreamWrite(
  orastream *stream, 
  oratext *src, 
  ubig_ora size,
  ubig_ora *nwrote);
パラメータ IN/OUT 説明
stream
IN
データが書き込まれるストリーム
src
IN
データの書込み元バッファ
size
IN
書き込まれるデータのサイズ
nwrote
OUT
ストリームに書き込まれるバイト数


OraStreamWritable()

既存のorastreamオブジェクトが書込み可能かどうかを判断します。

TRUEまたはFALSEを返します。

構文

boolean OraStreamWritable(
  orastream *stream);
パラメータ IN/OUT 説明
stream
IN
書込み可能かどうかを判断するストリーム。


OraStreamWriteChar()

orastreamオブジェクトにcharを書き込みます。

実際に書き込まれた文字数は、OUTパラメータnwroteによって格納されます。

成功した場合はORAERR_OKを戻し、失敗した場合はエラー・コードを戻します。表5-1を参照してください。

構文

oraerr OraStreamWriteChar(
  orastream *stream, 
  oratext *src, 
  ubig_ora size,
  ubig_ora *nwrote);
パラメータ IN/OUT 説明
stream
IN
データが書き込まれるストリーム
src
IN
データの書込み元バッファ
size
IN
書き込まれるデータのサイズ
nwrote
OUT
ストリームに書き込まれる文字数