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,它會處理任何開啟的回應訊息,如下所示:

sbpurcvx (&msgptrloclretstat)

Sbpurcvx傳回碼 TRUE 表示sbpurcvx已接受訊息;此應用程式已收到開啟的錯誤回應,且資源位置正在繼續。 路由程式不應進一步處理訊息,而且應該傳回 TRUE ,以防止 DMOD 呼叫進一步的路由程式。

Sbpurcvx傳回碼為FALSE表示路由程式應該:

  • 如果訊息是針對此應用程式,請負責訊息並傳回 TRUE ,以防止 DMOD 呼叫進一步的路由程式。

  • 如果訊息不是針對此應用程式,則傳回 FALSE ,讓 DMOD 嘗試進一步的路由程式。

    如果傳回路徑錯誤, msgptr 將不會指向有效的訊息,也不會再 (FMI 的函式管理介面,會針對指出的位置值傳回) 訊息。 應用程式會負責結束使用此位置的所有會話。 路由程式必須傳回 FALSE。 這可確保將遺失的位置回報給所有其他路由程式。

    如果訊息是針對此應用程式,則路由程式可以立即處理訊息,或將訊息放在應用程式佇列中,然後使用信號來張貼應用程式。 如需詳細資訊,請參閱 接收訊息