Здравствуйте, Autogen, Вы писали:
A>Вобщем постараюсь в кратце объяснить суть проблемы.
A>Есть две проги, первая оформлена как сервис, и является RPC сервером, прослушка идёт по TCP по заданому порту.
A>Вторая позволяет управлять настройками первой (порт и ещё кой чего)
A>Вобщем трабла такая, стартуем сервис, он открывает прослушку всё гуд, но когда я пытаюсь поменять порт из настроечной проги он,
A>почему то, честно открывает прослушку на новом но не закрывает на страром.
A>работа с RPC идёт по следующей схеме
A>1) задаём параметры прослушки RpcServerUseProtseqEp
A>2) региструем сервис RpcServerRegisterIf
A>3) ставим на блокирующую прослушку RpcServerListen
A>4) если засекли что надо поменять порт останавливаем прослушку RpcMgmtStopServerListening
A>5) разрегистрируем сервер RpcServerUnregisterIf
A>6) повторяем цикл
A>модель сервера оформлена в двух потоках, первый главный, непосредственно поток сервиса, который отслеживает,
A>что настройки надо поменять и вызывает RpcMgmtStopServerListening (ну и управляет работой дочернего потока).
A>И дочерний поток в котором идёт регистрация, блокирующая прослушка и разрегистрация.
A>Есть идеи что я делаю не так при закрытии прослушки?
Может это?
Note From the client-side, RpcMgmtStopServerListening is disabled by default. To enable this function, create an authorization function in your server application that returns TRUE (to allow a remote shutdown) whenever RpcMgmtStopServerListening is called. Use RpcMgmtSetAuthorizationFn to give the client access to the management function
В любом случае а что возвращает RpcMgmtStopServerListening ?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>