На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > WSASetService
      работаю с bluetooth
      на одной из машин все работает.
      Но если поставить на другую машину, то не отрабатывает WSASetService.
      Причем использую тот же модуль (соответственно тот же стек)

      кож ошибки 10022 ("Получен недопустимый аргумент"). Что за аргумент - не понятно. Да и смущает, что на другой машине работатет

      код такой
      ExpandedWrap disabled
            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;
            }
        не то ?
        ExpandedWrap disabled
          dwSize
          Must be set to sizeof(WSAQuerySet). This is a versioning mechanism.
          Цитата popsa @
          не то ?

          у меня так вроде
          ExpandedWrap disabled
            WSAQUERYSET service             = { sizeof(service) };


          Добавлено
          хотя проверил и так
          ExpandedWrap disabled
            service.dwSize                  = sizeof(WSAQUERYSET);


          тоже самое.
            zss
            Давайте свое мыло, я вам пришлю очень интересный материал по этому
            поводу в pdf- может найдете что важное для вас
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0223 ]   [ 16 queries used ]   [ Generated: 27.04.24, 09:47 GMT ]