方法签名如下:
SAFEARRAY* COleSafeArray::Detach();
以下是一个简单的示例:
COleSafeArray sa;
// 初始化 COleSafeArray 对象并设置数据
// 分离 COleSafeArray 对象,并获取指向关联 SAFEARRAY 的指针
SAFEARRAY* pDetachedArray = sa.Detach();
// 在这里使用 pDetachedArray 操作 SAFEARRAY
// 最后记得释放分离的 SAFEARRAY,避免内存泄漏
SafeArrayDestroy(pDetachedArray);
使用 Detach 后,COleSafeArray 对象将不再持有关联的 SAFEARRAY。务必在适当的时候手动释放分离的 SAFEARRAY,以避免内存泄漏。
请注意,COleSafeArray 对象变为空对象,对其进行进一步的操作可能导致未定义的行为。
转载请注明出处:http://www.zyzy.cn/article/detail/21506/MFC/COleSafeArray