SLI_CLOSE
Il verbo SLI_CLOSE termina una sessione aperta con SLI_OPEN. Vengono rilasciate le risorse LU-LU e LU-SSCP.
Nella struttura seguente viene descritto il membro LUA_COMMON del blocco di controllo verbo (VCB) utilizzato da SLI_CLOSE.
Sintassi
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
Parametro fornito. Contiene il codice verbo LUA_VERB_SLI per i verbi SLI (Session Level Interface).
lua_verb_length
Parametro fornito. Specifica la lunghezza in byte del VCB (LUA) dell'applicazione di unità logica. Deve contenere la lunghezza del record verbo da emettere.
lua_prim_rc
Codice restituito primario impostato da LUA al completamento del verbo. I codici restituiti validi variano a seconda del verbo LUA emesso.
lua_sec_rc
Codice restituito secondario impostato da LUA al completamento del verbo. I codici restituiti validi variano a seconda del verbo LUA emesso.
lua_opcode
Parametro fornito. Contiene il codice del comando LUA (codice dell'operazione verbo) per il verbo da emettere LUA_OPCODE_SLI_CLOSE.
lua_correlator
Parametro fornito. Contiene un valore fornito dall'utente che collega il verbo con altre informazioni fornite dall'utente. LUA non usa o modifica queste informazioni. Questo parametro è facoltativo e,
lua_luname
Parametro fornito. Specifica il nome ASCII dell'lu locale utilizzato dalla sessione LUA di Windows.
SLI_CLOSE richiede questo parametro solo se lua_sid è zero.
Questo parametro è lungo otto byte, riempito a destra con spazi (0x20) se il nome è più breve di otto caratteri.
lua_extension_list_offset
Non usato da SLI_CLOSE e deve essere impostato su zero.
lua_cobol_offset
Non usato da LUA in Microsoft® Host Integration Server e deve essere zero.
lua_sid
Parametro fornito. Specifica l'identificatore di sessione e viene restituito da SLI_OPEN e RUI_INIT. Altri verbi usano questo parametro per identificare la sessione usata per il comando . Se altri verbi usano il parametro lua_luname per identificare le sessioni, impostare il parametro lua_sid su zero.
lua_max_length
Non usato da SLI_CLOSE e deve essere impostato su zero.
lua_data_length
Non usato da SLI_CLOSE e deve essere impostato su zero.
lua_data_ptr
Non usato da SLI_CLOSE e deve essere impostato su zero.
lua_post_handle
Parametro fornito. Utilizzato in Microsoft Windows Server se la notifica asincrona deve essere eseguita dagli eventi. Questa variabile contiene l'handle dell'evento da segnalare o un handle di finestra.
lua_th
Non usato da SLI_CLOSE e deve essere impostato su zero.
lua_rh
Non usato da SLI_CLOSE e deve essere impostato su zero.
lua_flag1
Parametro fornito. Contiene una struttura di dati contenente flag per i messaggi forniti dall'applicazione. I relativi sottoparametri sono i seguenti:
lua_flag1.bid_enable
Indicatore di abilitazione dell'offerta, un bit.
lua_flag1.close_abend
Indicatore immediato di chiusura, un bit. Parametro fornito da SLI_CLOSE per specificare se la sessione deve essere chiusa immediatamente (ON) o chiusa normalmente (OFF). Per i verbi diversi da SLI_CLOSE, questo flag deve essere disattivato.
lua_flag1.nowait
Nessuna attesa per il flag di dati, un bit.
lua_flag1.sscp_exp
Flusso accelerato del punto di controllo dei servizi di sistema (SSCP), un bit.
lua_flag1.sscp_norm
Flusso normale SSCP, un bit.
lua_flag1.lu_exp
Flusso accelerato lu, un bit.
lua_flag1.lu_norm
Flusso normale LU, un bit.
lua_message_type
Non usato da SLI_CLOSE e deve essere impostato su zero.
lua_flag2
Parametro restituito. Contiene i flag per i messaggi restituiti da LUA.
lua_flag2.async
Indica che il verbo dell'interfaccia LUA è stato completato in modo asincrono se impostato su 1.
lua_resv56
Riservato e deve essere impostato su zero.
lua_encr_decr_option
Non usato da SLI_CLOSE e deve essere impostato su zero.
Codici restituiti
LUA_OK
Codice restituito primario; il verbo eseguito correttamente.
LUA_SEC_OK
Codice restituito secondario; non esistono informazioni aggiuntive per LUA_OK.
LUA_PARAMETER_CHECK
Codice restituito primario; il verbo non è stato eseguito a causa di un errore di parametro.
LUA_INVALID_LUNAME
Codice restituito secondario; è stato specificato un lua_luname non valido.
LUA_BAD_SESSION_ID
Codice restituito secondario; È stato specificato un valore non valido per lua_sid nel vcb.
LUA_RESERVED_FIELD_NOT_ZERO
Codice restituito secondario; un parametro riservato per il verbo appena rilasciato non è impostato su zero.
LUA_INVALID_POST_HANDLE
Codice restituito secondario; per un sistema operativo Microsoft Windows che usa eventi come metodo di registrazione asincrona, windows LUA VCB non contiene un handle di eventi valido.
LUA_VERB_LENGTH_INVALID
Codice restituito secondario; un verbo LUA è stato rilasciato con un valore per lua_verb_length imprevisto da LUA.
LUA_STATE_CHECK
Codice restituito primario; il verbo non è stato eseguito perché è stato rilasciato in uno stato non valido.
LUA_NO_SLI_SESSION
Codice restituito secondario; una sessione non è stata aperta o è stata interrotta a causa di un errore di SLI_CLOSE o sessione quando è stato rilasciato un comando.
LUA_CLOSE_PENDING
Codice restituito secondario; si è verificato uno dei seguenti elementi:
Una CLOSE_ABEND era ancora in sospeso quando è stata rilasciata un'altra CLOSE_ABEND. È possibile eseguire un CLOSE_ABEND se un CLOSE_NORMAL è in sospeso.
Un CLOSE_ABEND o un CLOSE_NORMAL è ancora in sospeso quando è stata rilasciata una CLOSE_NORMAL.
LUA_SESSION_FAILURE
Codice restituito primario; una condizione di errore, specificata nel codice restituito secondario, ha causato l'esito negativo della sessione.LUA_NOT_ACTIVE
Codice restituito secondario; LUA non è stato attivo all'interno di Microsoft Host Integration Server quando è stato rilasciato un verbo LUA.
LUA_UNEXPECTED_SNA_SEQUENCE
Codice restituito secondario; dati o comandi imprevisti ricevuti dall'host durante l'elaborazione di SLI_OPEN .
LUA_NEGATIVE_RSP_CHASE
Codice restituito secondario; una risposta negativa a un comando SNA CHASE dall'host è stata ricevuta dall'interfaccia LUA durante l'elaborazione SLI_CLOSE. SLI_CLOSE l'elaborazione continua per arrestare la sessione.
LUA_NEGATIVE_RSP_SHUTC
Codice restituito secondario; una risposta negativa a un comando SNA SHUTC dall'host è stata ricevuta dall'SLI mentre SLI_CLOSE è ancora in corso l'elaborazione. SLI_CLOSE l'elaborazione continua per arrestare la sessione.
LUA_NEGATIVE_RSP_SHUTD
Codice restituito secondario; una risposta negativa a un comando SNA RSHUTD dall'host è stata ricevuta dall'interfaccia LUA mentre SLI_CLOSE è ancora in fase di elaborazione. SLI_CLOSE l'elaborazione continua per arrestare la sessione.
LUA_RECEIVED_UNBIND
Codice restituito secondario; l'unità logica primaria (PLU) ha inviato un comando SNA UNBIND all'interfaccia LUA quando una sessione è attiva. Di conseguenza, la sessione è stata arrestata.
LUA_NO_RUI_SESSION
Codice restituito secondario; nessuna sessione inizializzata per il verbo LUA o un verbo diverso da SLI_OPEN è stato rilasciato prima dell'inizializzazione della sessione.
LUA_LU_COMPONENT_DISCONNECTED
Codice restituito secondario; un componente LU non è disponibile perché non è connesso correttamente. Assicurarsi che l'alimentazione sia attiva.
LUA_IN_PROGRESS
Codice restituito primario; è stato ricevuto un comando asincrono ma non è stato completato.LUA_COMM_SUBSYSTEM_ABENDED
Codice restituito primario; indica una delle condizioni seguenti:Il nodo usato da questa conversazione ha rilevato un ABEND.
La connessione tra il programma di transazione (TP) e l'unità fisica (PU) 2.1 nodo è stato interrotto (errore LAN).
Il SnaBase nel computer TP ha rilevato un ABEND.
LUA_COMM_SUBSYSTEM_NOT_LOADED
Codice restituito primario; Impossibile caricare o terminare un componente obbligatorio durante l'elaborazione del verbo. Pertanto, la comunicazione non poteva essere eseguita. Contattare l'amministratore di sistema per un'azione correttiva.LUA_INVALID_VERB_SEGMENT
Codice restituito primario; VCB esteso oltre la fine del segmento di dati.LUA_UNEXPECTED_DOS_ERROR
Codice restituito primario; dopo l'emissione di una chiamata al sistema operativo, è stato ricevuto un codice restituito del sistema operativo imprevisto e viene specificato nel codice restituito secondario.LUA_STACK_TOO_SMALL
Codice restituito primario; le dimensioni dello stack dell'applicazione sono troppo piccole per eseguire il verbo. Aumentare le dimensioni dello stack dell'applicazione.LUA_INVALID_VERB
Codice restituito primario; il codice verbo o il codice dell'operazione, o entrambi, non è valido. Il verbo non è stato eseguito.
Commenti
Esistono due tipi di SLI_CLOSE: normale e ABEND. Per una chiusura normale, lua_flag1.close_abend è impostato su zero. La sequenza per una chiusura normale può essere avviata come primaria (avviata dall'host) o secondaria (richiesta da un'applicazione WINDOWS LUA). Durante una chiusura normale primaria, l'interfaccia LUA di Windows:
Legge il comando SHUTD e pubblica lo stato di SESSION_END_REQUESTED all'applicazione.
Scrive il comando CHASE (se necessario).
Legge e elabora la risposta al comando CHASE , se necessario.
Scrive il comando shutdown complete (SHUTC).
Legge e elabora la risposta del comando SHUTC.
Legge e elabora il comando CLEAR , se necessario.
Scrive la risposta al comando CLEAR, se necessario.
Legge ed elabora il comando UNBIND.
Scrive la risposta al comando UNBIND.
Arresta la sessione.
Durante una chiusura normale secondaria, l'interfaccia LUA di Windows:
Scrive il comando RSHUTD.
Legge ed elabora la risposta al comando RSHUTD.
Legge e elabora il comando CLEAR , se necessario.
Scrive la risposta al comando CLEAR, se necessario.
Legge ed elabora il comando UNBIND.
Scrive la risposta al comando UNBIND.
Arresta la sessione.
Per una chiusura di ABEND, lua_flag1.close_abend è impostato su 1, che indirizza l'interfaccia di Windows LUA per chiudere immediatamente la sessione. Dopo l'avvio dell'elaborazione SLI_CLOSE, la connessione LU-LU viene terminata e il SSCP viene informato che l'lu non è in grado di sostenere una sessione.