SAFEARRAY Arrays

SAFEARRAY arrays can contain any of the supported simple data types. This type of array is a common way to support arrays in (oleautomation) interfaces.

The number of elements is not known at compile time, however it is known at run time, so they are represented as a group of variable size(s) in the type tree.

In the adapter call of Invoke method, an array size is determined according to those attributes.

For example:

HRESULT SumOfInts( [in] SAFEARRAY(long) intsToSum, [out] long* sum);