Я реализовал интерфейс INetworkListManagerEvents для получения изменений состояния сетевого подключения в виде класса C#.
В моем проекте INetworkListManagerEvents — это код, сгенерированный с помощью генератора исходного кода CsWin32.
Теперь в какой-то момент мне придется использовать IConnectionPoint::Advise, чтобы он работал должным образом.
Как передать экземпляр реализации моего класса C# INetworkListManagerEvents для IConnectionPoint::Advise как IUnknown*.
Я не могу использовать класс Marshal, чтобы сделать его дружественным к обрезке и иметь встроенную совместимость с AoT.
Изменить 1:
Приведенный выше сценарий приведен только в качестве примера. Существуют и другие сценарии, в которых приемники событий необходимо реализовать в C#, чтобы получать уведомления, где управляемый класс C# необходимо передать в качестве указателя на соответствующую функцию Advise(...), чтобы он работал.
Подробнее здесь: https://stackoverflow.com/questions/797 ... rameter-to