Выпуск Windows COM iTunes от Управляемого кода
Q: Как я должным образом выпускаю iTunes для Windows COM object от управляемого кода?
A: Как я должным образом выпускаю iTunes для Windows COM object от управляемого кода?
Общеязыковая среда выполнения Microsoft.NET Framework представляет COM-объекты через прокси, названный оберткой вызовов среды выполнения (RCW). Единственный RCW создается для каждого COM-объекта, и он поддерживает подсчет ссылок, постепенно увеличивающийся каждый раз, когда указатель COM-интерфейса отображается на нем. Когда подсчет ссылок достигает нуля, время выполнения выпускает все свои ссылки на неуправляемом COM-объекте. Поэтому, если все ссылки не были выпущены на RCW, COM-объект не будет выпущен.
Для выпуска COM-объектов правильно, необходимо вызвать Платформу.NET Marshal.ReleaseComObject метод. Этот метод постепенно уменьшает подсчет ссылок предоставленного RCW. Необходимо использовать этот метод для освобождения базового COM-объекта как показано в Перечислении 1 для iTunes COM:
Перечисление 1 , Выпускающее iTunes COM использование.NET Marshal.ReleaseComObject метод.
using System.Runtime.InteropServices; using iTunesLib; iTunesApp iTApp; ... Marshal.ReleaseComObject(iTApp); // release the iTunes COM iTApp = null; |
История версии документа
| Дата | Примечания |
|---|---|
| 21.08.2008 | Новый документ, описывающий, как должным образом выпустить Windows COM iTunes от управляемого кода |