SLI_PURGE

Il verbo SLI_PURGE annulla SLI_RECEIVE verbi emessi con una condizione di attesa.

Nella struttura seguente viene descritto il membro LUA_COMMON del blocco di controllo verbo (VCB) utilizzato da SLI_PURGE.

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_PURGE.

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_PURGE 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_PURGE e deve essere impostato su zero.

lua_cobol_offset
Non usato da LUA in Microsoft® Host Integration Server o server SNA 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_PURGE e deve essere impostato su zero.

lua_data_length
Non usato da SLI_PURGE e deve essere impostato su zero.

lua_data_ptr
Quando SLI_PURGE viene emesso, questo parametro punta alla posizione del SLI_RECEIVE verbi VCB da annullare.

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_PURGE e deve essere impostato su zero.

lua_rh
Non usato da SLI_PURGE e deve essere impostato su zero.

lua_flag1
Non usato da SLI_PURGE e deve essere impostato su zero.

lua_message_type
Non usato da SLI_PURGE 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_PURGE 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_BAD_DATA_PTR

Codice restituito secondario; il parametro lua_data_ptr non contiene un puntatore valido o non punta a un segmento di lettura/scrittura e sono necessari dati forniti.

LUA_RESERVED_FIELD_NOT_ZERO

Codice restituito secondario; Un parametro riservato per il verbo appena emesso non è impostato su zero.

LUA_INVALID_POST_HANDLE

Codice restituito secondario; per il sistema operativo Microsoft Windows che usa eventi come metodo di registrazione asincrona, windows LUA VCB non contiene un handle di evento valido.

LUA_VERB_LENGTH_INVALID

Codice restituito secondario; Un verbo LUA è stato emesso con un valore per lua_verb_length imprevisto da LUA.

LUA_STATE_CHECK
Codice restituito primario; il verbo non è stato eseguito perché è stato emesso in uno stato non valido.

LUA_NO_SLI_SESSION

Codice restituito secondario; una sessione non è stata aperta o è stata inattiva a causa di un errore di SLI_CLOSE o di sessione quando è stato eseguito un comando.

LUA_NO_RECEIVE_TO_PURGE

Codice restituito secondario; nessuna SLI_RECEIVE era in sospeso quando hai emesso SLI_PURGE. Una delle due situazioni ha causato il problema:

  • SLI_RECEIVE completata prima del completamento dell'elaborazione SLI_PURGE . È possibile modificare l'applicazione in modo che si occupi di questo problema perché non è una condizione di errore.

  • Il parametro lua_data_ptr non punta correttamente al SLI_RECEIVE che si desidera eliminare.

    LUA_SLI_PURGE_PENDING

    Codice restituito secondario; un SLI_PURGE era ancora attivo quando veniva emesso un altro SLI_PURGE . Una sola SLI_PURGE può essere attiva alla volta.

    LUA_SESSION_FAILURE
    Codice restituito primario; una condizione di errore, specificata nel codice restituito secondario, ha causato l'esito negativo della sessione.

    LUA_RECEIVED_UNBIND

    Codice restituito secondario; L'unità logica primaria (PLU) ha inviato un comando SNA UNBIND all'interfaccia LUA quando una sessione era attiva. Di conseguenza, la sessione è stata arrestata.

    LUA_LU_COMPONENT_DISCONNECTED

    Codice restituito secondario; un componente LU non è disponibile perché non è connesso correttamente. Assicurarsi che l'alimentazione sia attivata.

    LUA_UNSUCCESSFUL
    Codice restituito primario; il record verbo fornito è valido, ma il verbo non è stato completato correttamente.

    LUA_VERB_RECORD_SPANS_SEGMENTS

    Codice restituito secondario; il parametro di lunghezza VCB LUA più l'offset del segmento è oltre la fine del segmento.

    LUA_NOT_ACTIVE

    Codice restituito secondario; LUA non era attivo all'interno di Microsoft Host Integration Server o del server SNA quando è stato emesso un verbo LUA.

    LUA_NOT_READY

    Codice restituito secondario; uno dei seguenti ha causato la sospensione temporanea della sessione SLI:

  • È stato ricevuto un tipo SNA UNBIND 0x02 comando , che indica che è in arrivo un nuovo BIND. Se il tipo UNBIND 0x02 viene ricevuto dopo il completamento del SLI_OPEN iniziale, la sessione viene sospesa fino a quando non vengono ricevuti flussi BIND, CRV e STSN facoltativi e SDT. Queste routine sono di nuovo partecipanti perché devono essere chiamate di nuovo. La sessione viene ripresa dopo l'elaborazione del comando SDT da parte di SLI. Se il tipo UNBIND 0x02 viene ricevuto mentre il SLI_OPEN è ancora in elaborazione, il codice restituito primario viene SESSION_FAILURE, non LUA_STATUS.

  • La ricezione di un SNA CLEAR ha causato la sospensione. La ricezione di un SNA SDT causerà la ripresa della sessione.

    LUA_INVALID_PROCESS

    Codice restituito secondario; La sessione per cui è stato emesso un verbo URI (Request Unit Interface) non è disponibile perché un altro processo del sistema operativo/2 è proprietario della sessione.

    LUA_LU_INOPERATIVE

    Codice restituito secondario; si è verificato un errore grave durante il tentativo di arresto della sessione. Questo LU non è disponibile per le richieste LUA fino a quando non viene ricevuta un'unità logica attiva (ACTLU) dall'host.

    LUA_CANCELED
    Codice restituito primario; il codice restituito secondario indica il motivo dell'annullamento del comando.

    LUA_TERMINATED

    Codice restituito secondario; la sessione è stata terminata quando un verbo era in sospeso. Il processo verbo è stato annullato.

    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 il nodo unità fisica (PU) 2.1 è stato interrotto (errore LAN).

  • SnaBase nel computer TPS ha rilevato un ABEND.

    LUA_COMM_SUBSYSTEM_NOT_LOADED
    Codice restituito primario; Impossibile caricare o terminare un componente richiesto durante l'elaborazione del verbo. Pertanto, la comunicazione non poteva avvenire. Contattare l'amministratore di sistema per un'azione correttiva.

    LUA_INVALID_VERB_SEGMENT
    Codice restituito primario; VCB si estende oltre la fine del segmento di dati.

    LUA_UNEXPECTED_DOS_ERROR
    Codice restituito primario; dopo aver eseguito una chiamata al sistema operativo, è stato ricevuto un codice restituito imprevisto del sistema operativo 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 sono validi. Il verbo non è stato eseguito.

Commenti

SLI_PURGE annulla i comandi SLI_RECEIVE con una condizione di attesa.

In genere, SLI_PURGE viene emesso se SLI_RECEIVE richiede troppo tempo per il completamento. Per annullare un SLI_RECEIVE, lua_data_ptr deve puntare al SLI_RECEIVE VCB da annullare. Il codice restituito primario del SLI_RECEIVE verrà impostato su LUA_CANCELED quando SLI_PURGE riesce ad annullare SLI_RECEIVE.

Vedere anche

RUI_INIT
SLI_OPEN
SLI_RECEIVE
SLI_SEND