Как C++ DLL отправляет ошибку в C# exe
У меня есть приложение, пользовательский интерфейс которого находится в C#, WPF, и этот пользовательский интерфейс использует DLL c++ для выполнения операций.
Я вызываю методы DLL c++ из своего пользовательского интерфейса в таким образом и это прекрасно работает.
Если DLL C++ получит какое-то исключение или ошибку во время выполнения, то как я могу передать ошибку с некоторым целочисленным значением и строкой обратно в мой c# exe, чтобы c# exe обновил пользовательский интерфейс в соответствии с ошибкой и показал читаемое сообщение пользователю.
Что я уже пробовал:
Я думаю об использовании обратных вызовов, потому что ошибка может прийти в любое время или из любого метода DLL.
Шаг 1: зарегистрируйте метод обратного вызова c# в c++
Шаг 2: всякий раз, когда ошибка или исключение поступали в DLL, вызывайте этот зарегистрированный метод обратного вызова c# из библиотеки DLL c++.
Шаг 3: запустите этот метод обратного вызова в течение бесконечного времени в c# exe и всякий раз, когда ошибка приходит из библиотеки DLL c++, идентифицируйте ошибку с помощью кода ошибки и выполните соответствующие действия.
Я не уверен, что этот подход верен или нет, но если он верен, то как его реализовать.