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 può o meno essere per questa applicazione Il DMOD chiama le procedure di routing a sua volta fino a quando non si accetta il messaggio.

Sintassi

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

Parametri

msgptr
Puntatore al messaggio passato dal DMOD alla procedura di routing.

locl
Posizione da cui è stato ricevuto il messaggio (se retstat indica il messaggio restituito) o posizione in cui il percorso è stato perso (se retstat indica un errore di percorso).

retstat
Motivo della chiamata:

CEDINMSG (1): messaggio restituito.

CEDINLLN (2): errore di percorso (vedere le osservazioni seguenti).

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 true da sbpurcvx indica che sbpurcvx ha accettato il messaggio. È stata ricevuta una risposta di errore Open per questa applicazione e il percorso della risorsa continua. La procedura di routing non deve elaborare ulteriormente il messaggio e deve restituire TRUE per impedire al DMOD di chiamare altre procedure di routing.

Un codice restituito falseda sbpurcvx indica che la procedura di routing deve:

  • Se il messaggio è per questa applicazione, assumersi la responsabilità del messaggio e restituire TRUE per impedire al DMOD di chiamare altre procedure di routing.

  • Se il messaggio non è per questa applicazione, restituire FALSE in modo che DMOD tenti altre procedure di routing.

    Se viene restituito un errore di percorso, msgptr non punta a un messaggio valido e non verranno restituiti altri messaggi FMI (Function Management Interface) per il valore di localizzazione indicato. L'applicazione è responsabile della chiusura di tutte le sessioni usando questa posizione. La procedura di routing deve restituire FALSE. Ciò garantisce che la posizione persa sia segnalata a tutte le altre procedure di routing.

    Se il messaggio è per questa applicazione, la procedura di routing può elaborare il messaggio immediatamente o inserire il messaggio in una coda dell'applicazione e quindi pubblicare l'applicazione usando un semaforo. Per altre informazioni, vedere Ricezione di messaggi.