Freigeben über


routproc

Die routproc-Funktion ist eine Beispielroutingprozedur. Sie muss als Teil der Anwendung bereitgestellt werden. Es wird vom Dynamic Access Module (DMOD) mit einer Nachricht aufgerufen, die für diese Anwendung sein kann oder nicht. Der DMOD ruft wiederum Routingprozeduren auf, bis eine die Nachricht akzeptiert.

Syntax

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

Parameter

msgptr
Zeiger auf die Nachricht, die vom DMOD an die Routingprozedur übergeben wird.

locl
Lokalität, von der die Nachricht empfangen wurde (wenn retstat die zurückgegebene Nachricht angibt) oder Ort, an dem der Pfad verloren gegangen ist (wenn retstat auf Pfadfehler hinweist).

retstat
Grund für den Anruf:

CEDINMSG (1) – Nachricht zurückgegeben.

CEDINLLN (2) – Pfadfehler (siehe Hinweise unten).

Rückgabewert

true
Die Routingprozedur hat die Nachricht akzeptiert.

false
Die Nachricht ist nicht für diese Routingprozedur vorgesehen.

Hinweise

Die Routingprozedur sollte zuerst sbpurcvx aufrufen, das alle Open-Antwortnachrichten wie folgt behandelt:

sbpurcvx(&msgptr, locl, retstat)

Der Rückgabecode TRUE von sbpurcvx gibt an, dass sbpurcvx die Nachricht akzeptiert hat. Für diese Anwendung wurde eine Open-Fehlerantwort empfangen, und der Ressourcenspeicherort wird fortgesetzt. Die Routingprozedur sollte die Nachricht nicht weiter verarbeiten und TRUE zurückgeben, um zu verhindern, dass der DMOD weitere Routingprozeduren aufruft.

Der Rückgabecode FALSE von sbpurcvx gibt an, dass die Routingprozedur Folgendes ausführen soll:

  • Wenn die Nachricht für diese Anwendung gilt, übernehmen Sie die Verantwortung für die Nachricht und geben TRUE zurück, um zu verhindern, dass der DMOD weitere Routingprozeduren aufruft.

  • Wenn die Nachricht nicht für diese Anwendung gilt, geben Sie FALSE zurück, damit der DMOD weitere Routingprozeduren versucht.

    Wenn ein Pfadfehler zurückgegeben wird, verweist msgptr nicht auf eine gültige Nachricht, und für den angegebenen Lokalitätswert werden keine weiteren FMI-Meldungen (Function Management Interface) zurückgegeben. Die Anwendung ist für das Beenden aller Sitzungen mit diesem Ort verantwortlich. Die Routingprozedur muss FALSE zurückgeben. Dadurch wird sichergestellt, dass der verlorene Ort an alle anderen Routingprozeduren gemeldet wird.

    Wenn die Nachricht für diese Anwendung gilt, kann die Routingprozedur die Nachricht entweder sofort verarbeiten oder die Nachricht in eine Anwendungswarteschlange einfügen und die Anwendung dann mit einem Semaphor posten. Weitere Informationen finden Sie unter Empfangen von Nachrichten.