使用方法

当客户端向路由表管理器注册时,它可以导出一组方法。 这些方法由其他客户端用来获取特定于客户端的信息。 方法在路由表管理器的客户端之间启用专用通信。

客户端可以获取由另一个客户端导出的方法列表。 客户端调用 RtmGetEntityMethods 函数,提供目标客户端的句柄。

客户端导出的每个方法均由其方法标识符唯一标识。 每个客户端最多可以导出 32 种方法。 每个方法对应于RTM_ENTITY_EXPORT_METHOD结构的 MethodType 成员中的位集。 若要调用多个方法,客户端应为这些方法执行标识符的逻辑 OR。 实现协议时,必须指定每个协议的输入和输出结构的语法和语义。

注意

方法标识符值对应于 MethodType 成员下半部分设置的方法标识符值, (Microsoft 保留低 16 位) 。

 

若要调用第二个客户端的方法,客户端调用 RtmInvokeMethod 函数。 路由表管理器对调用客户端方法的所有请求进行仲裁。 路由表管理器在客户端之间进行仲裁时执行两个函数:

  • 阻止第二个客户端调用未注册的客户端的方法。
  • 在阻止方法时持有“调用”请求,并允许在取消阻止方法时继续请求。

如果客户端必须阻止其他客户端执行其方法,客户端可以调用 RtmBlockMethods。 路由表管理器不允许对 RtmInvokeMethod 的 调用得到处理,直到客户端再次解除阻止其方法。

客户端通常在对客户端之间交换的专用数据进行更改时阻止方法。 阻止方法是一个可选操作。 客户端还可以使用内部锁来阻止其他客户端调用方法。

有关如何使用这些函数的示例代码,请参阅 获取和调用客户端的导出方法