SafeArrayDestroy

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

Zerstört eine vorhandene Arraydeskriptor und alle Daten im Array. Wenn Objekte im Array gespeichert sind, wird Version für jedes Objekt im Array aufgerufen.

HRESULT SafeArrayDestroy(  
  SAFEARRAY   *psa  
);

Parameter

Rückgabewert

Der Rückgabewert vom zurückgegebenen HRESULT ist eine der folgenden.

Rückgabewert

Bedeutung

S_OK

Erfolg.

DISP_E_ARRAYISLOCKED

Das Array ist momentan gesperrt.

E_INVALIDARG

Das Element auf psa verweist, ist kein sicheres Arraydeskriptor.

Hinweise

Sichere Arrays von Variant haben VariantClear für jedes Element aufgerufen, und sichere Arrays von BSTR SysFreeString für jedes Element aufgerufen haben. IRecordInfo::RecordClear wird aufgerufen, Objektverweise und andere Werte eines Datensatzes aufzuheben, ohne den Datensatz freigeben.

Beispiel

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

Siehe auch

Referenz

VariantClear

SysFreeString

IRecordInfo::RecordClear