Recently, I encountered a strange problem. When calling the COM interface itest1 and C #, If I convert it into an object and then convert it into itest1, the access will fail and the result is null.
If they are all accessed in the main thread, OK. If they are accessed using a new thread, they will not work.
Fortunately, there is another interface, itest2, which can be used normally.
After careful comparison, it is found that itest1 is less than the statement of itest2 [Dual]. In addition, everything is OK.
[Object, UUID (1ef52fdb-1959-481a-a316-b238e49f332b ),Dual,Nonextensible, helpstring ("inbengine interface"), pointer_default (unique)] interface itest1: idispatch
I checked the description about "dual" on the Internet. It's not too clear. Can someone passing by explain the magic?
Http://bbs.csdn.net/topics/90411184
Http://topic.okbase.net/200611/2006110713/2760986.html