/protocol switch

/protocol 开关指定生成的存根支持哪个线路协议。

midl /protocol (dce | ndr64 | all)

切换选项

Dce

生成的存根仅支持 DCE 协议。

ndr64

生成的存根仅支持 Microsoft NDR64 协议。

所有

生成的存根支持给定环境的所有可用协议。

备注

RPC 根据严格的网络协议(也称为传输语法)对数据进行封送和解封处理,该协议定义数据线表示形式,例如数据成员的封送顺序、网络上数据的对齐方式、数据附带的其他信息等。 Microsoft RPC 与 OSF DCE 的 NDR (网络数据表示) 协议兼容。 在 64 位版本的 Windows XP 中,Microsoft 引入了针对传输 64 位数据的实验性协议 NDR64。 NDR64 不向后兼容 DCE 协议。

dce 协议与 OSF DCE 的 NDR 传输语法兼容。 此协议已针对传输 32 位数据进行优化。

目前仅当与 / win64 开关一起使用时才支持 ndr64 协议。 如果仅限 ndr64 的客户端尝试连接到仅 dce 服务器,反之亦然,则会拒绝调用并RPC_S_UNSUPPORTED_TRANS_SYN。

all 选项创建可以使用任何可用协议的存根。 对于 32 位存根,当前唯一可用的协议是 DCE。 对于使用 /win64 开关创建的 64 位存根,DCE 和 NDR64 都可用。

示例

midl /protocol all /win64 filename.idl

请参阅

/<system>