COleSafeArray::GetElement

Extrait un élément unique du tableau sécurisé.

void GetElement(
   long* rgIndices,
   void* pvData 
);

Paramètres

  • rgIndices
    Pointeur vers un tableau d'index pour chaque dimension du tableau.

  • pvData
    Pointeur vers l'emplacement pour définir l'élément du tableau.

Notes

Cette fonction appelle automatiquement les fonctions windows SafeArrayLock et SafeArrayUnlock avant et après extraire l'élément.Si l'élément de données est une chaîne, un objet, ou une variante, la fonction copie l'élément de la façon correcte.Le paramètre pvData doit pointer vers une mémoire tampon suffisamment grande pour contenir l'élément.

Sur l'erreur, la fonction lève CMemoryException ou COleException.

Exemple

//sa is of type COleSafeArray with 2 dimensions

//Determine upper bounds for both dimensions
long lNumRows;
long lNumCols;
sa.GetUBound(1, &lNumRows);
sa.GetUBound(2, &lNumCols);

//Display the elements in the SAFEARRAY.
long index[2];
VARIANT val;

//Determine lower bounds for both dimensions
long lowRow, lowCol;
sa.GetLBound(1, &lowRow);
sa.GetLBound(2, &lowCol);

for(long r = lowRow; r <= lNumRows; r++ )
{
   for(long c = lowCol; c <= lNumCols; c++ )
   {
      index[0] = r;
      index[1] = c;

      //retrieve each element of the safearray
      sa.GetElement(index, &val);

      switch(val.vt)
      {
      case VT_R8:
         TRACE(_T("%1.2f\n"), val.dblVal);
         break;

      case VT_BSTR:
         TRACE(_T("%s\n"),(CString)val.bstrVal);
         break;

      // other cases ommitted

      case VT_EMPTY:
         TRACE(_T("<empty>\n"));
         break;
      }
   }
}

Configuration requise

Header: afxdisp.h

Voir aussi

Référence

Classe de COleSafeArray

Graphique de la hiérarchie

COleSafeArray::PutElement