Регистрация серверной программы в таблице соответствия конечных точек на хост-компьютере сервера позволяет клиентам определить, на какой конечной точке (обычно порт TCP/IP или именованный канал) "слушает" серверная программа. Для того, чтобы зарегистрировать себя в таблице соответствия конечных точек на хост-компьютере сервера, серверная программа вызывает функцию RpcEpRegister, как показано в следующем фрагменте кода:
RPC_STATUS status;
status = RpcEpRegister(
MyInterface_v1_0_s_ifspec,
rpcBindingVector,
NULL,
NULL);
Первый аргумент функции – это структура, которая представляет интерфейс, вы можете найти ее определение в заголовочном файле, который создает компилятор MIDL. Второй аргумент – это вектор связывания.
Помимо регистрации имен интерфейсов, серверное приложение может также зарегистрировать UUID-ы объектов в карте соответствия конечных точек. Информация о UUID-ах передается через третий аргумент. В нашем примере эта функциональность не используется, поэтому мы передаем NULL.
Последний аргумент – это строка комментария. Хотя rune-time RPC и не использует эту строку, все же рекомендуется указывать ее, так как это облегчает управление системой.