powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Включить dll в проект.
13 сообщений из 13, страница 1 из 1
Включить dll в проект.
    #39066316
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я хочу подключить BluetoothApis.dll к проекту на C#.
Ну с самой dll понятно.
Код: c#
1.
[DllImport("BluetoothApis.dll", SetLastError=true)]


Но я не знаю сигнатуру функций. На pinvoke есть примеры многих системных dll с функциями но этой dll там нет.
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39066328
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть примеры для С++.
Код: c#
1.
2.
3.
4.
5.
6.
7.
HRESULT WINAPI BluetoothGATTGetServices(
  _In_      HANDLE               hDevice,
  _In_      USHORT               ServicesBufferCount,
  _Out_opt_ PBTH_LE_GATT_SERVICE ServicesBuffer,
  _Out_     USHORT               *ServicesBufferActual,
  _In_      ULONG                Flags
);


А как перевести это на C#?
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39066506
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7, на сайте pinvoke описываются только функции WinAPI. Декларации для другие методов нужно искать на сайте разработчиков или делать самому . Вот для начала:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
[DllImport("BluetoothApis.dll", PreserveSig=false)]
static extern void BluetoothGATTGetServices(
    int                         hDevice,
    ushort                      ServicesBufferCount,
    out BTH_LE_GATT_SERVICE     BTH_LE_GATT_SERVICE,
    out ushort                  ServicesBufferActual,
    ulong                       Flags
);

[StructLayout(LayoutKind.Sequential]
struct BTH_LE_GATT_SERVICE
{
    // ...
}
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39066519
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile
Код: c#
1.
int                         hDevice,


не согласен - HANDLE - это IntPtr
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39066522
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо. я попробую.
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39066594
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Часто помогает нагенерить импорты пинвоков P/Invoke Interop Assistant .
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39066769
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры ПавловныЧасто помогает нагенерить импорты пинвоков P/Invoke Interop Assistant .
это интересно. спасибо. попробую.
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39069541
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jenya7Сон Веры ПавловныЧасто помогает нагенерить импорты пинвоков P/Invoke Interop Assistant .
это интересно. спасибо. попробую.

Тула скорее имеет образовательные цели чем практические. многие dll в том числе и мою не загружает. ругается "Could not load assembly ...". если вручную загружаешь функцию и наимаешь на сгенерить пишет
// Error: Failed to resolve name '_In_'
// Error: Failed to resolve name 'hDevice'
// Error: Failed to resolve name '_In_'
// Error: Failed to resolve name 'ServicesBufferCount'
// Error: Failed to resolve name '_Out_opt_'
// Error: Failed to resolve name 'ServicesBuffer'
// Error: Failed to resolve name '_Out_'
// Error: Failed to resolve name '*'
// Error: Failed to resolve name '_In_'
// Error: Failed to resolve name 'Flags'
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39070899
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а вот такой вопрос – USHORT это ushort, а USHORT * это как?
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39070914
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7а вот такой вопрос – USHORT это ushort, а USHORT * это как?указатель на тип, чо
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39070918
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fortibransajenya7а вот такой вопрос – USHORT это ushort, а USHORT * это как?указатель на тип, чо
то что это указатель я понимаю, в С пишу иногда, как это написать в С#?
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39070958
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7, ref ushort, out ushort или IntPtr
...
Рейтинг: 0 / 0
Включить dll в проект.
    #39070965
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazilejenya7, ref ushort, out ushort или IntPtr
спасибо. совсем забыл про ref.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Включить dll в проект.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]