このトピックでは、値によってバイト配列を戻す C 関数が使用するインターフェースについて説明します。
xmsRC xmsGetByteArrayProperty(xmsHObj object xmsCHAR *propertyName, xmsSBYTE *propertyValue, xmsINT length, xmsINT *actualLength xmsHErrorBlock errorBlock) const;
バッファーのサイズが不十分で配列全体を格納できない場合、XMS は、バッファーの長さに切り捨てた配列を戻し、actualLength パラメーターを配列全体の長さに設定して、エラー・コード XMS_E_DATA_TRUNCATED を戻します。
2 つの関数、xmsBytesMsgReadBytes() および xmsStreamMsgReadBytes() のインターフェースは、わずかに異なります。 いずれか一方の関数を使用する場合、アプリケーションはその関数を連続して呼び出すことにより、バイト配列を段階的に検索できます。 それぞれの呼び出しごとに、アプリケーションが提供するバッファーに、内部カーソルの現在位置を始点としてバイトが読み込まれます。また、出力パラメーター returnedLength により、バッファーに読み込まれたバイト数がアプリケーションに通知されます。いずれの関数にも、そのインターフェースには actualLength パラメーターに相当するパラメーターはありませんが、アプリケーションは XMSC_QUERY_SIZE を指定することにより、カーソルの現在位置を始点として配列内の残りのバイト数を確認することができます。