Sdílet prostřednictvím


COleSafeArray::PutElement

Do pole přiřadí jeden prvek.

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

Parametry

  • rgIndices
    Ukazatele na matici indexy pro každou dimenzi matice.

  • pvData
    Ukazatel na data, která chcete přiřadit pole.VT_DISPATCH, VT_UNKNOWN, a VT_BSTR typy variant jsou ukazatele a nevyžadují další úroveň nepřímé odkazování.

Poznámky

Tato funkce automaticky volání funkcí systému Windows SafeArrayLock a SafeArrayUnlock před a po přiřazení prvku.Pokud prvek dat je řetězec, objektu nebo varianty, funkce zkopíruje jej správně a pokud existující prvek je řetězec, objektu nebo varianty, je zrušeno správně.

Nezapomeňte, že můžete mít více zámky na pole, tak prvky lze zadat do pole pole uzamčený jiné operace.

Chyba, vyvolá funkci CMemoryException nebo COleException.

Příklad

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

Požadavky

Záhlaví: afxdisp.h

Viz také

Referenční dokumentace

Třída COleSafeArray

Graf hierarchie

COleSafeArray::GetElement

Další zdroje

SafeArrayPutElement