Поделиться через


Регистрация конечных точек

Регистрация серверной программы в схеме конечных точек главного компьютера сервера позволяет клиентским программам определить, какую конечную точку (обычно порт TCP/IP или именованный канал) прослушивает серверная программа. Чтобы зарегистрировать себя в сопоставлении конечных точек системы узла сервера, серверная программа вызывает функцию RpcEpRegister , как показано в следующем фрагменте кода:

// This example assumes that MyInterface_v1_0_s_ifspec is a valid data
// structure that represents the interface being registered. The 
// variable is a valid pointer to a binding vector.
RPC_STATUS status;
status = RpcEpRegister(
    MyInterface_v1_0_s_ifspec,
    rpcBindingVector,
    NULL,
    NULL);

Первый параметр rpcEpRegister — это структура, представляющая интерфейс . Его можно найти в файле заголовка, созданном компилятором MIDL из midl-файла для этого распределенного приложения. См. раздел Разработка интерфейса. Затем RpcEpRegister требуется, чтобы приложение передавало набор дескрипторов привязки, которые хранятся в векторе привязки.

Помимо регистрации имен интерфейсов, серверное приложение может также регистрировать идентификаторы UUID объектов в сопоставлении конечных точек. В этом примере нет идентификаторов UUID объектов для регистрации, поэтому третий параметр RpcEpRegister имеет значение NULL.

Последний параметр — строка комментария. Хотя библиотека времени выполнения RPC не использует эту строку, рекомендуется задать ее, так как это повышает управляемость системы. Системный администратор может использовать строку для определения портов, используемых приложениями, которые затем можно использовать для определения портов, управляемых брандмауэрами.