Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > WSASetService


Автор: zss 16.4.2009, 13:39
работаю с 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;
    }

Автор: GremlinProg 16.4.2009, 14:37
думаю проблема в том, что права на создание сервиса на остальных машинах отсутствуют
остается только определить какие права

Автор: zss 16.4.2009, 14:39
Цитата(GremlinProg @  16.4.2009,  14:37 Найти цитируемый пост)
думаю проблема в том, что права на создание сервиса на остальных машинах отсутствуют
остается только определить какие права 

да вроде я администратор.

Даже если предположить, что нет прав, то как определить какие ему нужны ?

Автор: GremlinProg 16.4.2009, 14:49
может в журнале событий что-то есть по этому поводу?

Автор: zss 16.4.2009, 14:58
Цитата(GremlinProg @  16.4.2009,  14:49 Найти цитируемый пост)
может в журнале событий что-то есть по этому поводу? 

ничего нет.

Вообще раньше стоял тошибовский стек. Я его снес и поставил от MS. Может в этом проблема ?

Но симптомы указывают именно на то, что что-то не правильно я ей передаю. Хотя я тестировал на многих машинах - все работало...

Автор: GremlinProg 16.4.2009, 15:01
возможно в этой ветке помогут

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)