使用方法
当客户端向路由表管理器注册时,它可以导出一组方法。 其他客户端使用这些方法获取特定于客户端的信息。 方法支持路由表管理器的客户端之间的专用通信。
客户端可以获取由另一个客户端导出的方法列表。 客户端调用 RtmGetEntityMethods 函数,提供目标客户端的句柄。
客户端导出的每个方法都由其方法标识符唯一标识。 每个客户端最多可以导出 32 种方法。 每个方法对应于 RTM_ENTITY_EXPORT_METHOD 结构的 MethodType 成员中设置的位。 若要调用多个方法,客户端应为这些方法执行标识符的逻辑 OR。 实现协议时,必须指定每个协议的输入和输出结构的语法和语义。
注意
方法标识符值对应于 MethodType 成员下半部分设置的位 (较低 16 位) 由 Microsoft 保留。
若要调用第二个客户端的 方法,客户端将调用 RtmInvokeMethod 函数。 路由表管理器会仲裁所有调用客户端方法的请求。 路由表管理器在客户端之间仲裁时执行两项功能:
- 防止第二个客户端为正在注销的客户端调用方法。
- 在阻止方法时保留“调用”请求,并在取消阻止方法时允许请求继续。
如果客户端必须阻止其他客户端执行其方法,则客户端可以调用 RtmBlockMethods。 在客户端再次取消阻止其方法之前,路由表管理器不允许处理对 RtmInvokeMethod 的调用。
对客户端之间交换的专用数据进行更改时,客户端通常会阻止方法。 阻止方法是可选的操作。 客户端还可以使用内部锁来防止其他客户端调用方法。
有关演示如何使用这些函数的示例代码,请参阅 获取和调用客户端的导出方法。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈