我仍在努力找出this question的答案。我希望能在正确的方向上轻推(因为我在OLE方面经验很少)。在调用RevokDragDrop之后有没有人遇到过类似的错误?
感谢,
答案 0 :(得分:1)
您将已封送的界面传递到另一个公寓。尝试调用方法会显示此信息并且调用因此错误RPC_E_WRONG_THREAD
而中止。
您应该小心在多个线程上使用接口指针。如果你打算使用一个你已经从另一个线程持有的指针,你必须考虑一下你是否被允许,或者你需要明确地编组/解组指针以供这样使用,例如: CoMarshalInterThreadInterfaceInStream
功能。
我认为问题的根源是使用GetProp
/ SetProp
API。那些存储原始指针,因为它们在路上没有必要的编组。