J S*_*ith 7 .net com com-interop rcw
判断COM对象的引用计数是否达到0的一种方法是尝试访问其中一个成员并捕获生成的InvalidComObjectException,这不是很优雅,并且似乎不能很好地适应.另一种方法是调用Marshal.ReleaseComObject并检查结果,但这需要将Com对象的引用计数减少1.
有简单明了的方法吗?
在.NET 论坛上,这个问题之前已经被提出过。
问:是否有任何方法可以在不减少内部参考计数的情况下获取它?
答:没有类库方法可以提供此服务。
问:如果不减少内部引用计数就不可能获得它,有什么方法可以在调用后增加其计数吗Marshal.ReleaseComObject()?
答:同样,没有类库方法提供此服务。
他们确实有一种尴尬的方法来实现这一点,作为一种解决方法,使用从 COM 服务器导出的全局 API。
详细信息请参见:http://social.msdn.microsoft.com/Forums/vstudio/en-US/9de651e0-ad3c-44be-8855-3dc13673ac73/how-can-i-get-the-internal-marshaling-count-of -an-rcw-systemcomobject?forum=clr
除此之外,看起来你被困住了。希望对您有帮助。
| 归档时间: |
|
| 查看次数: |
357 次 |
| 最近记录: |