Функция RpcServerRegisterIf (rpcdce.h)

Функция RpcServerRegisterIf регистрирует интерфейс с библиотекой времени выполнения RPC.

Синтаксис

RPC_STATUS RpcServerRegisterIf(
  RPC_IF_HANDLE IfSpec,
  UUID          *MgrTypeUuid,
  RPC_MGR_EPV   *MgrEpv
);

Параметры

IfSpec

Структура, созданная MIDL, указывающая интерфейс для регистрации.

MgrTypeUuid

Указатель на тип UUID, который необходимо связать с параметром MgrEpv . Указание значения параметра NULL (или nil UUID) регистрирует IfSpec с UUID типа nil.

MgrEpv

Вектор точки входа (EPV) подпрограмм диспетчера. Чтобы использовать EPV по умолчанию, созданный MIDL, укажите значение NULL. Дополнительные сведения см. в разделе RPC_MGR_EPV.

Возвращаемое значение

Возвращает RPC_S_OK при успешном выполнении.

Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

Сервер может зарегистрировать неограниченное количество интерфейсов в библиотеке времени выполнения RPC. Регистрация делает интерфейс доступным для клиентов, используя дескриптор привязки к серверу. Чтобы зарегистрировать интерфейс, код серверного приложения вызывает RpcServerRegisterIf. Для каждой реализации интерфейса, который предлагает сервер, он должен зарегистрировать отдельный EPV диспетчера.

При вызове RpcServerRegisterIf сервер предоставляет следующие сведения:

  • Спецификация интерфейса

    Спецификация интерфейса — это структура данных, созданная компилятором MIDL. Сервер задает интерфейс с помощью параметра IfSpec .

  • Тип диспетчера UUID и EPV диспетчера

    Тип диспетчера UUID и EPV диспетчера определяют, какая подпрограмма диспетчера выполняется, когда сервер получает запрос на удаленный вызов процедуры от клиента.

    Сервер задает тип диспетчера UUID и EPV с помощью параметров MgrTypeUuid и MgrEpv . Обратите внимание, что при указании UUID типа диспетчера, отличного от nil, сервер должен также вызвать функцию RpcObjectSetType для регистрации объектов этого типа, отличного от nil.

Если серверное приложение должно зарегистрировать интерфейс автоматического прослушивания или использовать функцию обратного вызова для проверки подлинности, используйте RpcServerRegisterIfEx.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header rpcdce.h (включая Rpc.h)
Библиотека Rpcrt4.lib
DLL Rpcrt4.dll

См. также раздел

Регистрация интерфейсов

RpcBindingFromStringBinding

RpcBindingSetObject

RpcNsBindingExport

RpcNsBindingImportBegin

RpcNsBindingLookupBegin

RpcObjectSetType

RpcServerRegisterIf2

RpcServerRegisterIf3

RpcServerRegisterIfEx

RpcServerUnregisterIf

RpcServerUnregisterIfEx