COleSafeArray::PutElement

将一个元素为数组。

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

参数

  • rgIndices
    对数组的指针数组每一维的索引。

  • pvData
    对分配的数据的指针到数组。VT_DISPATCHVT_UNKNOWNVT_BSTR 不同的类型是指针,并且不需要另一级间接寻址。

备注

在将元素之前,此功能可自动调用Windows函数 SafeArrayLockSafeArrayUnlock。如果数据元素是字符串、对象或变量,函数准确复制它和,则为现有元素是字符串、对象或变量,将正确清除。

请注意可以在数组的多个锁定,因此,您可以将元素放入数组,该数组由其他操作期间锁。

在错误,该函数引发 CMemoryExceptionCOleException

示例

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

要求

Header: afxdisp.h

请参见

参考

COleSafeArray选件类

层次结构图

COleSafeArray::GetElement

SafeArrayPutElement