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 成员允许兼容此结构的未来版本,其中可能包含其他字段。 在代码中初始化RPC_POLICY结构时,始终将 Length 设置为 sizeof (RPC_POLICY) 。
EndpointFlags
一组标志,用于确定服务器接收远程过程调用的一个或多个端口的属性。 可以使用给定协议序列的值集中的按位 OR 运算符) 指定多个标志 (。 下表列出了 EndpointFlags 成员的可能值。
值 | 含义 |
---|---|
|
指定系统默认值。 |
|
从注册表中定义为“Internet 可用”的端口之一分配终结点。 仅对 ncacn_ip_tcp 和 ncadg_ip_udp 协议序列有效。 |
|
从注册表中定义为“Intranet 可用”的端口之一分配终结点。 仅对 ncacn_ip_tcp 和 ncadg_ip_udp 协议序列有效。 |
|
RPC 服务器退出时,将自动删除服务器进程接收队列。 队列中仍有任何未完成的调用都将丢失。 这是默认值。 仅对 ncadg_mq 协议序列有效。 |
|
指定服务器进程 -接收队列在服务器进程退出后保留。 默认情况下,当服务器进程终止时,将删除队列。 仅对ncadg_mq协议序列有效。 |
|
如果由于以前作为永久队列打开而已存在接收队列,请清除队列中等待的任何未完成的调用。 仅对ncadg_mq协议序列有效。 |
|
如果接收队列已存在,请不要修改其现有的身份验证或加密设置。 仅对ncadg_mq协议序列有效。 |
|
服务器进程接收队列仅接受来自客户端的经过身份验证的调用。 默认值是接受经过身份验证和未经身份验证的调用。 仅对ncadg_mq协议序列有效。 |
|
对服务器的调用是加密的。 默认值是接受加密和未加密的调用。 仅对ncadg_mq协议序列有效。 |
|
服务器的接收队列接受来自客户端的所有调用。 这是默认的身份验证级别。 仅对 ncadg_mq 协议有效。 |
|
将服务器的接收队列设置为仅接受身份验证级别RPC_C_AUTHN_LEVEL_PKT_INTEGRITY或RPC_C_AUTHN_LEVEL_PKT_PRIVACY的客户端调用。 仅对ncadg_mq协议序列有效。 |
|
将服务器的接收队列设置为仅接受具有身份验证级别RPC_C_AUTHN_LEVEL_PKT_PRIVACY的客户端调用。 忽略身份验证级别较低的调用。 仅对ncadg_mq协议序列有效。 |
注意 如果注册表不包含任何指定默认策略的键,则 EndpointFlags 成员在运行时将不起作用。 如果某个密钥缺失或包含无效值,则该协议的整个配置 ( ncacn_ip_tcp、 ncadg_ip_udp 或 ncadg_mq) 标记为无效,并且通过该协议对 RpcServerUseProtseq* 函数的所有调用都将失败。
NICFlags
用于绑定到网络接口卡 (NIC) 的策略。 下表列出了 NICFlags 成员的可能值。
值 | 含义 |
---|---|
|
根据注册表设置绑定到 NIC。 使用 RPC_POLICY 结构定义消息队列属性时,请始终使用此值。 |
|
重写注册表设置并绑定到所有 NIC。 如果注册表中缺少 Bind 键,则 NICFlags 成员在运行时将不起作用。 如果密钥包含无效值,则整个配置将被标记为无效,并且对 RpcServerUseProtseq* 的所有调用都将失败。 |
注解
可以使用 RPC_Policy 结构在运行时为远程过程调用设置策略。 这些策略包括:
- 消息队列:允许服务器指定消息队列属性,例如安全性、传递质量和服务器进程队列的生存期。 此策略仅适用于通过消息队列传输 (ncadg_mq) 进行远程调用。
- 动态端口的端口分配:指定此应用程序注册的终结点应转到 Internet 可用端口集还是 Intranet 可用端口集。
- 选择性绑定:允许多宿主计算机选择性地绑定到 NIC。
注意 端口分配和选择性绑定策略仅对通过 TCP ( ncacn_ip_tcp ) 和 UDP ( ncadg_ip_udp) 连接的远程调用有效。 有关详细信息,请参阅 为端口分配和选择性绑定配置注册表。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | rpcdce.h (包括 Rpc.h) |