Функция RpcEpRegisterA (rpcdce.h)
Функция RpcEpRegister добавляет или заменяет сведения об адресе сервера в локальной базе данных сопоставления конечных точек.
Синтаксис
RPC_STATUS RpcEpRegisterA(
RPC_IF_HANDLE IfSpec,
RPC_BINDING_VECTOR *BindingVector,
UUID_VECTOR *UuidVector,
RPC_CSTR Annotation
);
Параметры
IfSpec
Интерфейс для регистрации в локальной базе данных схемы конечных точек.
BindingVector
Указатель на вектор дескрипторов привязки, по которым сервер может принимать удаленные вызовы процедур.
UuidVector
Указатель на вектор пользовательских идентификаторов объектов, предлагаемых сервером. Серверное приложение создает этот вектор. Значение аргумента NULL указывает на отсутствие UID объекта для регистрации.
Annotation
Указатель на символьный комментарий, применяемый к каждому элементу перекрестного продукта, добавленному в локальную базу данных схемы конечных точек. Строка может содержать до 64 символов, включая завершающий символ NULL. Укажите значение NULL или строку, завершаемую null ("\0"), если строки заметок нет.
Строка заметки используется приложениями только для получения сведений. RPC не использует эту строку для определения экземпляра сервера, с которым взаимодействует клиент, или для перечисления элементов в базе данных схемы конечных точек.
Возвращаемое значение
Значение | Значение |
---|---|
|
Вызов выполнен успешно. |
|
Нет привязок. |
|
Недопустимый дескриптор привязки. |
|
Это была неправильная привязка для операции. |
Комментарии
Функция RpcEpRegister добавляет или заменяет записи в базе данных сопоставления конечных точек локального узла. Для существующей записи базы данных, которая соответствует предоставленной спецификации интерфейса, дескриптору привязки и идентификатору UUID объекта, эта функция заменяет конечную точку записи конечной точкой в предоставленном дескрипторове привязки.
Сервер может использовать RpcEpRegister и RpcEpRegisterNoReplace для регистрации записей в базе данных сопоставителя конечных точек. До Windows 2000 были доступны две функции, позволяющие серверу перезаписывать устаревшие записи в базе данных сопоставителя конечных точек, оставшиеся от предыдущих экземпляров сервера, которые больше не работают. База данных сопоставителя конечных точек автоматически удаляет записи, зарегистрированные экземпляром сервера, как только сервер перестает работать. Однако серверы не могут заменять записи сопоставителя конечных точек другого сервера в целях безопасности. Таким образом, RpcEpRegister и RpcEpRegisterNoReplace выполняют практически одинаковые функции.
Серверное приложение вызывает RpcEpRegister для регистрации конечных точек, указанных путем вызова любой из следующих функций:
- RpcServerUseAllProtseqs
- RpcServerUseProtseq
- RpcServerUseProtseqEp
- RpcServerUseAllProtseqsIf
- RpcServerUseProtseqIf
Если последовательность протокола используется без указания конечной точки, библиотека времени выполнения RPC автоматически создает динамическую конечную точку. В этом случае сервер может вызвать RpcServerInqBindings и RpcEpRegister , чтобы сделать себя доступным для нескольких клиентов. В противном случае автоматически запущенный сервер будет известен только клиенту, для которого он был запущен. Каждый элемент, добавленный в базу данных схемы конечных точек, логически содержит следующее:
- UUID интерфейса
- Версия интерфейса (основной и дополнительный)
- Дескриптор привязки
- UUID объекта (необязательно)
- Заметка (необязательно)
Примечание
Заголовок rpcdce.h определяет RpcEpRegister в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | rpcdce.h (включая Rpc.h) |
Библиотека | Rpcrt4.lib |
DLL | Rpcrt4.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по