Arrays

An array is added by attaching a length greater than the size of the data type. For example, the SMB attaches byte data with a property that looks like:

// PROP_BYTE_DATA
    {   0,0,
  "Byte parameters",
  "Command specific byte parameters",
  PROP_TYPE_BYTE,
  PROP_QUAL_ARRAY,
  NULL,
  32,
  fm_property_name },

And the attach looks like:

AttachPropertyInstance(  fhandle,
        property_table[PROP_BYTE_DATA].hProperty,
        (WORD)(*bytecnt * sizeof(BYTE)),
        bytecnt + 1,
        cmd,
        PL_COMMAND,
        0);