routproc
La funzione routproc è una procedura di routing di esempio. Deve essere fornito come parte dell'applicazione. Viene chiamato dal modulo DMOD (Dynamic Access Module) con un messaggio che potrebbe o meno essere per questa applicazione Le procedure di routing delle chiamate DMOD a loro volta fino a quando non viene accettato il messaggio.
Sintassi
DWORD routproc(
BUFHDR *msgptr,
USHORT locl,
USHORT retstat
);
Parametri
msgptr
Puntatore al messaggio passato da DMOD alla procedura di routing.
locl
Localizzazione da cui è stato ricevuto il messaggio (se retstat indica che il messaggio è stato restituito) o la località in cui è stato perso il percorso (se retstat indica l'errore del percorso).
retstat
Motivo della chiamata:
CEDINMSG (1): messaggio restituito.
CEDINLLN (2) - Errore del percorso (vedere Osservazioni di seguito).
Valore restituito
true
La procedura di routing ha accettato il messaggio.
FALSE
Il messaggio non è per questa procedura di routing.
Commenti
La procedura di routing deve prima chiamare sbpurcvx, che gestisce tutti i messaggi di risposta Open, come indicato di seguito:
sbpurcvx(&msgptr, locl, retstat)
Un codice restituito di TRUE da sbpurcvx indica che sbpurcvx ha accettato il messaggio; è stata ricevuta una risposta di errore aperta per questa applicazione e la posizione della risorsa continua. La procedura di routing non deve elaborare ulteriormente il messaggio e deve restituire TRUE per impedire al DMOD di chiamare ulteriori procedure di routing.
Un codice restituito di FALSE da sbpurcvx indica che la procedura di routing deve:
Se il messaggio è per questa applicazione, prendere responsabilità del messaggio e restituire TRUE per impedire al DMOD di chiamare ulteriori procedure di routing.
Se il messaggio non è per questa applicazione, restituire FALSE in modo che DMOD tenti ulteriori procedure di routing.
Se viene restituito un errore di percorso, msgptr non punta a un messaggio valido e non verranno restituiti altri messaggi di interfaccia di gestione delle funzioni (FMI) per il valore di localizzazione indicato. L'applicazione è responsabile della fine di tutte le sessioni usando questa località. La procedura di routing deve restituire FALSE. Ciò garantisce che la località persa venga segnalata a tutte le altre procedure di routing.
Se il messaggio è per questa applicazione, la procedura di routing può elaborare immediatamente il messaggio o inserire il messaggio in una coda dell'applicazione e quindi pubblicare l'applicazione usando un semaforo. Per altre informazioni, vedere Ricezione di messaggi.