2

我仍在试图找出这个问题的答案。我会很感激朝着正确的方向轻推(因为我在 OLE 方面的经验很少)。有没有人在调用 RevokDragDrop 后遇到过类似的错误?

谢谢,

4

1 回答 1

2

您将封送接口传递到不同的公寓。调用方法的尝试揭示了这一点,并且调用因该错误而中止RPC_E_WRONG_THREAD

您应该小心在多个线程上使用接口指针。如果您打算使用已经从不同线程中保存的指针,则必须考虑是否允许或需要显式编组/解组指针以供此类使用,例如使用CoMarshalInterThreadInterfaceInStream函数。

我想问题的根源是GetProp/ SetPropAPI used。这些存储原始指针,因为它们不需要在途中进行封送处理。

于 2012-05-23T13:50:30.017 回答