Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.84] |
|
Сообщ.
#1
,
|
|
|
работаю с bluetooth
на одной из машин все работает. Но если поставить на другую машину, то не отрабатывает WSASetService. Причем использую тот же модуль (соответственно тот же стек) кож ошибки 10022 ("Получен недопустимый аргумент"). Что за аргумент - не понятно. Да и смущает, что на другой машине работатет код такой SOCKADDR_BTH sa = {0}; int size = sizeof(sa); if (getsockname (socket, (SOCKADDR *)&sa, &size) != 0) { DebugMessage ("..."); return false; } CSADDR_INFO csinfo = {0}; csinfo.LocalAddr.lpSockaddr = (LPSOCKADDR)&sa; csinfo.RemoteAddr.lpSockaddr = (LPSOCKADDR)&sa; csinfo.LocalAddr.iSockaddrLength = sizeof (sa); csinfo.RemoteAddr.iSockaddrLength = sizeof (sa); csinfo.iSocketType = SOCK_STREAM; csinfo.iProtocol = BTHPROTO_RFCOMM; WSAQUERYSET service = { sizeof(service) }; GUID serviceID = SerialPortServiceClass_UUID; service.lpszServiceInstanceName = "Bluetooth Service"; service.lpszComment = "Bluetooth Comment"; service.lpServiceClassId = &serviceID; service.dwNameSpace = NS_BTH; service.lpcsaBuffer = &csinfo; service.dwNumberOfCsAddrs = 1; if (WSASetService(&service, RNRSERVICE_REGISTER, 0) == SOCKET_ERROR) { DebugMessage ("..."); return false; } |
Сообщ.
#2
,
|
|
|
не то ?
dwSize Must be set to sizeof(WSAQuerySet). This is a versioning mechanism. |
Сообщ.
#3
,
|
|
|
Цитата popsa @ не то ? у меня так вроде WSAQUERYSET service = { sizeof(service) }; Добавлено хотя проверил и так service.dwSize = sizeof(WSAQUERYSET); тоже самое. |
Сообщ.
#4
,
|
|
|
zss
Давайте свое мыло, я вам пришлю очень интересный материал по этому поводу в pdf- может найдете что важное для вас |