COleDispatchDriver::DetachDispatch 是 MFC 中 COleDispatchDriver 类的一个公共方法,用于分离 COleDispatchDriver 对象与 IDispatch 接口的关联。这个方法通常在你不再需要 COleDispatchDriver 对象与 COM 对象进行交互时调用。

以下是 COleDispatchDriver::DetachDispatch 的一般形式:
LPDISPATCH DetachDispatch();

这个方法返回一个指向已分离的 IDispatch 接口的指针。通过调用 DetachDispatch 方法,你可以在不释放 IDispatch 接口的情况下,断开 COleDispatchDriver 对象与 COM 对象的关联。

例如:
COleDispatchDriver dispatch;
// 初始化 dispatch 对象...

// 不再需要与 COM 对象进行交互时,调用 DetachDispatch 分离接口
LPDISPATCH pDetachedDispatch = dispatch.DetachDispatch();

// 现在可以手动处理 pDetachedDispatch,而不影响 dispatch 对象

需要注意的是,一旦调用了 DetachDispatch,COleDispatchDriver 对象将不再与 IDispatch 接口关联。你负责手动管理 IDispatch 接口的生命周期,并在不再需要时进行适当的释放。




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