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
- psa
Zeiger auf ein Arraydeskriptor SafeArrayCreate erstellt.
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;
}