Condividi tramite


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 essere per questa applicazione. DMOD chiama a sua volta le procedure di routing finché non ne accetta uno.

Sintassi

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

Parametri

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

locl
Località da cui è stato ricevuto il messaggio (se retstat indica il messaggio restituito) o località a cui è stato perso il percorso (se retstat indica l'errore di percorso).

retstat
Motivo della chiamata:

CEDINMSG (1): messaggio restituito.

CEDINLLN (2): errore di percorso (vedere la sezione Osservazioni di seguito).

Valore restituito

TRUE
La procedura di routing ha accettato il messaggio.

FALSO
Il messaggio non è per questa procedura di routing.

Osservazioni:

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 la posizione della risorsa continua. La procedura di routing non deve elaborare ulteriormente il messaggio e deve restituire TRUE per impedire a DMOD di chiamare ulteriori procedure di routing.

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

  • Se il messaggio è relativo a questa applicazione, prendere la responsabilità del messaggio e restituire TRUE per impedire a DMOD di chiamare altre 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 punterà a un messaggio valido e non verranno restituiti altri messaggi dell'interfaccia di gestione delle funzioni (FMI) per il valore di località indicato. L'applicazione è responsabile della chiusura di tutte le sessioni usando questa località. La procedura di routing deve restituire FALSE. In questo modo si garantisce che la località persa venga segnalata a tutte le altre procedure di routing.

    Se il messaggio è relativo a 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.