Я пытаюсь использовать SDK в настольном приложении UWP, но меня останавливает исключение, я не совсем понимаю, что означает или как это исправить: InteropServices.SEHException
Я получил исходный код для C # оболочки для SDK, который я успешно создал как библиотеку классов UWP (она уже была доступна в nuget, но яВозможно, мне нужно было построить его специально для UWP - это уже не так).
Судя по отладочной информации, DLL загружена, а указатели для делегатов куда-то указывают, но исключение составляетброшенный в эту часть кода оболочки:
int controllerCount = EnumerateGpuController(IntPtr.Zero, 0);
Эта функция определяется как:
internal int EnumerateGpuController(IntPtr handles, int size) =>
enumerateGpuControllerPointer(handles, size);
Указатель получается из этого:
enumerateGpuControllerPointer = (EnumerateGpuControllerPointer)
Marshal.GetDelegateForFunctionPointer(NativeMethods.GetProcAddress(dllHandle, "EnumerateGPU"), typeof(EnumerateGpuControllerPointer));
dllHandle кажется действительным после подтверждения того, что он загружен.DLL находится в корне проекта и собирается как контент и копируется в каталог Debug при сборке.
Есть ли решаемый способ обойти это, или это песочница UWP, делающая невозможным использование внешних DLL?