Winapi 在ColedopTarget::Revoke之后调用ColedopTarget::register重新注册drop目标安全吗?

Winapi 在ColedopTarget::Revoke之后调用ColedopTarget::register重新注册drop目标安全吗?,winapi,drag-and-drop,ole,Winapi,Drag And Drop,Ole,根据标题真的。。。如果我想在注册了多个coledopTarget对象的对话框上临时禁用拖放功能,我可以对每个对象调用Revoke(),然后调用Register()重新启用该功能吗?或者每次我都必须销毁并创建新的COleDropTarget对象吗?我在MSDN文档中看不到此类或相关RegisterDragDrop&RevokeDragDropWinAPI函数的任何线索 我会对它进行测试,但如果能保证重复这样做应该是安全的,那就比“似乎有效”要好。我不明白为什么这样做会不安全,但这并不是任何文档中都

根据标题真的。。。如果我想在注册了多个
coledopTarget
对象的对话框上临时禁用拖放功能,我可以对每个对象调用
Revoke()
,然后调用
Register()
重新启用该功能吗?或者每次我都必须销毁并创建新的
COleDropTarget
对象吗?我在MSDN文档中看不到此类或相关
RegisterDragDrop
&
RevokeDragDrop
WinAPI函数的任何线索


我会对它进行测试,但如果能保证重复这样做应该是安全的,那就比“似乎有效”要好。

我不明白为什么这样做会不安全,但这并不是任何文档中都讨论过的问题,所以要获得铁的保证是很困难的。如果您真的很担心,为什么不让您的
IDropTarget::DragEnter
方法在希望禁用D&D时返回
DROPEFFECT\u NONE

因为这涉及到在多个位置添加代码,并且依赖于将来的代码执行相同的操作,而不是让对话框获得“所有权”。