SLI_PURGE

El verbo SLI_PURGE cancela SLI_RECEIVE verbos emitidos con una condición de espera.

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

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;  
};  

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 de la aplicación de unidad lógica (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_PURGE.

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_PURGE 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_PURGE y debe establecerse en cero.

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

lua_sid
Parámetro proporcionado. 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
No se usa en SLI_PURGE y debe establecerse en cero.

lua_data_length
No se usa en SLI_PURGE y debe establecerse en cero.

lua_data_ptr
Cuando se emite SLI_PURGE , este parámetro apunta a la ubicación del SLI_RECEIVE verbos VCB que se va a cancelar.

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
No se usa en SLI_PURGE y debe establecerse en cero.

lua_rh
No se usa en SLI_PURGE y debe establecerse en cero.

lua_flag1
No se usa en SLI_PURGE y debe establecerse en cero.

lua_message_type
No se usa en SLI_PURGE y debe establecerse en cero.

lua_flag2
Parámetro devuelto. Contiene marcas para los mensajes devueltos por LUA.

lua_flag2.async

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

lua_resv56
Reservado y debe establecerse en cero.

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

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 el sistema operativo Microsoft Windows mediante eventos como método de contabilización asincrónica, el VCB de LUA de Windows no contiene un identificador de eventos válido.

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_NO_RECEIVE_TO_PURGE

Código de retorno secundario; no SLI_RECEIVE estaba pendiente cuando emitió SLI_PURGE. Una de estas dos situaciones causó el problema:

  • SLI_RECEIVE completado antes de que SLI_PURGE finalice el procesamiento. Puede cambiar la aplicación para que se ocupe de este problema porque no es una condición de error.

  • El parámetro lua_data_ptr no apunta correctamente al SLI_RECEIVE que desea purgar.

    LUA_SLI_PURGE_PENDING

    Código de retorno secundario; un SLI_PURGE todavía estaba activo cuando se emitió otro SLI_PURGE . Solo una SLI_PURGE puede estar activa a la vez.

    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_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_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_UNSUCCESSFUL
    Código de retorno principal; el registro de verbo proporcionado era válido, pero el verbo no se completó correctamente.

    LUA_VERB_RECORD_SPANS_SEGMENTS

    Código de retorno secundario; el parámetro de longitud VCB 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 SNA Server cuando se emitió un verbo LUA.

    LUA_NOT_READY

    Código de retorno secundario; Una de las siguientes causas hizo que la sesión de SLI se suspendiera 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 después de que se complete el SLI_OPEN inicial, la sesión se suspende hasta que se reciba un ENLACE, un CRV opcional y un STSN y flujos SDT. Estas rutinas son re-entran 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 se SESSION_FAILURE, no LUA_STATUS.

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

    LUA_INVALID_PROCESS

    Código de retorno secundario; la sesión para la que se emitió un verbo de interfaz de unidad de solicitud (RUI) no está disponible porque otro proceso del sistema operativo/2 posee la sesión.

    LUA_LU_INOPERATIVE

    Código de retorno secundario; se produjo un error grave mientras el RUI 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_CANCELED
    Código de retorno principal; el código de retorno secundario proporciona el motivo para cancelar el comando.

    LUA_TERMINATED

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

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

    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.

  • Se ha interrumpido la conexión entre el programa de transacciones (TP) y el nodo 2.1 de la unidad física (PU).

  • El SnaBase en el equipo de los CSP 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 al 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_PURGEcancela SLI_RECEIVE comandos con una condición de espera.

Normalmente, SLI_PURGE se emite si SLI_RECEIVE tarda demasiado tiempo en completarse. Para cancelar un SLI_RECEIVE, lua_data_ptr debe apuntar al VCB de SLI_RECEIVE que se va a cancelar. El código de retorno principal del SLI_RECEIVE se establecerá en LUA_CANCELED cuando SLI_PURGE realice correctamente la cancelación de SLI_RECEIVE.

Consulte también

RUI_INIT
SLI_OPEN
SLI_RECEIVE
SLI_SEND