routproc

routproc 函数是一个示例路由过程。 它必须作为应用程序的一部分提供。 它由动态访问模块 (DMOD) 调用,其中包含一条消息,该消息可能针对此应用程序,也可能不适用于此应用程序。DMOD 依次调用路由过程,直到有人接受该消息。

语法

  
DWORD routproc(   
BUFHDR *msgptr,   
USHORT locl,   
USHORT retstat   
);  

参数

msgptr
指向 DMOD 传递到路由过程的消息的指针。

locl
如果 retstat 指示) 返回的消息,则从中接收消息的位置 (;如果 retstat 指示路径错误) ,则 (路径丢失的位置。

retstat
调用原因:

CEDINMSG (1) — 返回的消息。

CEDINLLN (2) — 路径错误 (请参阅) 下面的说明。

返回值

TRUE
路由过程已接受消息。

FALSE
此消息不适用于此路由过程。

注解

路由过程应首先调用 sbpurcvx,用于处理任何 Open 响应消息,如下所示:

sbpurcvx (&msgptrloclretstat)

sbpurcvx 的返回代码 TRUE 表示 sbpurcvx 已接受消息;已收到此应用程序的“打开”错误响应,并且资源位置仍在继续。 路由过程不应进一步处理消息,应返回 TRUE 以防止 DMOD 调用进一步的路由过程。

sbpurcvx 返回的 FALSE 代码指示路由过程应:

  • 如果消息用于此应用程序,请对消息负责并返回 TRUE ,以防止 DMOD 调用进一步的路由过程。

  • 如果消息不适用于此应用程序,请返回 FALSE ,以便 DMOD 尝试进一步的路由过程。

    如果返回路径错误, 则 msgptr 不会指向有效消息,并且不会为指示的位置值返回更多的函数管理接口 (FMI) 消息。 应用程序负责使用此位置结束所有会话。 路由过程必须返回 FALSE。 这可确保将丢失位置报告给所有其他路由过程。

    如果消息针对此应用程序,则路由过程可以立即处理消息或将消息放入应用程序队列,然后使用信号量发布应用程序。 有关详细信息,请参阅 接收消息