MFC中OLE的初始化有关问题

MFC中OLE的初始化问题
在写一个动态库,共享MFC,导出接口是C方式的;
在dll中有对话框资源,该对话框包含一个CTreeCtrl控件;
要实现tree节点的拖拽功能;所以用到了COleDataSource;
可是问题来了:
程序运行后,鼠标拖拽tree节点,
在拖拽响应函数内
COleDataSource的DoDragDrop立刻就返回了;

按正常情况这个函数应该在鼠标抬起的时候才返回;

曾经在exe项目中用过拖拽,注意到一个情况,在没有用AfxOleInit()初始化Ole的时候,就会出现这种情况;

不过这个dll的App::InitInstance() 里已经初始化了;
dll的所有接口也已经使用AFX_MANAGE_STATE(AfxGetStaticModuleState());了;
不知道还有什么问题原因会导致这种问题

dll中使用ole还要注意一些什么呢?

------解决思路----------------------
DragDrop属于COM里面的高端功能,CoInitialize()已无法满足要求,要用OleInitialize()
MFC里面的AfxOleInit应该是必须的