COleSafeArray函数的定义

  COleSafeArray类是用于处理任意类型和维数的数组的类。COleSafeArray是从OLE VARIANT结构派生而来的。OLE SAFEARRAY成员函数在可以通过COleSafeArray来访问,就像是特别为一维的字节数组所设计的成员函数集。

  #include<afxdisp.h>

  请参阅:COleVariant,CRecordset,CDatabase

  COleSafeArray类成员

  构造COleSafeArray构造一个COleSafeArray对象

  操作Attach给COleSafeArray对象已存在的VARIANT数组的控制

  Clear释放基VARIANT中的所有数据

  Detach将VARIANT数组从COleSafeArray对象中分离出来(这将使数据不会被释放)

  Win32 API包装AccessData获取一个指向数组数据的指针

  AllocData为数组分配内存

  AllocDescriptor为安全数组描述符分配内存

  Copy创建一个已存在的数组的拷贝

  Create创建一个安全数组

  Destroy销毁一个已经存在的数组

  DestroyData销毁一个安全数组中的数据

  DestroyDescriptor销毁一个安全数组的描述符

  GetDim返回数组的维数

  GetElement获取安全数组中的一个单一元素

  GetElemSize返回安全数组中一个元素的按字节表示的大小

  GetLBound返回一个安全数组任一维的下界

  GetUBound返回一个安全数组任一维的上界

  Lock增加一个数组的加锁计数,并将一个指向数组数据的指针放到数组描述符中

  PtrOflndex返回一个指向被索引的元素的指针

  PtrElement将一个单一的元素放入数组中

  Redim改变一个安全数组的最不重要(最右边)的边界

  UnaccessData减小一个数组的加锁计数,并使由AccessData获得的指针无效

  Unlock减小一个数组的加锁以使它能被释放或改变大小

  一维数组操作CreateOneDim创建一个一维的COleSafeArray对象

  GetOneDimSize返回一个一维的COleSafeArray对象中的元素个数

  ResizeOneDim改变一个一维的COleSafeArray对象中的元素个数

  操作operator = 将一些值(包括SAFEARRAY,VARIANT,COleVariant,或COleSafeArray对象)拷贝到COleSafeArray对象中

  operator == 比较两个不同的数组(SAFEARRAY,VARIANT,COleSafeArray对象)

  operator << 向转储描述表输出一个COleSafeArray对象的内容

  operator LPVARIANT 访问COleSafeArray对象的基VARIANT结构

  operator LPCVARIANT 访问COleSafeArray对象的基VARIANT结构

  COleSafeArray::COleSafeArray

  COleSafeArray();

  COleSafeArray(const SAFEARRAY& saSrc,VARTYPE vtSrc);

  COleSafeArray(LPCSAFEARRAY psaSrc,VARTYPE vtSrc);

  COleSafeArray(const COleSafeArray& saSrc);

  COleSafeArray(const VARIANT& varSrc);

  COleSafeArray(LPCVARIANT pSrc);

  COleSafeArray(const COleVariant& varSrc);

  参数:saSrc要被拷贝到新的COleSafeArray对象中去的已经存在的COleSafeArray对象或SAFEARRAY。

  vtSrc新的COleSafeArray对象的VARTYPE。

  psaSrc一个指向要拷贝到新的COleSafeArray对象中去的SAFEARRAY的指针。

  varSrc要被拷贝到新的COleSafeArray对象中去的已经存在的VARIANT或者COleVariant。

  pSrc 一个指向要拷贝到新的COleSafeArray对象中去的VARIANT对象的指针。

  说明:

  这些构造函数都创建一个新的COleSafeArray对象。如果没有参数,则创建的是一个空的COleSafeArray对象(VT_EMPTY)。如果COleSafeArray是从另一个数组拷贝来的,并且这个数组的VARIANT并不是完全确定的(一个COleSafeArray,COleVariant,或者VARIANT),则源数组中的VARTYPE被保留,并且不需要说明。如果COleSafeArray是,从另一个数组拷贝而来,并且该数组的VARTYPE是不知道的,则VARTYPE必须用vtSrc参数来指定。

  如果出错,则函数抛出一个CMemoryException或COleException。

原文地址:https://www.cnblogs.com/wjq13752525588/p/12156485.html