COleSafeArray::PutElement

Assigne un élément unique dans le tableau.

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

Paramètres

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

  • pvData
    Pointeur vers les données à assigner au tableau.VT_DISPATCH, VT_UNKNOWN, et les types variant d' VT_BSTR sont des pointeurs et ne nécessitent pas un autre niveau d'indirection.

Notes

Cette fonction appelle automatiquement les fonctions Windows SafeArrayLock et SafeArrayUnlock avant et après assigner l'élément.Si l'élément de données est une chaîne, un objet, ou une variante, la fonction copie elle correctement, et si l'élément existant est une chaîne, un objet, ou une variante, elle est supprimée correctement.

Notez que vous pouvez avoir plusieurs verrous sur un tableau, vous pouvez mettre des éléments dans un tableau dont le tableau est verrouillée par d'autres opérations.

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

Exemple

VARIANT retVariantArray() 
{
   COleSafeArray saRet;         
   DWORD numElements[] = {10, 10}; // 10x10

   // Create the 2 dimensional safe-array of type VT_R8 with size 10x10
   saRet.Create(VT_R8, 2, numElements);

   // Initialize safearray  with values...
   long index[2];
   for(index[0] = 0; index[0] < 10; index[0]++)
   {
      for(index[1] = 0; index[1] < 10; index[1]++)
      {
         double val = index[0] + index[1]*10;
         //populate the safearray elements with double values
         saRet.PutElement(index, &val);
      }
   }
   // Return the safe-array encapsulated in a VARIANT...
   return saRet.Detach();
}

Configuration requise

Header: afxdisp.h

Voir aussi

Référence

Classe de COleSafeArray

Graphique de la hiérarchie

COleSafeArray::GetElement

SafeArrayPutElement