rtmv2.h) (RtmRegisterEntity 函数

RtmRegisterEntity 函数向特定地址系列的路由表管理器实例注册客户端。 路由表管理器返回实例的注册句柄和配置文件。 配置文件包含调用其他函数时使用的值的列表。 值包括单个调用在缓冲区中返回的最大目标数。

注册是客户端应执行的第一项操作。

语法

DWORD RtmRegisterEntity(
  [in]  PRTM_ENTITY_INFO           RtmEntityInfo,
  [in]  PRTM_ENTITY_EXPORT_METHODS ExportMethods,
  [in]  RTM_EVENT_CALLBACK         EventCallback,
  [in]  BOOL                       ReserveOpaquePointer,
  [out] PRTM_REGN_PROFILE          RtmRegProfile,
  [out] PRTM_ENTITY_HANDLE         RtmRegHandle
);

parameters

[in] RtmEntityInfo

指向 RTM_ENTITY_INFO 结构的指针。 此结构包含标识路由表管理器客户端的信息,例如路由表管理器实例和要注册的地址系列。

[in] ExportMethods

指向包含客户端导出的方法列表的 RTM_ENTITY_EXPORT_METHODS 结构的指针。 此参数是可选的,如果调用客户端没有要导出的方法,则可以将其设置为 NULL

[in] EventCallback

RTM_EVENT_CALLBACK结构,指定路由表管理器用于向客户端通知事件的回调。 这些事件包括客户端注册和注销时、路由过期时间以及目标的最佳路由发生更改的时间。 仅在客户端调用 RtmRegisterForChangeNotification 时指定的更改。

[in] ReserveOpaquePointer

指定是否为此协议实例在每个目标中保留一个不透明指针。 指定 TRUE 以在每个目标中保留一个不透明的指针。 指定 FALSE 可跳过此操作。 这些不透明指针可用于指向每个目标的特定于协议的专用上下文。

[out] RtmRegProfile

输入时, RtmRegProfile 是指向 RTM_REGN_PROFILE 结构的指针。

输出时, RtmRegProfile 中填充了请求的注册配置文件结构。 客户端必须使用在其他函数调用中返回的信息, (返回的信息包括等价下一跃点数以及枚举函数调用) 返回的最大项数。

[out] RtmRegHandle

接收客户端的注册句柄。 必须在对路由表管理器的所有后续调用中使用此句柄。

返回值

如果函数成功,则返回值NO_ERROR。

如果函数失败,则返回值为以下错误代码之一。

含义
ERROR_ALREADY_EXISTS
指定的客户端已向路由表管理器注册。
ERROR_BAD_CONFIGURATION
路由表管理器的注册表信息已损坏。
ERROR_FILE_NOT_FOUND
找不到路由表管理器的注册表信息。
ERROR_INVALID_DATA
参数包含不正确的信息。
ERROR_INVALID_PARAMETER
参数包含不正确的信息。
ERROR_NO_SYSTEM_RESOURCES
没有足够的可用系统资源来完成此操作。
ERROR_NOT_ENOUGH_MEMORY
内存不足,无法完成此操作。

注解

有关使用此函数的示例代码,请参阅 Register with the Routing Table Manager

要求

   
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 rtmv2.h
Library Rtm.lib
DLL Rtm.dll

请参阅

RTM_ENTITY_EXPORT_METHODS

RTM_ENTITY_INFO

RTM_EVENT_CALLBACK

RTM_REGN_PROFILE

RtmDeregisterEntity

RtmGetRegisteredEntities

RtmReleaseEntities