使用方法

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

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

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

注意

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

 

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

  • 防止第二个客户端为正在注销的客户端调用方法。
  • 在阻止方法时保留“调用”请求,并在取消阻止方法时允许请求继续。

如果客户端必须阻止其他客户端执行其方法,则客户端可以调用 RtmBlockMethods。 在客户端再次取消阻止其方法之前,路由表管理器不允许处理对 RtmInvokeMethod 的调用。

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

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