在 MFC 的 COleSafeArray 类中,Create 方法用于创建一个新的 COleSafeArray 对象,并为其分配相关的资源,包括数组描述符和数据缓冲区。该方法的一般声明可能如下:
HRESULT Create(VARTYPE vt, DWORD dwDims, SAFEARRAYBOUND* rgsabound = NULL);

其中,vt 参数表示数组元素的类型(VARTYPE),dwDims 参数表示数组的维度数,rgsabound 参数是一个指向 SAFEARRAYBOUND 结构数组的指针,用于指定每个维度的边界。

以下是一个简单的示例代码,演示如何使用 Create 方法:
COleSafeArray sa;
VARTYPE vt = VT_I4;  // 例如,表示数组元素是 4 字节的长整型
DWORD dwDims = 2;    // 例如,表示创建一个二维数组

// 定义数组每个维度的边界
SAFEARRAYBOUND rgsabound[2];
rgsabound[0].cElements = 3;  // 维度 1 有 3 个元素
rgsabound[0].lLbound = 0;    // 维度 1 的下限
rgsabound[1].cElements = 4;  // 维度 2 有 4 个元素
rgsabound[1].lLbound = 0;    // 维度 2 的下限

HRESULT hr = sa.Create(vt, dwDims, rgsabound);
if (SUCCEEDED(hr)) {
    // 创建成功,现在可以向数组存储数据了

    // ... 在这里进行数据存储操作 ...
} else {
    // 处理错误
}

在调用 Create 方法后,可以通过其他成员函数如 PutElement、PutAt 等来向数组存储数据。最后,记得在不再需要数组或程序退出时调用 Release 方法来释放分配的资源。

需要注意的是,具体的函数声明和用法可能因不同的 MFC 版本而有所不同,建议查阅相关文档或参考相应版本的 MFC 源码。


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