структура RPC_POLICY (rpcdce.h)

Структура RPC_POLICY содержит флаги, определяющие привязку на компьютерах с несколькими адресами, и выделение портов при использовании протоколов ncacn_ip_tcp и ncadg_ip_udp .

Синтаксис

typedef struct _RPC_POLICY {
  unsigned int  Length;
  unsigned long EndpointFlags;
  unsigned long NICFlags;
} RPC_POLICY, *PRPC_POLICY;

Члены

Length

Размер структуры RPC_POLICY в байтах. Элемент Length обеспечивает совместимость с будущими версиями этой структуры, которые могут содержать дополнительные поля. Всегда устанавливайте значение Length равным sizeof(RPC_POLICY) при инициализации структуры RPC_POLICY в коде.

EndpointFlags

Набор флагов, определяющих атрибуты порта или портов, в которых сервер получает удаленные вызовы процедур. Можно указать несколько флагов (с помощью побитового оператора OR) из набора значений для заданной последовательности протокола. В следующей таблице перечислены возможные значения для элемента EndpointFlags .

Значение Значение
0
Задает системное значение по умолчанию.
RPC_C_USE_INTERNET_PORT
Выделяет конечную точку из одного из портов, определенных в реестре как "Доступный в Интернете". Допустимо только для последовательностей протоколов ncacn_ip_tcp и ncadg_ip_udp .
RPC_C_USE_INTRANET_PORT
Выделяет конечную точку из одного из портов, определенных в реестре как "Доступные в интрасети". Допустимо только для последовательностей протоколов ncacn_ip_tcp и ncadg_ip_udp .
RPC_C_MQ_TEMPORARY
Очередь обработки и получения сервера будет автоматически удалена при выходе сервера RPC. Все невыполненные вызовы, оставшиеся в очереди, будут потеряны. Это значение по умолчанию. Допустимо только в ncadg_mq последовательности протоколов.
RPC_C_MQ_PERMANENT
Указывает, что очередь получения серверного процесса сохраняется после завершения серверного процесса. По умолчанию очередь удаляется при завершении серверного процесса. Допустимо только с ncadg_mq последовательностью протоколов.
RPC_C_MQ_CLEAR_ON_OPEN
Если очередь получения уже существует, так как она была открыта ранее в качестве постоянной очереди, очистите все невыполненные вызовы, ожидающие в очереди. Допустимо только для последовательности протоколов ncadg_mq.
RPC_C_MQ_USE_EXISTING_SECURITY
Если очередь получения уже существует, не изменяйте существующие параметры для проверки подлинности или шифрования. Допустимо только в последовательности протокола ncadg_mq.
RPC_C_MQ_AUTHENTICATE
Очередь получения серверного процесса принимает только проверенные вызовы от клиентов. По умолчанию принимаются вызовы, прошедшие проверку подлинности и не прошедшие проверку подлинности. Допустимо только с ncadg_mq последовательностью протоколов.
RPC_C_MQ_ENCRYPT
Вызовы сервера шифруются. По умолчанию принимаются как зашифрованные, так и незашифрованные вызовы. Допустимо только с ncadg_mq последовательностью протоколов.
RPC_C_MQ_AUTHN_LEVEL_NONE
Очередь получения сервера принимает все вызовы от клиентов. Это уровень проверки подлинности по умолчанию. Допустимо только с протоколом ncadg_mq .
RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY
Задает очередь получения сервера, чтобы принимать только вызовы клиентов с уровнем проверки подлинности RPC_C_AUTHN_LEVEL_PKT_INTEGRITY или RPC_C_AUTHN_LEVEL_PKT_PRIVACY. Допустимо только в последовательности протокола ncadg_mq.
RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY
Задает очередь получения сервера, чтобы принимать только вызовы клиентов с уровнем проверки подлинности RPC_C_AUTHN_LEVEL_PKT_PRIVACY. Вызовы с более низким уровнем проверки подлинности игнорируются. Допустимо только в последовательности протокола ncadg_mq.
 
 
Примечание Если реестр не содержит ни одного из разделов, определяющих политики по умолчанию, то элемент EndpointFlags не будет действовать во время выполнения. Если ключ отсутствует или содержит недопустимое значение, вся конфигурация для этого протокола ( ncacn_ip_tcp, ncadg_ip_udp или ncadg_mq) помечается как недопустимая и все вызовы функций RpcServerUseProtseq* по протоколу завершатся сбоем.
 

NICFlags

Политика привязки к сетевым картам (NIC). В следующей таблице перечислены возможные значения для элемента NICFlags .

Значение Значение
0
Выполняет привязку к сетевым адаптерам на основе параметров реестра. Всегда используйте это значение при использовании структуры RPC_POLICY для определения свойств очереди сообщений.
RPC_C_BIND_TO_ALL_NICS
Переопределяет параметры реестра и привязывается ко всем сетевым адаптерам. Если раздел Bind отсутствует в реестре, член NICFlags не будет действовать во время выполнения. Если ключ содержит недопустимое значение, вся конфигурация помечается как недопустимая и все вызовы RpcServerUseProtseq* завершатся ошибкой.

Комментарии

Структуру RPC_Policy можно использовать для настройки политик для удаленных вызовов процедур во время выполнения. К таким политикам относятся следующие:

  • Очередь сообщений. Позволяет серверу указывать свойства очереди сообщений, такие как безопасность, качество доставки и время существования очереди серверных процессов. Эта политика действует только для удаленных вызовов через транспорт очереди сообщений (ncadg_mq).
  • Выделение портов для динамических портов. Указывает, должна ли конечная точка, зарегистрированная этим приложением, переходить в набор портов, доступный через Интернет или в интрасети.
  • Выборочная привязка. Позволяет компьютерам с несколькими адресами выборочно привязаться к сетевым адаптерам.
Примечание Политики выделения портов и выборочной привязки действуют только для удаленных вызовов через TCP ( ncacn_ip_tcp) и UDP ( ncadg_ip_udp) подключения. Дополнительные сведения см. в разделе Настройка реестра для распределения портов и выборочной привязки.
 

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть rpcdce.h (включая Rpc.h)

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

Настройка реестра для выделения портов и выборочной привязки

Очередь сообщений RPC

RpcServerUseAllProtseqsEx

RpcServerUseAllProtseqsIfEx

RpcServerUseProtseqEpEx

RpcServerUseProtseqEx

RpcServerUseProtseqIfEx