Могу ли я загрузить изолированные экземпляры неуправляемой библиотеки DLL в оболочке C ++ / CLI - PullRequest
0 голосов
/ 16 марта 2012

У меня есть неуправляемая DLL (unmangaged.dll) в оболочке C ++ / CLI. Unmanaged.dll является подкомпонентом элемента управления, который создается в нескольких местах на экране. У каждого экземпляра элемента управления есть свой собственный экземпляр unmanaged.dll (поскольку каждый unmanaged.dll поддерживает свое состояние).

Есть ли способ создать тот же файл unmanaged.dll, чтобы полностью разделить состояния? (например, различные настройки в каждом экземпляре unmanaged.dll.)

К сожалению, все, что я читал о unmanaged.dll в оболочках C ++ / CLI, - это то, что все вызовы являются статическими.

Спасибо

1 Ответ

0 голосов
/ 16 марта 2012

В Windows отсутствует понятие «экземпляр собственной DLL в процессе».В данный процесс можно загрузить только одну копию собственной библиотеки DLL.

Вы можете:

  • иметь несколько экземпляров объектов, созданных библиотекой DLL
  • загрузить DLLвключите столько процессов, сколько вам нужно, и используйте какое-то межпроцессное взаимодействие (IPC), чтобы общаться с ним из основного процесса.
...