Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function destroys an array descriptor and all data in the array.

If objects are stored in the array, Releaseis called on each object in the array.

Syntax

HRESULT SafeArrayDestroy( 
  SAFEARRAY FAR* 
psa 
); 

Parameters

psa

[in] Pointer to an array descriptor created by SafeArrayCreate.

Return Value

Returns the HRESULT values shown in the following table.

Value Description

S_OK

Success.

DISP_E_ARRAYISLOCKED

The array is currently locked.

E_INVALIDARG

The item pointed to by psais not a safearray descriptor.

Remarks

Passing invalid (and under some circumstances NULL) pointers to this function causes an unexpected termination of the application.

Example

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

Requirements

Header oleauto.h
Library oleaut32.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also