Freigeben über


SafeArrayDestroy-Funktion (oleauto.h)

Zerstört einen vorhandenen Arraydeskriptor und alle Daten im Array. Wenn Objekte im Array gespeichert werden, wird Release für jedes Objekt im Array aufgerufen.

Syntax

HRESULT SafeArrayDestroy(
  [in] SAFEARRAY *psa
);

Parameter

[in] psa

Ein arraydeskriptor, der von SafeArrayCreate erstellt wurde.

Rückgabewert

Diese Funktion kann einen dieser Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
E_INVALIDARG
Das Argument psa ist ungültig.
DISP_E_ARRAYISLOCKED
Das Array ist gesperrt.

Hinweise

Sichere Arrays von variant verfügen über die VariantClear-Funktion , die auf jedem Member aufgerufen wird, und sichere Arrays von BSTR verfügen über die SysFreeString-Funktion , die für jedes Element aufgerufen wird. IRecordInfo::RecordClear wird aufgerufen, um Objektverweise und andere Werte eines Datensatzes freizugeben, ohne die Zuordnung des Datensatzes aufzugeben.

Beispiele

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

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile oleauto.h
Bibliothek OleAut32.lib
DLL OleAut32.dll