SafeArrayDestroy 函数 (oleauto.h)

销毁现有的数组描述符和数组中的所有数据。 如果对象存储在数组中,则会对数组中的每个对象调用 Release

语法

HRESULT SafeArrayDestroy(
  [in] SAFEARRAY *psa
);

参数

[in] psa

SafeArrayCreate 创建的数组描述符。

返回值

此函数可以返回其中一个值。

返回代码 说明
S_OK
成功。
E_INVALIDARG
参数 psa 无效。
DISP_E_ARRAYISLOCKED
数组已锁定。

注解

variant 的安全数组将在每个成员上调用 VariantClear 函数,而 BSTR 的安全数组将在每个元素上具有调用 的 SysFreeString 函数。 将调用 IRecordInfo::RecordClear 以释放记录的对象引用和记录的其他值,而无需解除分配记录。

示例

STDMETHODIMP_(ULONG) CEnumPoint::Release()
{
   if(--m_refs == 0){
      if(m_psa != NULL)
      SafeArrayDestroy(m_psa);
      delete this;
      return 0;
   }
   return m_refs;
}

要求

要求
目标平台 Windows
标头 oleauto.h
Library OleAut32.lib
DLL OleAut32.dll