routproc

La función routproc es un procedimiento de enrutamiento de ejemplo. Debe proporcionarse como parte de la aplicación. Lo llama el Módulo de acceso dinámico (DMOD) con un mensaje que puede o no ser para esta aplicación. DMOD llama a los procedimientos de enrutamiento a su vez hasta que se acepta el mensaje.

Sintaxis

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

Parámetros

msgptr
Puntero al mensaje pasado por DMOD al procedimiento de enrutamiento.

locl
Localidad desde la que se recibió el mensaje (si retstat indica el mensaje devuelto) o la localidad en la que se perdió la ruta de acceso (si retstat indica un error de ruta de acceso).

retstat
Motivo de la llamada:

CEDINMSG (1): mensaje devuelto.

CEDINLLN (2): error de ruta de acceso (vea los comentarios siguientes).

Valor devuelto

true
El procedimiento de enrutamiento ha aceptado el mensaje.

FALSE
El mensaje no es para este procedimiento de enrutamiento.

Observaciones

El procedimiento de enrutamiento debe llamar primero a sbpurcvx, que controla los mensajes de respuesta Open, como se muestra a continuación:

sbpurcvx(&msgptr, locl, retstat)

Un código de retorno TRUE de sbpurcvx indica que sbpurcvx ha aceptado el mensaje; Se ha recibido una respuesta de error abierta para esta aplicación y la ubicación del recurso continúa. El procedimiento de enrutamiento no debe procesar más el mensaje y debe devolver TRUE para evitar que DMOD llame a otros procedimientos de enrutamiento.

Un código de retorno false desbpurcvx indica que el procedimiento de enrutamiento debe:

  • Si el mensaje es para esta aplicación, tome la responsabilidad del mensaje y devuelva TRUE para evitar que DMOD llame a más procedimientos de enrutamiento.

  • Si el mensaje no es para esta aplicación, devuelva FALSE para que DMOD intente más procedimientos de enrutamiento.

    Si se devuelve un error de ruta de acceso, msgptr no apuntará a un mensaje válido y no se devolverán más mensajes de la interfaz de administración de funciones (FMI) para el valor de localidad indicado. La aplicación es responsable de finalizar todas las sesiones con esta localidad. El procedimiento de enrutamiento debe devolver FALSE. Esto garantiza que la localidad perdida se notifica a todos los demás procedimientos de enrutamiento.

    Si el mensaje es para esta aplicación, el procedimiento de enrutamiento puede procesar el mensaje inmediatamente o colocarlo en una cola de aplicación y, a continuación, publicar la aplicación mediante un semáforo. Para obtener más información, vea Recepción de mensajes.