Примерно 95% всех режимов отказа для неуправляемого кода приводят к нарушению доступа. Вы можете запустить такой режим сбоя, неправильно указав объявление [DllImport]. Но DidExist (), как опубликовано, не может вызвать один.
Обратитесь к поставщику или автору DLL за поддержкой. У них не должно быть проблем с воспроизведением ошибки и ее диагностикой с помощью отладчика и их исходного кода, если вы так легко его допустили.
Для полноты, наиболее типичные причины AccessViolation:
- ошибка управления памятью в неуправляемом коде, приводящая к повреждению кучи
- не проверяет данные, вызывает нулевые разыменования или переполнение буфера
- не проверяет коды ошибок возврата при вызове функций поддержки