Condividi tramite


Funzione SafeArrayDestroy (oleauto.h)

Elimina un descrittore di matrice esistente e tutti i dati nella matrice. Se gli oggetti vengono archiviati nella matrice, release viene chiamato su ogni oggetto nella matrice.

Sintassi

HRESULT SafeArrayDestroy(
  [in] SAFEARRAY *psa
);

Parametri

[in] psa

Descrittore di matrice creato da SafeArrayCreate.

Valore restituito

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Operazione completata.
E_INVALIDARG
L'argomento psa non è valido.
DISP_E_ARRAYISLOCKED
La matrice è bloccata.

Commenti

Le matrici sicure di varianti avranno la funzione VariantClear chiamata su ogni membro e matrici sicure di BSTR avranno la funzione SysFreeString chiamata in ogni elemento. IRecordInfo::RecordClear verrà chiamato per rilasciare riferimenti a oggetti e altri valori di un record senza deallocare il record.

Esempio

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

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione oleauto.h
Libreria OleAut32.lib
DLL OleAut32.dll