Может ли управляемый COM-объект выгружать или завершать саму себя? - PullRequest
1 голос
/ 15 января 2010

У меня есть COM-объект, написанный на C #, который является панелью инструментов для панели задач Windows (реализует IDeskSite). Я тоже хочу,

  1. Запретить загрузку панели задач, если запущено определенное приложение

  2. Разрешить панели инструментов самостоятельно выгружаться в случае необработанного исключения, вместо того, чтобы исключение вызывало сбой Проводника

Для # 1 я знаю, что могу использовать Mutex, чтобы проверить, работает ли приложение, но я не уверен, как предотвратить продолжение загрузки COM-объекта процессом explorer.exe или как уведомить обработать, что объект имел ошибку и должен быть выгружен.

1 Ответ

0 голосов
/ 15 января 2010

Давайте поговорим о способе № 1. Посмотрите на интерфейс IClassFactory - любой (!) COM-объект создается либо по умолчанию, либо по реализованному вами. Так что просто реализуйте это путем проверки возможности создания экземпляра класса

...