The ARRAYDESC structure is used in a TYPEDESC structure to specify the dimensions of an array and the type of its elements.
typedef struct tagARRAYDESC {
TYPEDESC tdescElem;
USHORT cDims;
[size_is(cDims)] SAFEARRAYBOUND rgbounds[];
} ARRAYDESC;
tdescElem: MUST contain a TYPEDESC that specifies the type of the elements in the array as specified in section 2.2.37.
cDims: MUST be set to the number of dimensions in the array.
rgbounds: MUST refer to a SAFEARRAYBOUND that specifies the maximum index value for each dimension of the array, as specified in section 2.2.30.1.