在 MFC 中,COleSafeArray::Redim 方法是用于重新调整安全数组的维度和大小的公共方法。这个方法的签名如下:
HRESULT Redim(const SAFEARRAYBOUND* psaboundNew);

其中,psaboundNew 是一个指向 SAFEARRAYBOUND 结构的指针,该结构定义了新的数组维度和大小。

SAFEARRAYBOUND 结构的定义如下:
typedef struct tagSAFEARRAYBOUND {
   ULONG cElements;
   LONG  lLbound;
} SAFEARRAYBOUND;

cElements 表示数组的元素数量,lLbound 表示数组的下界。

以下是一个简单的示例:
COleSafeArray sa;
// 假设 sa 是一个已经初始化的 COleSafeArray 对象

SAFEARRAYBOUND saboundNew = {10, 1};  // 新的数组维度和大小
HRESULT hr = sa.Redim(&saboundNew);

if (SUCCEEDED(hr)) {
    // 安全数组已成功重新调整大小
} else {
    // 处理重新调整大小失败的情况
}

在这个示例中,Redim 被调用来重新调整安全数组的大小和维度。需要注意的是,Redim 的返回值是 HRESULT 类型,用于指示操作是否成功。


转载请注明出处:http://www.zyzy.cn/article/detail/21514/MFC/COleSafeArray