cocreateinstance-反向是什么

CoCreateInstance - What is the reverse?

本文关键字:是什么 cocreateinstance-      更新时间:2023-10-16

使用com使用cocreateinstance创建对象。

是否有一种完全破坏它的方法,因此单元测试的下一部分可以重新开始?

每个持有引用的com接口指针的人都可以保证对象还活着,因此不知道每个持有接口指针的人都对您的com对象,并且能够要求发布您无法确保您无法确保物体被破坏。

您当然可以尝试

for(; ; )
{
  if(pFoo->Release() == 0)
    break;
}

但是,即使这样,您(a)也会获得死循环,(b)引用您对象的人一旦尝试访问销毁的对象,就会获得访问违规/未定义的行为(他们仍然期望引用的对象还活着)。<<<<<<<<<<<<<<<<<<

另一种方法是,您使用包装器对象并在内部管理真实的com对象而无需公开它。然后您将方法从包装器转发到内部对象。然后,您可以要求包装器发布内部引用,这通常会导致内部对象的破坏。