2.2.23.1 FLAGGED_WORD_BLOB

The FLAGGED_WORD_BLOB structure defines a type for transferring length-prefixed data.

 typedef struct _FLAGGED_WORD_BLOB {
   unsigned long cBytes;
   unsigned long clSize;
   [size_is(clSize)] unsigned short asData[];
 } FLAGGED_WORD_BLOB;

cBytes: MUST be the size, in bytes, of the asData array.

Note A value of 0xFFFFFFFF MUST be considered as representing a null BSTR.

clSize: MUST be the total number of unsigned shorts in the asData array. This value MUST be half the value of cBytes, rounded up, unless this is a null  BSTR. In the latter case, a value of 0 MUST be used.

asData: An array of unsigned shorts. If clSize is 0, asData MUST not contain any elements.

Data of this type MUST be marshaled as specified in [C706], section 14, with the exception that it MUST be marshaled by using a little-endian data representation regardless of the data representation format label. For more information, see [C706] section 14.2.5.