SLI_PURGE

Il SLI_PURGEverbo annulla SLI_RECEIVE verbi emessi con una condizione di attesa.

La struttura seguente descrive il LUA_COMMON del blocco di controllo dei verbi (VCB) usato 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 del verbo, LUA_VERB_SLI verbi SLI (Session Level Interface).

lua_verb_length
Parametro fornito. Specifica la lunghezza in byte del VCB lua (Logical Unit Application). Deve contenere la lunghezza del record del verbo rilasciato.

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 di comando LUA (codice operazione verbo) per il verbo da eseguire, LUA_OPCODE_SLI_PURGE.

lua_correlator
Parametro fornito. Contiene un valore fornito dall'utente che collega il verbo ad altre informazioni fornite dall'utente. LUA non usa o modifica queste informazioni. Questo parametro è facoltativo.

lua_luname
Parametro fornito. Specifica il nome ASCII della lu locale usata dalla Windows LUA.

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 SNA 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_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 SLI_RECEIVE verbi VCB da annullare.

lua_post_handle
Parametro fornito. Usato 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 è stato 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 lua_luname non valido.

LUA_BAD_SESSION_ID

Codice restituito secondario; È stato specificato un valore lua_sid valore non valido per il vcb.

LUA_BAD_DATA_PTR

Codice restituito secondario; Il lua_data_ptr parametro non contiene un puntatore valido o non punta a un segmento di lettura/scrittura ed è necessario specificare i dati.

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 asincrono, il vcb LUA Windows 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 generato in uno stato non valido.

LUA_NO_SLI_SESSION

Codice restituito secondario; una sessione non era aperta o non era attiva 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 al momento dell'SLI_PURGE. Il problema è stato causato da una delle due situazioni seguenti:

  • SLI_RECEIVEcompletata prima SLI_PURGE'elaborazione. È possibile modificare l'applicazione per risolvere questo problema perché non si tratta di una condizione di errore.

  • Il lua_data_ptr non punta correttamente alla SLI_RECEIVE da eliminare.

    LUA_SLI_PURGE_PENDING

    Codice restituito secondario; un SLI_PURGE era ancora attivo quando è stato emesso un SLI_PURGE . È possibile SLI_PURGE un solo gruppo 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 UNBIND SNA all'interfaccia LUA quando era attiva una sessione. 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 a corrente.

    LUA_UNSUCCESSFUL
    Codice restituito primario; Il record verbo fornito era 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 l'estremità del segmento.

    LUA_NOT_ACTIVE

    Codice restituito secondario; LuA non era attivo all'interno di Microsoft Host Integration Server o SNA Server 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 0x02 UNBIND di tipo SNA, che indica che è in arrivo un nuovo BIND. Se l'0x02 di tipo UNBIND 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 nuovamente presenti perché devono essere chiamate di nuovo. La sessione riprende dopo l'elaborazione del comando SDT da parte dell'SLI. Se il tipo UNBIND 0x02 ricevuto durante l'elaborazione del SLI_OPEN , il codice restituito primario è SESSION_FAILURE, non LUA_STATUS.

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

    LUA_INVALID_PROCESS

    Codice restituito secondario; La sessione per cui è stato rilasciato un verbo RUI (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 da parte del rui. Questa unità logica non è disponibile per le richieste LUA fino a quando non viene ricevuta un'unità logica di attivazione (ACTLU) dall'host.

    LUA_CANCELED
    Codice restituito primario; Il codice restituito secondario indica il motivo per l'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 dell'unità fisica (PU) 2.1 è stata interrotta (errore LAN).

  • SnaBase nel computer TP ha rilevato un ABEND.

    LUA_COMM_SUBSYSTEM_NOT_LOADED
    Codice restituito primario; Non è stato possibile caricare o terminare un componente richiesto durante l'elaborazione del verbo. Di conseguenza, la comunicazione non è stata possibile. Contattare l'amministratore di sistema per un'azione correttiva.

    LUA_INVALID_VERB_SEGMENT
    Codice restituito primario; il VCB è stato 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 imprevisto del sistema operativo 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 SLI_RECEIVE con una condizione di attesa.

In genere, SLI_PURGE viene generato 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