Compartir a través de


SLI_RECEIVE_EX

El verbo SLI_RECEIVE_EX recibe respuestas, comandos SNA y datos en un búfer de aplicaciones de aplicación de unidad lógica (LUA) de Microsoft® Windows®. SLI_RECEIVE_EX también proporciona el estado actual de la sesión a la aplicación LUA de Windows.

El verbo SLI_RECEIVE_EX también admite el encadenamiento de entrada. La longitud máxima de los datos que puede recibir un solo verbo es de 4.294.967.295 bytes. Esto se compara con un máximo de 65 535 bytes que puede recibir el verbo SLI_RECEIVE.

En la estructura siguiente se describe el miembro LUA_COMMON del bloque de control de verbos (VCB) usado por SLI_RECEIVE_EX.

La segunda unión de sintaxis describe el miembro LUA_SPECIFIC del VCB usado por SLI_RECEIVE_EX. Otros miembros de la unión se omiten para mayor claridad.

Sintaxis

  
struct LUA_COMMON {  
    unsigned short    lua_verb;  
    unsigned short    lua_verb_length;  
    unsigned short    lua_prim_rc;  
    unsigned long     lua_sec_rc;  
    unsigned short    lua_opcode;  
    unsigned long     lua_correlator;  
    unsigned char     lua_luname[8];  
    unsigned short    lua_extension_list_offset;  
    unsigned short    lua_cobol_offset;  
    unsigned long     lua_sid;  
    unsigned short    lua_max_length;  
    unsigned short    lua_data_length;  
    char FAR *        lua_data_ptr;  
    unsigned long     lua_post_handle;  
    struct LUA_TH     lua_th;  
    struct LUA_RH     lua_rh;  
    struct LUA_FLAG1  lua_flag1;  
    unsigned char     lua_message_type;  
    struct LUA_FLAG2  lua_flag2;   
    unsigned char     lua_resv56[7];  
    unsigned char     lua_encr_decr_option;  
};  
union LUA_SPECIFIC {  
    struct SLI_RECEIVE_EX_SPECIFIC {  
        unsigned long lua_data_length_ex;  
        unsigned long lua_max_length_ex;  
    };  
};  

Members

lua_verb
Parámetro proporcionado. Contiene el código de verbo, LUA_VERB_SLI para verbos de interfaz de nivel de sesión (SLI).

lua_verb_length
Parámetro proporcionado. Especifica la longitud en bytes del VCB lua. Debe contener la longitud del registro de verbo que se va a emitir.

lua_prim_rc
Código de retorno principal establecido por LUA al finalizar el verbo. Los códigos de retorno válidos varían según el verbo LUA emitido.

lua_sec_rc
Código de retorno secundario establecido por LUA al finalizar el verbo. Los códigos de retorno válidos varían según el verbo LUA emitido.

lua_opcode
Parámetro proporcionado. Contiene el código de comando LUA (código de operación de verbo) para el verbo que se va a emitir, LUA_OPCODE_SLI_RECEIVE_EX.

lua_correlator
Parámetro proporcionado. Contiene un valor proporcionado por el usuario que vincula el verbo con otra información proporcionada por el usuario. LUA no usa ni cambia esta información. Este parámetro es opcional.

lua_luname
Parámetro proporcionado. Especifica el nombre ASCII de la LU local usada por la sesión de LUA de Windows.

SLI_RECEIVE_EX solo requiere este parámetro si lua_sid es cero.

Este parámetro tiene ocho bytes de longitud, rellenado a la derecha con espacios (0x20) si el nombre tiene menos de ocho caracteres.

lua_extension_list_offset
No se usa en SLI_RECEIVE_EX y debe establecerse en cero.

lua_cobol_offset
LuA no se usa en Microsoft® Host Integration Server y debe ser cero.

lua_sid
Parámetro proporcionado y devuelto. Especifica el identificador de sesión y lo devuelven SLI_OPEN y RUI_INIT. Otros verbos usan este parámetro para identificar la sesión usada para el comando. Si otros verbos usan el parámetro lua_luname para identificar sesiones, establezca el parámetro lua_sid en cero.

lua_max_length
Este parámetro proporcionado está reservado y debe establecerse en cero.

La longitud máxima de los datos devueltos en un búfer de recepción debe establecerse en el parámetro lua_max_length_ex.

lua_data_length
Este parámetro está reservado y debe establecerse en cero.

La longitud de los datos devueltos en el búfer de recepción se establece en el parámetro lua_data_length_ex.

lua_data_ptr
Puntero al búfer proporcionado por la aplicación que va a recibir los datos de un verbo SLI_RECEIVE_EX . Tanto los comandos SNA como los datos se colocan en este búfer y pueden tener un formato de código de intercambio decimal codificado binario extendido (EBCDIC).

Cuando se emite SLI_RECEIVE_EX, este parámetro apunta a la ubicación para recibir los datos del host.

lua_post_handle
Parámetro proporcionado. Se usa en Microsoft® Windows Server si los eventos deben realizar notificaciones asincrónicas. Esta variable contiene el identificador del evento que se va a indicar o un identificador de ventana.

lua_th
Parámetro devuelto. Contiene el encabezado de transmisión SNA (TH) del mensaje recibido. Se devuelven varios subparámetros para las funciones de lectura y puja. Sus subparámetros son los siguientes:

lua_th.flags_fid

Formato tipo de identificación 2, cuatro bits.

lua_th.flags_mpf

Campo de asignación de segmentación, dos bits. Define el tipo de segmento de datos. Valores válidos son:

segmento 0x00 medio0x04 último segmento0x08 primer segmento0x0C solo segmento

lua_th.flags_odai

Indicador del asignador de campo de dirección de origen:campo de destino (OAF–DAF), un bit.

lua_th.flags_efi

Indicador de flujo acelerado, un bit.

lua_th.daf

Campo de dirección de destino (DAF), un carácter sin signo.

lua_th.oaf

Campo de dirección de origen (OAF), un carácter sin signo.

lua_th.snf

Campo número de secuencia, un carácter sin signo[2].

lua_rh
Parámetro devuelto. Contiene el encabezado de solicitud/respuesta de SNA (RH) del mensaje enviado o recibido. Sus subparámetros son los siguientes:

lua_rh.rri

Indicador de solicitud-respuesta, un bit.

lua_rh.ruc

Categoría de RU, dos bits. Valores válidos son:

LUA_RH_FMD (0x00) control de flujo de datos fmLUA_RH_NC (0x20) Control de red LUA_RH_DFC (0x40) Control de flujo de datosLUA_RH_SC (0x60) Control de sesión

lua_rh.fi

Indicador de formato, un bit.

lua_rh.sdi

Los datos de detección incluyen un indicador, un bit.

lua_rh.bci

Indicador de cadena inicial, un bit.

lua_rh.eci

Indicador de cadena final, un bit.

lua_rh.dr1i

Indicador de respuesta definitiva 1, un bit.

lua_rh.dr2i

Indicador de respuesta 2 definitiva, un bit.

lua_rh.ri

Indicador de respuesta de excepción (para una solicitud) o indicador de tipo de respuesta (para una respuesta), un bit.

lua_rh.qri

Indicador de respuesta en cola, un bit.

lua_rh.pi

Indicador de velocidad, un poco.

lua_rh.bbi

Indicador de corchete inicial, un bit.

lua_rh.ebi

Indicador de corchete final, un bit.

lua_rh.cdi

Indicador de dirección de cambio, un bit.

lua_rh.csi

Indicador de selección de código, un bit.

lua_rh.edi

Indicador de datos cifrado, un bit.

lua_rh.pdi

Indicador de datos rellenado, un bit.

lua_flag1
Parámetro proporcionado. Contiene una estructura de datos que contiene marcas para los mensajes proporcionados por la aplicación. Este parámetro lo usan RUI_BID, RUI_READ, RUI_WRITE, SLI_BID, SLI_RECEIVE_EX y SLI_SEND_EX. Sus subparámetros son los siguientes:

lua_flag1.bid_enable

Indicador de habilitación de puja, un bit.

lua_flag1.close_abend

Cierre el indicador inmediato, un bit.

lua_flag1.nowait

No hay ninguna marca de datos de espera, un bit.

lua_flag1.sscp_exp

Flujo acelerado del punto de control de servicios del sistema (SSCP), un bit.

lua_flag1.sscp_norm

Flujo normal de SSCP, un bit.

lua_flag1.lu_exp

Flujo acelerado de LU, un bit.

lua_flag1.lu_norm

Flujo normal de LU, un poco.

Establezca lua_flag1.bid_enable en 1 para volver a habilitar el SLI_BID más reciente (equivalente a emitir SLI_BID de nuevo con exactamente los mismos parámetros que antes) o establézcalo en cero si no desea volver a habilitar SLI_BID. Tenga en cuenta que volver a habilitar el SLI_BID anterior reutiliza el VCB asignado originalmente para él, por lo que este VCB no se debe haber liberado ni modificado.

Establezca lua_flag1.nowait en 1 para indicar que desea que SLI_RECEIVE_EX devuelva inmediatamente si los datos están disponibles para ser leídos o no, o si desea que el verbo espere datos antes de devolverlos.

Establezca una o varias de las marcas siguientes en 1 para indicar desde qué flujo de mensajes se van a leer los datos:

lua_flag1.sscp_exp

lua_flag1.lu_exp

lua_flag1.sscp_norm

lua_flag1.lu_norm

Si se establece más de una marca, se devuelven los datos de prioridad más alta disponibles. El orden de las prioridades (primero más alto) es: SSCP acelerado, LU acelerado, SSCP normal, LU normal. La marca equivalente del grupo lua_flag2 se establece para indicar desde qué flujo se leyeron los datos.

lua_message_type
Especifica el tipo de los comandos y datos de SNA entrantes o salientes. Parámetro devuelto. Especifica el tipo de mensaje de SNA indicado para SLI_RECEIVE_EX. Los valores posibles son:

LUA_MESSAGE_TYPE_LU_DATA

LUA_MESSAGE_TYPE_SSCP_DATA

LUA_MESSAGE_TYPE_RSP

LUA_MESSAGE_TYPE_BID

LUA_MESSAGE_TYPE_BIND

LUA_MESSAGE_TYPE_BIS

LUA_MESSAGE_TYPE_CANCEL

LUA_MESSAGE_TYPE_CHASE

LUA_MESSAGE_TYPE_LUSTAT_LU

LUA_MESSAGE_TYPE_LUSTAT_SSCP

LUA_MESSAGE_TYPE_QC

LUA_MESSAGE_TYPE_QEC

LUA_MESSAGE_TYPE_RELQ

LUA_MESSAGE_TYPE_RTR

LUA_MESSAGE_TYPE_SBI

LUA_MESSAGE_TYPE_SIGNAL

LUA_MESSAGE_TYPE_STSN

El SLI recibe y responde a las solicitudes BIND y STSN a través de las rutinas de extensión de interfaz LUA.

LU-DATA, LUSTAT_LU, LUSTAT_SSCP y SSCP_DATA no son comandos SNA.

lua_flag2
Parámetro devuelto. Contiene marcas para los mensajes devueltos por LUA. Devuelto por RUI_BID, RUI_READ, RUI_WRITE, SLI_BID, SLI_RECEIVE y SLI_SEND_EX. Sus subparámetros son los siguientes:

lua_flag2.bid_enable

Indica que RUI_BID se ha vuelto a habilitar correctamente si se ha establecido en 1.

lua_flag2.async

Indica que el verbo de la interfaz LUA se completó de forma asincrónica si se establece en 1.

lua_flag2.sscp_exp

Indica el flujo acelerado de SSCP si se establece en 1.

lua_flag2.sscp_norm

Indica el flujo normal de SSCP si se establece en 1.

lua_flag2.lu_exp

Indica el flujo acelerado de LU si se establece en 1.

lua_flag2.lu_norm

Indica el flujo normal de LU si se establece en 1.

lua_resv56
No se usa en SLI_RECEIVE y debe establecerse en cero.

lua_encr_decr_option
No se usa en SLI_RECEIVE y debe establecerse en cero.

lua_max_length_ex
Especifica la longitud del búfer recibido para SLI_RECEIVE_EX.

lua_data_length_ex
Miembro de unión de LUA_SPECIFIC utilizado por SLI_RECEIVE_EX. Parámetro devuelto. Especifica la longitud de los datos devueltos en el búfer de recepción.

Códigos de retorno

LUA_OK
Código de retorno principal; el verbo se ha ejecutado correctamente.

LUA_SEC_OK

Código de retorno secundario; no existe información adicional para LUA_OK.

LUA_PARAMETER_CHECK
Código de retorno principal; el verbo no se ha ejecutado debido a un error en un parámetro.

LUA_INVALID_LUNAME

Código de retorno secundario; se especificó un lua_luname no válido.

LUA_BAD_SESSION_ID

Código de retorno secundario; se especificó un valor no válido para lua_sid en el VCB.

LUA_BAD_DATA_PTR

Código de retorno secundario; El parámetro lua_data_ptr no contiene un puntero válido o no apunta a un segmento de lectura y escritura y se requieren datos proporcionados.

LUA_RESERVED_FIELD_NOT_ZERO

Código de retorno secundario; Un parámetro reservado para el verbo que acaba de emitir no se establece en cero.

LUA_INVALID_POST_HANDLE

Código de retorno secundario; para un sistema operativo Microsoft Windows que usa eventos como método de contabilización asincrónica, el VCB de LUA de Windows no contiene un identificador de eventos válido.

LUA_BID_VERB_SEGMENT_ERROR

Código de retorno secundario; el búfer con la SLI_BID VCB se liberó antes de que se emitiera el SLI_RECEIVE_EX con lua_flag1.bid_enable establecido en 1.

LUA_NO_PREVIOUS_BID_ENABLED

Código de retorno secundario; SLI_BID no se emitió antes de emitir SLI_RECEIVE_EX con lua_flag1.bid_enable.

LUA_BID_ALREADY_ENABLED

Código de retorno secundario; SLI_RECEIVE_EX se emitió con lua_flag1.bid_enable cuando SLI_BID ya estaba activo.

LUA_INVALID_FLOW

Código de retorno secundario; las marcas de flujo de lua_flag1 se establecieron incorrectamente cuando se emitió un verbo:

Al emitir SLI_SEND_EX_sna_SLI_SEND_EX_lua para enviar una respuesta de SNA, establezca solo una marca de flujo lua_flag1.

Al emitir SLI_RECEIVE, establezca al menos una marca de flujo de lua_flag1.

LUA_VERB_LENGTH_INVALID

Código de retorno secundario; Un verbo LUA se emitió con un valor para lua_verb_length inesperado por LUA.

LUA_STATE_CHECK
Código de retorno principal; el verbo no se ejecutó porque se emitió en un estado no válido.

LUA_NO_SLI_SESSION

Código de retorno secundario; una sesión no estaba abierta o estaba inactiva debido a un error de SLI_CLOSE o sesión cuando se emitió un comando.

LUA_RECEIVE_ON_FLOW_PENDING

Código de retorno secundario; un SLI_RECEIVE_EX todavía estaba pendiente cuando esta aplicación emitió otro SLI_RECEIVE_EX para un flujo de SNA.

LUA_SESSION_FAILURE
Código de retorno principal; una condición de error, especificada en el código de retorno secundario, provocó un error en la sesión.

LUA_RUI_WRITE_FAILURE

Código de retorno secundario; RUI_WRITE publicó un error inesperado en el SLI.

LUA_RECEIVED_UNBIND

Código de retorno secundario; la unidad lógica principal (PLU) envió un comando UNBIND de SNA a la interfaz LUA cuando una sesión estaba activa. Como resultado, la sesión se detuvo.

LUA_SLI_LOGIC_ERROR

Código de retorno secundario; La interfaz LUA encontró un error interno en la lógica.

LUA_NO_RUI_SESSION

Código de retorno secundario; no se ha inicializado ninguna sesión para el verbo LUA emitido o algún verbo distinto de SLI_OPEN se emitió antes de que se inicializara la sesión.

LUA_MODE_INCONSISTENCY

Código de retorno secundario; El estado actual no permite realizar esta función. La solicitud enviada al componente de mitad de sesión no se ejecutó aunque se entendiera y admita. Este código de sentido de SNA también es un código de sentido de solicitud de excepción.

LUA_RECEIVER_IN_TRANSMIT_MODE

Código de retorno secundario; los recursos necesarios para controlar los datos de flujo normal no estaban disponibles o el estado de la contención dúplex medio no se recibió cuando se recibió una solicitud de flujo normal. El resultado es una condición de carrera. Este código de sentido de SNA también es un código de sentido de solicitud de excepción.

LUA_LU_COMPONENT_DISCONNECTED

Código de retorno secundario; Un componente de LU no está disponible porque no está conectado correctamente. Asegúrese de que la alimentación está activada.

LUA_FUNCTION_NOT_SUPPORTED

Código de retorno secundario; LUA no admite la función solicitada. Un carácter de control, un parámetro de unidad de solicitud/respuesta (RU) o un código de solicitud con formato puede haber especificado la función. La información específica del código de sentido está en bytes 2 y 3.

LUA_CHAINING_ERROR

Código de retorno secundario; La secuencia de la configuración del indicador de cadena está en error. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual de los receptores o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.

LUA_BRACKET

Código de retorno secundario; el remitente no pudo aplicar las reglas de corchete de sesión. Tenga en cuenta que la contención y las condiciones de carrera están exentas de este error. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual de los receptores o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.

LUA_DIRECTION

Código de retorno secundario; mientras que se NOT_RECEIVE el estado de volteo dúplex medio, se recibió una solicitud de flujo normal. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual de los receptores o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.

LUA_DATA_TRAFFIC_QUIESCED

Código de retorno secundario; Se recibió una solicitud de control de flujo de datos (DFC) o datos de administración de funciones (FMD) de una sesión media que envió un comando SHUTC o un comando QC, y la solicitud DFC o FMD no ha respondido a un comando RELQ. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual de los receptores o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.

LUA_NO_BEGIN_BRACKET

Código de retorno secundario; el receptor ya ha enviado una respuesta positiva a un comando BIS cuando se recibió una solicitud BID o FMD que especificaba BBI=BB. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.

LUA_IMMEDIATE_REQUEST_MODE_ERROR

Código de retorno secundario; la solicitud infringía el protocolo de modo de solicitud inmediata. Se encontró una solicitud de encabezado o unidad de solicitud no válida para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.

LUA_QUEUED_RESPONSE_ERROR

Código de retorno secundario; la solicitud infringía el protocolo de respuesta en cola. Se encontró una solicitud de encabezado o unidad de solicitud no válida para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.

LUA_ERP_SYNC_EVENT_ERROR

Código de retorno secundario; se produjo una infracción del protocolo de eventos sincrónico erp. Se encontró una solicitud de encabezado o unidad de solicitud no válida para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.

LUA_RSP_CORRELATION_ERROR

Código de retorno secundario; se envió una respuesta que no corresponde a una solicitud recibida previamente o se recibió una respuesta que no corresponde a una solicitud enviada anteriormente.

LUA_RSP_PROTOCOL_ERROR

Código de retorno secundario; Se encontró una infracción del protocolo de respuesta en la respuesta recibida de la mitad de sesión principal.

LUA_BB_NOT_ALLOWED

Código de retorno secundario; el indicador de corchete inicial se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_EB_NOT PERMITIDO

Código de retorno secundario; el indicador de corchete final se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_EXCEPTION_RSP_NOT_ALLOWED

Código de retorno secundario; cuando no se permitió una respuesta de excepción, se solicitó una. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_DEFINITE_RSP_NOT_ALLOWED

Código de retorno secundario; cuando no se permitió una respuesta definitiva, se solicitó una. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_CD_NOT_ALLOWED

Código de retorno secundario; el indicador de dirección de cambio se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_NO_RESPONSE_NOT_ALLOWED

Código de retorno secundario; una solicitud distinta de una EXR contenía un VALOR NO RESPONSE. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_CHAINING_NOT_SUPPORTED

Código de retorno secundario; los indicadores de encadenamiento se especificaron incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_BRACKETS_NOT_SUPPORTED

Código de retorno secundario; los indicadores de corchete se especificaron incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_CD_NOT_SUPPORTED

Código de retorno secundario; se estableció el indicador de dirección de cambio, pero LUA no admite la dirección de cambio para esta situación. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_INCORRECT_USE_OF_FI

Código de retorno secundario; el indicador de formato se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_ALTERNATE_CODE_NOT_SUPPORTED

Código de retorno secundario; se estableció el indicador de selección de código, pero LUA no admite la selección de código para esta sesión. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_INCORRECT_RU_CATEGORY

Código de retorno secundario; el indicador de categoría de unidad de solicitud se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_INCORRECT_REQUEST_CODE

Código de retorno secundario; el código de solicitud se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_INCORRECT_SPEC_OF_SDI_RTI

Código de retorno secundario; el SDI y el RTI no se especificaron correctamente en una respuesta. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_INCORRECT_DR1I_DR2I_ERI

Código de retorno secundario; dr1I, dr2I y la ERI se especificaron incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_INCORRECT_USE_OF_QRI

Código de retorno secundario; el indicador de respuesta en cola se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_INCORRECT_USE_OF_EDI

Código de retorno secundario; el EDI se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_INCORRECT_USE_OF_PDI

Código de retorno secundario; la PDI se especificó incorrectamente. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_UNSUCCESSFUL
Código de retorno principal; el registro de verbo proporcionado era válido, pero el verbo no se completó correctamente.

LUA_DATA_TRUNCATED

Código de retorno secundario; los datos se truncaron porque los datos recibidos eran más largos que la longitud del búfer especificada en lua_max_length_ex.

LUA_DATA_SEGMENT_LENGTH_ERROR

Código de retorno secundario; se ha producido una de las siguientes acciones:

El segmento de datos proporcionado para SLI_RECEIVE_EX o SLI_SEND_EX no es un segmento de datos de lectura y escritura según sea necesario.

El segmento de datos proporcionado para SLI_RECEIVE_EX no es siempre que se proporcione en lua_max_length_ex.

El segmento de datos proporcionado para SLI_SEND_EX no es siempre que se proporcione en lua_data_length_ex.

LUA_NO_DATA

Código de retorno secundario; no había datos disponibles para leer cuando se emitió SLI_RECEIVE_EX que contiene un parámetro no wait.

LUA_VERB_RECORD_SPANS_SEGMENTS

Código de retorno secundario; el parámetro de longitud VCB de LUA más el desplazamiento del segmento está más allá del final del segmento.

LUA_NOT_ACTIVE

Código de retorno secundario; LUA no estaba activo en Microsoft Host Integration Server o en el servidor SNA cuando se emitió un verbo LUA.

LUA_NOT_READY

Código de retorno secundario; uno de los siguientes ha provocado que la sesión de SLI se suspenda temporalmente:

Se recibió un tipo UNBIND de SNA 0x02 comando, lo que indica que viene un nuevo BIND. Si el tipo UNBIND 0x02 se recibe una vez completado el SLI_OPEN inicial , la sesión se suspende hasta que se reciben flujos BIND, CRV y STSN opcionales y SDT. Estas rutinas se vuelven a entrar porque tienen que llamarse de nuevo. La sesión se reanuda después de que el SLI procese el comando SDT. Si el tipo UNBIND 0x02 se recibe mientras el SLI_OPEN sigue procesando, el código de retorno principal se LUA_SESSION_FAILURE, no LUA_STATUS.

El recibo de una SNA CLEAR provocó la suspensión. La recepción de un SDT de SNA hará que la sesión se reanude.

LUA_SLI_LOGIC_ERROR

Código de retorno secundario; La interfaz LUA encontró un error interno en la lógica.

LUA_INVALID_PROCESS

Código de retorno secundario; la sesión para la que se emitió un verbo LUA no está disponible porque otro proceso posee la sesión.

LUA_LU_INOPERATIVE

Código de retorno secundario; se produjo un error grave mientras la LUA intentaba detener la sesión. Esta LU no está disponible para las solicitudes LUA hasta que se recibe una unidad lógica de activación (ACTLU) del host.

LUA_RECEIVE_CORRELATION_TABLE_FULL

Código de retorno secundario; la tabla de correlación de recepción de sesión para el flujo solicitado alcanzó su capacidad.

LUA_NEGATIVE_RESPONSE
Código de retorno principal; el LUA envió una respuesta negativa a un mensaje recibido de la unidad lógica principal (PLU) porque se encontró un error en el mensaje o la aplicación respondió negativamente a una cadena para la que ha llegado el final de la cadena.

LUA_MODE_INCONSISTENCY

Código de retorno secundario; El estado actual no permite realizar esta función. La solicitud enviada al componente de mitad de sesión no se ejecutó aunque se entendiera y admita. Este código de sentido de SNA también es un código de sentido de solicitud de excepción.

LUA_FUNCTION_NOT_SUPPORTED

Código de retorno secundario; la LUA no admite la función solicitada. Un carácter de control, un parámetro ru o un código de solicitud con formato puede haber especificado la función. La información específica del código de sentido está en bytes 2 y 3.

LUA_DATA_TRAFFIC_RESET

Código de retorno secundario; una sesión media de una sesión activa, pero con tráfico de datos inactivos recibió una solicitud DFC o FMD de flujo normal. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual de los receptores o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.

LUA_DATA_TRAFFIC_NOT_RESET

Código de retorno secundario; mientras no se restablece el estado del tráfico de datos, se recibió la solicitud de control de sesión. Se encontró un encabezado de solicitud o una unidad de solicitud no válida para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.

LUA_SC_PROTOCOL_VIOLATION

Código de retorno secundario; se produjo una infracción del protocolo SC. Se recibió una solicitud (que solo se permite después de que una solicitud SC y una respuesta positiva a esa solicitud se haya intercambiado correctamente) antes del intercambio necesario. El byte 4 de los datos de detección contiene el código de solicitud. No existe ningún dato de usuario para este código de sentido. Se encontró una solicitud de encabezado o unidad de solicitud no válida para el control de sesión actual recibido o el estado del control de flujo de datos. Se ha impedido la entrega al componente de mitad de sesión.

LUA_INVALID_SC_OR_NC_RH

Código de retorno secundario; la rh de una solicitud SC o NC no era válida.

LUA_PACING_NOT_SUPPORTED

Código de retorno secundario; La solicitud contenía un indicador de velocidad cuando la compatibilidad con el ritmo de esta sesión no existe para la mitad de sesión o la función de límite receptora. Las opciones BIND elegidas anteriormente o las reglas de arquitectura fueron infringidas por los valores del parámetro de encabezado de solicitud. Se ha impedido la entrega al componente de mitad de sesión. Los errores no dependen del estado de sesión actual. Es posible que los remitentes no apliquen reglas de sesión hayan provocado los errores.

LUA_NAU_INOPERATIVE

Código de retorno secundario; la unidad direccionable de red no puede procesar respuestas ni solicitudes. No se pudo realizar la entrega al receptor por uno de los siguientes motivos:

Error de unidad de información de ruta de acceso

Una interrupción de la ruta de acceso

Una secuencia de solicitudes no válidas para la activación

Si se recibe un error de ruta de acceso durante una sesión activa, normalmente significa que ya no hay una ruta de acceso válida al asociado de sesión.

LUA_CANCELED
Código de retorno principal; el código de retorno secundario proporciona el motivo para cancelar el comando.

LUA_PURGED

Código de retorno secundario; SLI_PURGE se emitió y canceló SLI_RECEIVE.

LUA_NO_SLI_SESSION

Código de retorno secundario; una sesión no estaba abierta o estaba inactiva debido a un error de SLI_CLOSE o sesión cuando se emitió un comando.

LUA_CANCEL_COMMAND_RECEIVED

Código de retorno secundario; el host envió un comando CANCEL de SNA para cancelar la cadena de datos que recibe actualmente SLI_RECEIVE_EX.

LUA_TERMINATED

Código de retorno secundario; la sesión se terminó cuando un verbo estaba pendiente. Se ha cancelado el proceso de verbo.

LUA_IN_PROGRESS
Código de retorno principal; Se recibió un comando asincrónico, pero no se completó.

LUA_STATUS
Código de retorno principal; el código de retorno secundario contiene información de estado de SLI para la aplicación.

LUA_READY

Código de retorno secundario; después de un estado NOT READY, este estado se emite para notificarle que el SLI está listo para procesar comandos.

LUA_NOT_READY

Código de retorno secundario; la sesión de SLI se suspende temporalmente por el siguiente motivo:

Se recibió un tipo UNBIND de SNA 0x02 comando, lo que significa que viene un nuevo BIND. Si el tipo UNBIND 0x02 se recibe una vez completado el SLI_OPEN inicial , la sesión se suspende hasta que se reciben flujos BIND, CRV y STSN opcionales y SDT. Estas rutinas se vuelven a entrar porque tienen que llamarse de nuevo. La sesión se reanuda después de que el SLI procese el comando SDT. Si se recibe el tipo UNBIND 0x02 mientras el SLI_OPEN sigue procesando, el código de retorno principal es un error de sesión, no el estado.

El recibo de una SNA CLEAR provocó la suspensión. La recepción de un SDT de SNA hará que la sesión se reanude.

LUA_INIT_COMPLETE

Código de retorno secundario; la interfaz LUA inicializó la sesión mientras SLI_OPEN estaba procesando. Las aplicaciones LUA que emiten SLI_OPEN con lua_open_type_prim_sscp reciben este estado en SLI_RECEIVE o SLI_BID.

LUA_SESSION_END_REQUESTED

Código de retorno secundario; la interfaz LUA recibió un SNA SHUTD del host, lo que significa que el host está listo para apagar la sesión.

LUA_COMM_SUBSYSTEM_ABENDED
Código de retorno principal; indica una de las condiciones siguientes:

El nodo utilizado por esta conversación encontró una anulación.

La conexión entre el programa de transacción (TP) y el nodo 2.1 de la unidad física (PU) se ha interrumpido (un error laN).

SnaBase en el equipo TPs encontró un ABEND.

LUA_COMM_SUBSYSTEM_NOT_LOADED
Código de retorno principal; no se pudo cargar o finalizar un componente necesario durante el procesamiento del verbo. Por tanto, no se pudo establecer la comunicación. Consulte al administrador del sistema para aplicar una acción correctiva.

LUA_INVALID_VERB_SEGMENT
Código de retorno principal; el bloque de control de verbo (VCB) se extendía más allá del final del segmento de datos.

LUA_UNEXPECTED_DOS_ERROR
Código de retorno principal; después de emitir una llamada del sistema operativo, se recibió un código de retorno inesperado del sistema operativo y se especifica en el código de retorno secundario.

LUA_STACK_TOO_SMALL
Código de retorno principal; el tamaño de la pila de la aplicación es demasiado pequeño para ejecutar el verbo. Aumente el tamaño de pila de la aplicación.

LUA_INVALID_VERB
Código de retorno principal; El código de verbo o el código de operación, o ambos, no son válidos. El verbo no se ejecutó.

Comentarios

SLI_RECEIVE_EX recibe respuestas, comandos SNA y datos de unidad de solicitud del host. SLI_RECEIVE_EX también proporciona el estado de la sesión a la aplicación LUA de Windows.

La diferencia entre SLI_RECEIVE_EX y SLI_RECEIVE es que el verbo SLI_RECEIVE_EX admite el encadenamiento de entrada y puede recibir hasta 4295 kilobytes (KB) en una sola solicitud de verbo. En cambio, SLI_RECEIVE se limita a recibir hasta 64 KB en una solicitud de verbo.

Se debe completar una solicitud de SLI_OPEN antes de que se pueda emitir SLI_RECEIVE_EX. Sin embargo, si SLI_OPEN se emite con lua_init_type establecido en LUA_INIT_TYPE_PRIM_SSCP, se puede emitir un SLI_RECEIVE_EX sobre el flujo normal de SSCP en cuanto SLI_OPEN devuelve un IN_PROGRESS.

La aplicación recibe los datos en uno de los cuatro flujos de sesión. Los cuatro flujos de sesión, de mayor a menor prioridad son:

  • SSCP acelerado

  • LU acelerada

  • SSCP normal

  • LU normal

    El tipo de flujo de datos que SLI_RECEIVE_EX procesará se especifica en lua_flag1. La aplicación también puede especificar si desea examinar más de un tipo de flujo de datos. Cuando se establecen varios bits de flujo, primero se recibe la prioridad más alta. Cuando SLI_RECEIVE_EX finaliza el procesamiento, lua_flag2 indica el tipo específico de flujo para el que la aplicación LUA de Windows ha recibido los datos.

    Si SLI_BID se completa correctamente antes de que se emita SLI_RECEIVE, se puede indicar a la interfaz LUA de Windows que reutilice los últimos verbos de SLI_BID VCB. Para ello, emita SLI_RECEIVE_EX con lua_flag1.bid_enable establecido en 1.

    Al usar lua_flag1.bid_enable, no se debe liberar el almacenamiento de SLI_BID porque se usa el último verbo SLI_BID VCB. Además, al usar lua_flag1.bid_enable, se publicará la finalización correcta de SLI_BID.

    Si SLI_RECEIVE_EX se emite con lua_flag1.nowait cuando no hay datos disponibles para recibir, LUA_NO_DATA será el código de retorno secundario establecido por la interfaz LUA de Windows.

Valores devueltos de estado de sesión

Si LUA_STATUS es el código de retorno principal, el código de retorno secundario puede ser uno de los siguientes:

LUA_READY

LUA_NOT_READY

LUA_SESSION_END_REQUESTED

LUA_INIT_COMPLETE

Además, si LUA_STATUS es el código de retorno principal, se usan los parámetros siguientes:

lua_sec_rc

lua_sid

LUA_READY se devuelve después de un estado de LUA_NOT_READY e indica que SLI vuelve a estar listo para realizar todos los comandos.

LUA_NOT_READY indica que la sesión de SLI se suspende porque SLI ha recibido un comando CLEAR de SNA o un comando UNBIND de SNA con un 0x02 tipo UNBIND (UNBIND con BIND próximamente). En función de lo que haya causado la suspensión, la sesión se puede reactivar de la siguiente manera:

  • Cuando la suspensión es causada por un SNA CLEAR, la recepción de un SDT de SNA reactiva la sesión.

  • Cuando un tipo UNBIND bind de SNA provoca la suspensión de la sesión y el SLI_OPEN que abrió la sesión se completa, la sesión se suspende hasta que el SLI recibe un comando BIND y SDT. La sesión también puede recibir opcionalmente un comando STSN. Como resultado, las rutinas proporcionadas por el usuario emitidas con el SLI_OPEN inicial deben volver a escribirse porque se recuperarán.

    La aplicación puede enviar datos SSCP después de que llegue un tipo CLEAR o UNBIND BIND y antes de que se lea el estado de NOT_READY. La aplicación puede enviar y recibir datos de SSCP después de leer un NOT_READY.

    Cuando llegue un tipo UNBIND DE SNA BIND antes de que finalice el SLI_OPEN que abrió la sesión, LUA_SESSION_FAILURE (no LUA_STATUS) es el código de retorno principal.

    LUA_SESSION_END_REQUESTED indica que la aplicación recibió un SNA SHUTD del host. La aplicación LUA de Windows debe emitir SLI_CLOSE cerrar la sesión cuando sea conveniente.

    LUA_INIT_COMPLETE solo se devuelve cuando se LUA_INIT_TYPE_PRIM_SSCP lua_init_type para SLI_OPEN . El estado significa que el SLI_OPEN se ha procesado lo suficientemente para permitir que los datos de SSCP se envíen o reciban ahora.

Solicitudes de excepción

Si una unidad de solicitud de aplicación host se convierte en un EXR, se devolverán los datos de detección. Cuando SLI_BID se completa con los parámetros de verbo devueltos establecidos como se muestra, se produce una conversión EXR.

Miembro Establecer en
lua_prim_rc Correcto (0x0000)
lua_sec_rc Aceptar (0x00000000)
lua_rh.rri bit off (unidad de solicitud)
lua_rh.sdi bit on (incluye datos de detección)

De los siete bytes de datos de lua_peek_data, los bytes del 0 al 3 definen el error detectado. En la tabla siguiente se indican los posibles datos de detección y los valores de bytes de 0 a 3.

Detección de datos Valor de bytes de 0 a 3
LUA_MODE_INCONSISTENCY 0x08090000
LUA_BRACKET_RACE_ERROR 0x080B0000
LUA_BB_REJECT_NO_RTR 0x08130000
LUA_RECEIVER_IN_TRANSMIT_MODE 0x081B0000
LUA_CRYPTOGRAPHY_FUNCTION_INOP 0x08480000
LUA_SYNC_EVENT_RESPONSE 0x10010000
LUA_RU_DATA_ERROR 0x10020000
LUA_RU_LENGTH_ERROR 0x10020000
LUA_INCORRECT_SEQUENCE_NUMBER 0x20010000

La información devuelta a bytes de 3 a 6 en lua_peek_data viene determinada por los tres primeros bytes de la unidad de solicitud inicial que provocó el error.

Consulte también

RUI_INIT
RUI_PURGE
RUI_READ
RUI_WRITE
SLI_BID
SLI_CLOSE
SLI_OPEN
SLI_PURGE
SLI_SEND_EX