這個主題說明以值形式來傳回位元組陣列之 C 函數所用的介面。
xmsRC xmsGetByteArrayProperty(xmsHObj object xmsCHAR *propertyName, xmsSBYTE *propertyValue, xmsINT length, xmsINT *actualLength xmsHErrorBlock errorBlock) const;
如果緩衝區不夠儲存整個陣列,XMS 會傳回截斷成符合緩衝區長度的陣列, 以及將 actualLength 參數設為整個陣列的長度,並傳回 XMS_E_DATA_TRUNCATED 錯誤碼。
xmsBytesMsgReadBytes() 和 xmsStreamMsgReadBytes() 這兩個函數的介面略有不同。當應用程式使用這兩個函數之一時, 可藉由連續呼叫該函數分段擷取位元組陣列。從內部游標的現行位置起, 每一次呼叫會將位元組讀取到應用程式提供的緩衝區中, 而 returnedLength 輸出參數會告訴應用程式已讀取到緩衝區的位元組數。函數的介面中雖沒有等同於 actualLength 的參數, 但應用程式可指定 XMSC_QUERY_SIZE 來判斷從游標的現行位置起陣列中所剩的位元組數。