ncacn_np 属性
ncacn_np关键字 (keyword) 将命名管道标识为终结点的协议系列。
endpoint("ncacn_np:server-name[\\pipe\\pipe-name]")
-
server-name
-
可选。 指定服务器的名称。 反斜杠字符是可选的。
-
pipe-name
-
指定有效的管道名称。 有效的管道名称是包含用反斜杠字符分隔的标识符的字符串。 第一个标识符必须是 管道。 每个标识符必须用两个反斜杠字符分隔。
服务器创建命名管道的实例,该实例随后可供任何客户端使用。 当客户端尝试连接时,现有实例与该客户端相关联。 在另一个客户端可以连接之前,服务器必须创建命名管道的另一个实例。 如果在创建新实例之前,客户端尝试绑定到服务器,绑定调用 RpcBindingFromStringBinding 可能会失败,并显示错误消息RPC_S_SERVER_TOO_BUSY。 因此,需要确保客户端应用程序处理服务器太忙而无法接受连接的情况。 客户端应自动重试、提示用户执行操作或正常失败。
与所有端口字符串一样,命名管道端口字符串的语法由传输实现定义,并且独立于 IDL 规范。 MIDL 编译器执行有限的语法检查,但不保证终结点规范正确。 某些类错误可能会在运行时报告,而不是在编译时报告。
[
uuid(12345678-4000-2006-0000-20000000001a),
version(1.1),
endpoint("ncacn_np:[\\pipe\\stove\\hat]")
]
interface iface1
{
// Interface definition statements.
}
[
uuid(87654321-4000-2006-0000-20000000001b),
version(1.1),
endpoint("ncacn_np:\\\\myotherserver[\\pipe\\corncob]")
]
interface iface2
{
// Interface definition statements.
}