SafeArrayPutElement Function
Stores the data element at a given location in the array.
HRESULT SafeArrayPutElement( SAFEARRAY * psa, long * rgIndices, void * pv );
This function automatically calls SafeArrayLock and SafeArrayUnlock before and after assigning the element. If the data element is a string, object, or variant, the function copies it correctly when the safe array is destroyed. If the existing element is a string, object, or variant, it is cleared correctly. If the data element is a VT_DISPATCH or VT_UNKNOWN, AddRef is called to increment the object's reference count.
Note |
|---|
Multiple locks can be on an array. Elements can be put into an array while the array is locked by other operations. |
For an example that demonstrates calling SafeArrayPutElement, see the COM Fundamentals Lines sample (CLines::Add in Lines.cpp) shipped with the Platform SDK.
Note