Comments 10
Не реклама, но частенько использую pinvoke.net. Собственно говоря из домена понятно. Несмотря на легкий бардак на их сайте иногда бывает очень полезным. Как правило есть сигнатуры для C# и VB. Но нужно относится критично к примерам. Иногда бывают явные ошибки в сигнатурах.
P.S. Для тех, кому нужно всего-лишь несколько методов из WinAPI: pinvoke.net
Если код по обе стороны ваш собственный, то лучше не дублировать всё API через P/Invoke, а воспользоваться COM (если он поддерживается, конечно же). Не полным паттерном, который требует фабрики классов и регистрацию в реестре, а просто выставить наружу одну функцию, которая вернёт или примет интерфейс.
Постоянно совмезать типы данных может стать нетривиальной задачей.
Наверное тут можно упомянуть "Маршалинг": https://docs.microsoft.com/ru-ru/dotnet/standard/native-interop/type-marshaling
Я пользуюсь Vanara ( https://github.com/dahall/Vanara ), чуть более высокоуровневая библиотека чем просто обёртка.
подскажите как взять параметр который отображается в настройках - устройства - блутуз устройства , там у него написан уровень зарядки , вот хочу его вывести около часов
Эффективнее писать свою dll на С/C++ с дальнейшем ипортом в C#. Прибегать к P/Invoke, если что то нужно коротенькое прописать из WinApi.
WinAPI из C#