Condividi tramite


COleSafeArray::PutElement

Assegna un singolo elemento della matrice.

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

Parametri

  • rgIndices
    Puntatore a matrice di indici per ogni dimensione della matrice.

  • pvData
    Puntatore ai dati da assegnare alla matrice. VT_DISPATCH, VT_UNKNOWNe i tipi di variant VT_BSTR sono puntatori e non richiedono un altro livello di riferimenti indiretti.

Note

Questa funzione viene chiamata automaticamente le funzioni Windows SafeArrayLock e SafeArrayUnlock prima e dopo l'assegnazione dell'elemento. Se un elemento è una stringa, un oggetto, o una variante, la funzione la copia correttamente e se l'elemento esistente è una stringa, un oggetto, o una variante, viene deselezionata correttamente.

Si noti che può essere più impostare una matrice, pertanto è possibile inserire elementi in una matrice quando la matrice viene bloccata da altre operazioni.

Sull'errore, la funzione genera CMemoryException o COleException.

Esempio

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();
}

Requisiti

Header: afxdisp.h

Vedere anche

Riferimenti

Classe COleSafeArray

Grafico delle gerarchie

COleSafeArray::GetElement

Altre risorse

SafeArrayPutElement