WebSphere Message Service Clients for C/C++ and .NET, Version 1.2 作業系統: Linux, Windows

StreamMessage

串流訊息是一種其主體包含一個值串流(其中每一個值都有一個相關聯的資料類型)的訊息。

繼承階層:
xms::PropertyContext
   |
   +----xms::Message
           |
           +----xms::StreamMessage

主體的內容會依序寫入和讀取。

當應用程式從訊息串流中讀取值時,該值可由 XMS 轉換成另一種資料類型。如需這種隱含轉換形式的相關資訊,請參閱串流訊息

相關參考
串流訊息

方法

方法摘要:
方法 說明
readBoolean 從訊息串流中讀取 Boolean 值。
readByte 從訊息串流中讀取一個帶正負號的 8 位元整數。
readBytes 從訊息串流中讀取位元組陣列。
readChar 從訊息串流中讀取一個二位元組字元。
readDouble 從訊息串流中讀取一個 8 位元組的倍精準度浮點數。
readFloat 從訊息串流中讀取一個 4 位元組的浮點數。
readInt 從訊息串流中讀取一個帶正負號的 32 位元整數。
readLong 從訊息串流中讀取一個帶正負號的 64 位元整數。
readObject 從訊息串流中讀取一值,並傳回其資料類型。
readShort 從訊息串流中讀取一個帶正負號的 16 位元整數。
readString 從訊息串流中讀取一個字串。
reset 將訊息主體變成唯讀模式, 並將游標重新定位在訊息串流開頭。
writeBoolean 將 Boolean 值寫入訊息串流中。
writeByte 將位元組寫入訊息串流中。
writeBytes 將位元組陣列寫入訊息串流中。
writeChar 將字元當成 2 位元組寫入訊息串流中, 並從次序高的位元組開始。
writeDouble 將倍精準度浮點數轉換成長整數, 並將長整數當成 8 位元組寫入訊息串流中,且從次序高的位元組開始。
writeFloat 將浮點數轉換成整數, 並將整數當成 4 位元組寫入訊息串流中,且從次序高的位元組開始。
writeInt 將整數當成 4 位元組寫入訊息串流中, 並從次序高的位元組開始。
writeLong 將長整數當成 8 位元組寫入訊息串流中, 並從次序高的位元組開始。
writeObject 使用指定的資料類型,將值寫入訊息串流中。
writeShort 將短整數當成 2 位元組寫入訊息串流中, 並從次序高的位元組開始。
writeString 將字串寫入訊息串流中。

readBoolean – 讀取 Boolean 值

介面:
xmsBOOL readBoolean() const;

從訊息串流中讀取 Boolean 值。

參數:
傳回:
所讀取的 Boolean 值。
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_READABLE_EXCEPTION
  • XMS_X_MESSAGE_EOF_EXCEPTION

readByte – 讀取位元組

介面:
xmsSBYTE readByte() const;

從訊息串流中讀取一個帶正負號的 8 位元整數。

參數:
傳回:
所讀取的位元組。
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_READABLE_EXCEPTION
  • XMS_X_MESSAGE_EOF_EXCEPTION

readBytes – 讀取多個位元組

介面:
xmsINT readBytes(xmsSBYTE *buffer,
                 const xmsINT bufferLength,
                 xmsINT *returnedLength) const;

從訊息串流中讀取位元組陣列。

參數:
buffer(輸出)
內含所讀取之位元組陣列的緩衝區。

如果陣列中的位元組數小於或等於緩衝區的長度, 則會將整個陣列讀入緩衝區中。如果陣列中的位元組數大於緩衝區長度, 則緩衝區中會填入一部分的陣列, 且內部游標會標出下一個要讀取的位元組位置。後續的 readBytes() 呼叫會從游標現行位置開始讀取陣列中的位元組。

如果您在輸入中指定一個空值指標, 則呼叫會略過位元組陣列而不會讀取。

bufferLength(輸入)
緩衝區的長度(以位元組計)。
returnedLength(輸出)
要讀入緩衝區中的位元組數。如果緩衝區只局部填入, 則其值小於緩衝區長度,這表示陣列中已無位元組要讀取。在呼叫前,如果陣列中已無留待讀取的位元組, 則其值為 XMSC_END_OF_BYTEARRAY

如果您在輸入中指定一個空值指標, 則方法不會傳回任何值。

傳回:
請參閱 returnedLength 參數的說明。
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_READABLE_EXCEPTION
  • XMS_X_MESSAGE_EOF_EXCEPTION

readChar – 讀取字元

介面:
xmsCHAR16 readChar() const;

從訊息串流中讀取一個二位元組字元。

參數:
傳回:
所讀取的字元。
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_READABLE_EXCEPTION
  • XMS_X_MESSAGE_EOF_EXCEPTION

readDouble – 讀取倍精準度浮點數

介面:
xmsDOUBLE readDouble() const;

從訊息串流中讀取一個 8 位元組的倍精準度浮點數。

參數:
傳回:
所讀取的倍精準度浮點數。
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_READABLE_EXCEPTION
  • XMS_X_MESSAGE_EOF_EXCEPTION

readFloat – 讀取浮點數

介面:
xmsFLOAT readFloat() const;

從訊息串流中讀取一個 4 位元組的浮點數。

參數:
傳回:
所讀取的浮點數。
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_READABLE_EXCEPTION
  • XMS_X_MESSAGE_EOF_EXCEPTION

readInt – 讀取整數

介面:
xmsINT readInt() const;

從訊息串流中讀取一個帶正負號的 32 位元整數。

參數:
傳回:
所讀取的整數。
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_READABLE_EXCEPTION
  • XMS_X_MESSAGE_EOF_EXCEPTION

readLong – 讀取長整數

介面:
xmsLONG readLong() const;

從訊息串流中讀取一個帶正負號的 64 位元整數。

參數:
傳回:
所讀取的長整數。
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_READABLE_EXCEPTION
  • XMS_X_MESSAGE_EOF_EXCEPTION

readObject – 讀取物件

介面:
xmsOBJECT_TYPE readObject(xmsSBYTE *buffer,
                          const xmsINT bufferLength,
                          xmsINT *actualLength) const;

從訊息串流中讀取一值,並傳回其資料類型。

有關此方法用法的詳細資訊, 請參閱會傳回位元組陣列的 C++ 方法

參數:
buffer(輸出)
內含值(以位元組陣列形式傳回)的緩衝區。如果值為一個字串而需要轉換資料, 則此為轉換後的值。

如果您在輸入中指定一個空值指標, 則呼叫會略過該值而不會讀取。

bufferLength(輸入)
緩衝區的長度(以位元組計)。如果您指定的是 XMSC_QUERY_SIZE, 則不會傳回值,而會將其長度放在 actualLength 參數中傳回。
actualLength(輸出)
值的長度(以位元組計)。如果值為一個字串而需要轉換資料, 則此為轉換後的長度。如果您在輸入中指定一個空值指標, 則不會傳回長度。
傳回:
值的資料類型,可為下列一種物件類型:
  • XMS_OBJECT_TYPE_BOOL
  • XMS_OBJECT_TYPE_BYTE
  • XMS_OBJECT_TYPE_BYTEARRAY
  • XMS_OBJECT_TYPE_CHAR
  • XMS_OBJECT_TYPE_DOUBLE
  • XMS_OBJECT_TYPE_FLOAT
  • XMS_OBJECT_TYPE_INT
  • XMS_OBJECT_TYPE_LONG
  • XMS_OBJECT_TYPE_SHORT
  • XMS_OBJECT_TYPE_STRING
異常狀況:
XMS_X_GENERAL_EXCEPTION

readShort – 讀取短整數

介面:
xmsSHORT readShort() const;

從訊息串流中讀取一個帶正負號的 16 位元整數。

參數:
傳回:
所讀取的短整數。
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_READABLE_EXCEPTION
  • XMS_X_MESSAGE_EOF_EXCEPTION

readString – 讀取字串

介面:
String readString() const;

從訊息串流中讀取一個字串。必要時, XMS 會將字串中的字元轉換成區域字碼頁。

參數:
傳回:
封裝所讀取之字串的 String 物件。如果需要轉換資料, 則此為轉換後的字串。
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_READABLE_EXCEPTION
  • XMS_X_MESSAGE_EOF_EXCEPTION

reset – 重設

介面:
xmsVOID reset() const;

將訊息主體變成唯讀模式, 並將游標重新定位在訊息串流開頭。

參數:
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_READABLE_EXCEPTION
  • XMS_X_MESSAGE_EOF_EXCEPTION

writeBoolean – 寫入 Boolean 值

介面:
xmsVOID writeBoolean(const xmsBOOL value);

將 Boolean 值寫入訊息串流中。

參數:
value(輸入)
要寫入的 Boolean 值。
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_WRITABLE_EXCEPTION

writeByte – 寫入位元組

介面:
xmsVOID writeByte(const xmsSBYTE value);

將位元組寫入訊息串流中。

參數:
value(輸入)
要寫入的位元組。
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_WRITABLE_EXCEPTION

writeBytes – 寫入多個位元組

介面:
xmsVOID writeBytes(const xmsSBYTE *value,
                   const xmsINT length);

將位元組陣列寫入訊息串流中。

參數:
value(輸入)
要寫入的位元組陣列。
length(輸入)
陣列中的位元組數。
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_WRITABLE_EXCEPTION

writeChar – 寫入字元

介面:
xmsVOID writeChar(const xmsCHAR16 value);

將字元當成 2 位元組寫入訊息串流中, 並從次序高的位元組開始。

參數:
value(輸入)
要寫入的字元。
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_WRITABLE_EXCEPTION

writeDouble – 寫入倍精準度浮點數

介面:
xmsVOID writeDouble(const xmsDOUBLE value);

將倍精準度浮點數轉換成長整數, 並將長整數當成 8 位元組寫入訊息串流中,且從次序高的位元組開始。

參數:
value(輸入)
要寫入的倍精準度浮點數。
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_WRITABLE_EXCEPTION

writeFloat – 寫入浮點數

介面:
xmsVOID writeFloat(const xmsFLOAT value);

將浮點數轉換成整數, 並將整數當成 4 位元組寫入訊息串流中,且從次序高的位元組開始。

參數:
value(輸入)
要寫入的浮點數。
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_WRITABLE_EXCEPTION

writeInt – 寫入整數

介面:
xmsVOID writeInt(const xmsINT value);

將整數當成 4 位元組寫入訊息串流中, 並從次序高的位元組開始。

參數:
value(輸入)
要寫入的整數。
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_WRITABLE_EXCEPTION

writeLong – 寫入長整數

介面:
xmsVOID writeLong(const xmsLONG value);

將長整數當成 8 位元組寫入訊息串流中, 並從次序高的位元組開始。

參數:
value(輸入)
要寫入的長整數。
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_WRITABLE_EXCEPTION

writeObject – 寫入物件

介面:
xmsVOID writeObject(const xmsOBJECT_TYPE objectType,
                    const xmsSBYTE *value,
                    const xmsINT length);

使用指定的資料類型,將值寫入訊息串流中。

參數:
objectType(輸入)
值的資料類型,其物件類型必須是下列之一:
  • XMS_OBJECT_TYPE_BOOL
  • XMS_OBJECT_TYPE_BYTE
  • XMS_OBJECT_TYPE_BYTEARRAY
  • XMS_OBJECT_TYPE_CHAR
  • XMS_OBJECT_TYPE_DOUBLE
  • XMS_OBJECT_TYPE_FLOAT
  • XMS_OBJECT_TYPE_INT
  • XMS_OBJECT_TYPE_LONG
  • XMS_OBJECT_TYPE_SHORT
  • XMS_OBJECT_TYPE_STRING
value(輸入)
內含所要寫入之值的位元組陣列。
length(輸入)
陣列中的位元組數。
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION

writeShort – 寫入短整數

介面:
xmsVOID writeShort(const xmsSHORT value);

將短整數當成 2 位元組寫入訊息串流中, 並從次序高的位元組開始。

參數:
value(輸入)
要寫入的短整數。
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_WRITABLE_EXCEPTION

writeString – 寫入字串

介面:
xmsVOID writeString(const String & value);

將字串寫入訊息串流中。

參數:
value(輸入)
封裝所要寫入之字串的 String 物件。
傳回:
Void
異常狀況:
  • XMS_X_GENERAL_EXCEPTION
  • XMS_X_MESSAGE_NOT_WRITABLE_EXCEPTION

繼承的方法


Reference topic

使用條款 | 評比此網頁

時間戳記前次更新: 25 Apr 2006
(C) Copyright IBM Corporation 2005. All Rights Reserved.
本資訊中心採用 Eclipse 技術。(http://www.eclipse.org)