다음을 통해 공유


SafeArrayDestroy 함수(oleauto.h)

기존 배열 설명자와 배열의 모든 데이터를 삭제합니다. 개체가 배열에 저장되면 배열의 각 개체에 대해 Release 가 호출됩니다.

구문

HRESULT SafeArrayDestroy(
  [in] SAFEARRAY *psa
);

매개 변수

[in] psa

SafeArrayCreate에서 만든 배열 설명자입니다.

반환 값

이 함수는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
성공.
E_INVALIDARG
psa 인수가 잘못되었습니다.
DISP_E_ARRAYISLOCKED
배열이 잠겨 있습니다.

설명

변형의 안전한 배열에는 각 멤버에 대해 호출되는 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
라이브러리 OleAut32.lib
DLL OleAut32.dll