CComSafeArray::Add
Adds one or more elements, or a SAFEARRAY structure, to a CComSafeArray.
HRESULT Add(
const SAFEARRAY * psaSrc
);
HRESULT Add(
ULONG ulCount,
const T * pT,
BOOL bCopy = TRUE
);
HRESULT Add(
const T& t,
BOOL bCopy = TRUE
);
Parameters
psaSrc
A pointer to a SAFEARRAY object.ulCount
The number of objects to add to the array.pT
A pointer to one or more objects to be added to the array.t
A reference to the object to be added to the array.bCopy
Indicates whether a copy of the data should be created. The default value is TRUE.
Return Value
Returns S_OK on success, or an error HRESULT on failure.
Remarks
The new objects are appended to the end of the existing SAFEARRAY object. Adding an object to a multidimensional SAFEARRAY object is not supported. When adding an existing array of objects, both arrays must contain elements of the same type.
The bCopy flag is taken into account when elements of type BSTR or VARIANT are added to an array. The default value of TRUE ensures that a new copy is made of the data when the element is added to the array.
Smart Device Developer Notes
CComSafeArray::Add( SAFEARRAY * ) is supported for only VT_BSTR, VT_VARIANT, VT_UNKNOWN, and VT_DISPATCH VARTYPEs.
Requirements
Header: atlsafe.h