При динамическом создании IPC-канала используются функции:
Динамическое создание IPC-канала осуществляется по следующему сценарию:
NsCreate()
и публикует имя сервера, имя интерфейса и имя службы с помощью вызова NsPublishService()
.NsCreate()
и выполняет поиск имени сервера и имени службы по имени интерфейса с помощью вызова NsEnumServices()
.KnCmConnect()
, передавая в качестве аргументов найденные имя сервера и имя службы.KnCmListen()
для проверки наличия запросов на доступ к службе.KnCmAccept()
, передавая в качестве аргументов имя клиента и имя службы, которые получены при вызове KnCmListen()
.Пункты 2 и 3 могут быть опущены, если клиент заранее знает имя сервера и имя службы.
Сервер может снимать с публикации на сервере имен ранее опубликованные службы с помощью вызова NsUnPublishService()
.
Сервер может отклонять запросы доступа к службам с помощью вызова KnCmDrop()
.
Для использования сервера имен политика безопасности решения должна разрешать взаимодействие процесса класса kl.core.NameServer
и процессами, между которыми необходимо динамически создавать IPC-каналы.