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


Но я не знаю сигнатуру функций. На pinvoke есть примеры многих системных dll с функциями но этой dll там нет.
...
Рейтинг: 0 / 0
01.10.2015, 16:28
    #39066328
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
Есть примеры для С++.
Код: 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
01.10.2015, 21:51
    #39066506
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
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
01.10.2015, 22:13
    #39066519
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
bazile
Код: c#
1.
int                         hDevice,


не согласен - HANDLE - это IntPtr
...
Рейтинг: 0 / 0
01.10.2015, 22:20
    #39066522
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
спасибо. я попробую.
...
Рейтинг: 0 / 0
02.10.2015, 06:01
    #39066594
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
Часто помогает нагенерить импорты пинвоков P/Invoke Interop Assistant .
...
Рейтинг: 0 / 0
02.10.2015, 10:24
    #39066769
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
Сон Веры ПавловныЧасто помогает нагенерить импорты пинвоков P/Invoke Interop Assistant .
это интересно. спасибо. попробую.
...
Рейтинг: 0 / 0
06.10.2015, 15:45
    #39069541
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
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
07.10.2015, 15:40
    #39070899
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
а вот такой вопрос – USHORT это ushort, а USHORT * это как?
...
Рейтинг: 0 / 0
07.10.2015, 15:51
    #39070914
fortibransa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
jenya7а вот такой вопрос – USHORT это ushort, а USHORT * это как?указатель на тип, чо
...
Рейтинг: 0 / 0
07.10.2015, 15:54
    #39070918
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
fortibransajenya7а вот такой вопрос – USHORT это ushort, а USHORT * это как?указатель на тип, чо
то что это указатель я понимаю, в С пишу иногда, как это написать в С#?
...
Рейтинг: 0 / 0
07.10.2015, 16:34
    #39070958
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
jenya7, ref ushort, out ushort или IntPtr
...
Рейтинг: 0 / 0
07.10.2015, 16:40
    #39070965
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включить dll в проект.
bazilejenya7, ref ushort, out ushort или IntPtr
спасибо. совсем забыл про ref.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Включить dll в проект. / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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