RPC_ENDPOINT_TEMPLATEA结构(rpcdce.h)
RPC_ENDPOINT_TEMPLATE 结构指定 RPC 接口组服务器终结点的属性,包括协议序列和名称。
语法
typedef struct {
unsigned long Version;
RPC_CSTR ProtSeq;
RPC_CSTR Endpoint;
void *SecurityDescriptor;
unsigned long Backlog;
} RPC_ENDPOINT_TEMPLATEA, *PRPC_ENDPOINT_TEMPLATEA;
成员
Version
此字段是保留的,必须设置为 0。
ProtSeq
指向协议序列的字符串标识符的指针,用于向 RPC 运行时库注册。 仅支持 ncalrpc、ncacn_ip_tcp 和 ncacn_np。 此值不得 NULL。
Endpoint
指向终结点地址信息的可选指针,该信息用于为 Protseq 参数中指定的协议序列创建绑定。 指定 NULL 以使用动态终结点。
SecurityDescriptor
指向为安全子系统提供的可选参数的指针。 仅用于 ncacn_np 和 ncalrpc 协议序列。 所有其他协议序列都忽略此参数。 不建议在终结点上使用安全描述符以使服务器安全。
Backlog
ncacn_ip_tcp 协议序列的积压工作队列长度。 所有其他协议序列都忽略此参数。 使用 RPC_C_PROTSEQ_MAX_REQS_DEFAULT 指定默认值。 有关详细信息,请参阅“备注”。
言论
应用程序 积压工作 中提供的值只是提示。 RPC 运行时或 Windows 套接字提供程序可能会重写该值。 例如,在 Windows XP 或 Windows 2000 Professional 上,该值限制为 5。 忽略大于 5 的值,而是使用 5。 在 Windows Server 2003 和 Windows 2000 Server 上,将遵循该值。
应用程序必须小心,才能在 积压工作中传递合理的值。 服务器、高级服务器或 Datacenter Server 上的较大值可能会导致使用大量非分页池内存。 如果积压工作队列耗尽,则使用太小的值也是不利的,因为它可能会导致来自服务器的 TCP RST 满足 TCP SYN 数据包。
在确定 积压工作的正确值时,应用程序开发人员应平衡内存占用与可伸缩性要求。
注意
rpcdce.h 标头将RPC_ENDPOINT_TEMPLATE定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 8 [仅限桌面应用] |
支持的最低服务器 | Windows Server 2012 [仅限桌面应用] |
标头 | rpcdce.h (包括 Rpc.h) |