SafeArrayPutElement 函数 (oleauto.h)
将数据元素存储在数组中的指定位置。
语法
HRESULT SafeArrayPutElement(
[in] SAFEARRAY *psa,
[in] LONG *rgIndices,
[in] void *pv
);
参数
[in] psa
由 SafeArrayCreate 创建的数组描述符。
[in] rgIndices
数组每个维度的索引向量。 最右 (最小有效) 维度为 rgIndices[0]。 最左侧的维度存储在 。rgIndices[psa->cDims – 1]
[in] pv
要分配给数组的数据。 VT_DISPATCH、VT_UNKNOWN和VT_BSTR的变体类型是指针,不需要其他间接级别。
返回值
此函数可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
指定的索引无效。 |
|
其中一个参数无效。 |
|
无法为 元素分配内存。 |
注解
此函数在分配元素之前和之后自动调用 SafeArrayLock 和 SafeArrayUnlock 。 如果数据元素是字符串、对象或变体,则函数在销毁安全数组时会正确复制它。 如果现有元素是字符串、对象或变体,则会正确清除它。 如果数据元素是VT_DISPATCH或VT_UNKNOWN,则调用 AddRef 以递增对象的引用计数。
注意 一个数组上可以有多个锁。 当数组被其他操作锁定时,可以将元素放入数组中。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | oleauto.h |
Library | OleAut32.lib |
DLL | OleAut32.dll |