WebSphere Message Service Clients for C/C++ and .NET, Version 1.2 オペレーティング・システム: Linux, Windows

値によりバイト配列を戻す C 関数

このトピックでは、値によってバイト配列を戻す C 関数が使用するインターフェースについて説明します。

C API では、特定の関数がバイト配列をパラメーターとして戻します。 これらの各関数は、バイト配列を検索する場合に同じインターフェースを使用します。 次に示す例は、こうした関数の 1 つである xmsGetByteArrayProperty() で、PropertyContext クラスに属しています。
xmsRC xmsGetByteArrayProperty(xmsHObj object
xmsCHAR *propertyName,
xmsSBYTE *propertyValue,
xmsINT length,
xmsINT *actualLength
xmsHErrorBlock errorBlock) const;
次の 3 つのパラメーターにより、バイト配列の検索を制御します。
propertyValue
このパラメーターは、アプリケーションが提供するバッファーを指すポインターで、このバッファーは XMS による配列内のバイトのコピー先となるバッファーです。
length
このパラメーターは、バッファーの長さ (バイト単位) です。これは、呼び出し前にアプリケーションによって設定する必要がある入力パラメーターです。 このパラメーターの代わりに XMSC_QUERY_SIZE を指定すると、バイト配列は戻りませんが、その長さは actualLength パラメーターで戻ります。
actualLength
この出力パラメーターは、XMS がバッファー内にコピーする配列内のバイト数を表します。 入力時にこのパラメーターに NULL ポインターを指定すると、配列の長さは戻りません。

バッファーのサイズが不十分で配列全体を格納できない場合、XMS は、バッファーの長さに切り捨てた配列を戻し、actualLength パラメーターを配列全体の長さに設定して、エラー・コード XMS_E_DATA_TRUNCATED を戻します。

2 つの関数、xmsBytesMsgReadBytes() および xmsStreamMsgReadBytes() のインターフェースは、わずかに異なります。 いずれか一方の関数を使用する場合、アプリケーションはその関数を連続して呼び出すことにより、バイト配列を段階的に検索できます。 それぞれの呼び出しごとに、アプリケーションが提供するバッファーに、内部カーソルの現在位置を始点としてバイトが読み込まれます。また、出力パラメーター returnedLength により、バッファーに読み込まれたバイト数がアプリケーションに通知されます。いずれの関数にも、そのインターフェースには actualLength パラメーターに相当するパラメーターはありませんが、アプリケーションは XMSC_QUERY_SIZE を指定することにより、カーソルの現在位置を始点として配列内の残りのバイト数を確認することができます。


Concept topic

ご利用条件 | フィードバック (英語のみ)

Timestamp icon最終更新: 8 Jun 2006
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)