SLI_RECEIVE_EX

Il verbo SLI_RECEIVE_EX riceve risposte, comandi SNA e dati in un buffer di applicazioni luA (Microsoft® Windows® logic unit application). SLI_RECEIVE_EX fornisce anche lo stato corrente della sessione all'applicazione Windows LUA.

Il verbo SLI_RECEIVE_EX supporta anche la concatenazione in ingresso. La lunghezza massima dei dati che possono essere ricevuti da un singolo verbo è 4.294.967.295 byte. Ciò viene confrontato con un massimo di 65.535 byte che possono essere ricevuti dal verbo SLI_RECEIVE.

La struttura seguente descrive il membro LUA_COMMON del blocco di controllo verbo (VCB) usato da SLI_RECEIVE_EX.

La seconda unione sintassi descrive il membro LUA_SPECIFIC del VCB usato da SLI_RECEIVE_EX. Altri membri dell'unione vengono omessi per chiarezza.

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;  
};  
union LUA_SPECIFIC {  
    struct SLI_RECEIVE_EX_SPECIFIC {  
        unsigned long lua_data_length_ex;  
        unsigned long lua_max_length_ex;  
    };  
};  

Members

lua_verb
Parametro fornito. Contiene il codice verbo, LUA_VERB_SLI per verbi SLI (Session Level Interface).

lua_verb_length
Parametro fornito. Specifica la lunghezza in byte del VCB LUA. Deve contenere la lunghezza del record 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 rilasciato.

lua_sec_rc
Codice restituito secondario impostato da LUA al completamento del verbo. I codici restituiti validi variano a seconda del verbo LUA rilasciato.

lua_opcode
Parametro fornito. Contiene il codice del comando LUA (codice operazione verbo) per l'emissione del verbo, LUA_OPCODE_SLI_RECEIVE_EX.

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 e,

lua_luname
Parametro fornito. Specifica il nome ASCII dell'LU locale usato dalla sessione LUA di Windows.

SLI_RECEIVE_EX richiede solo questo parametro se lua_sid è zero.

Questo parametro è lungo otto byte, spaziato a destra con spazi (0x20) se il nome è più breve di otto caratteri.

lua_extension_list_offset
Non usato da SLI_RECEIVE_EX 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 e restituito. 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
Questo parametro fornito è riservato e deve essere impostato su zero.

La lunghezza massima dei dati restituiti in un buffer di ricezione deve essere impostata nel parametro lua_max_length_ex.

lua_data_length
Questo parametro è riservato e deve essere impostato su zero.

La lunghezza dei dati restituiti nel buffer di ricezione è impostata nel parametro lua_data_length_ex.

lua_data_ptr
Puntatore al buffer fornito dall'applicazione che deve ricevere i dati da un verbo SLI_RECEIVE_EX . Entrambi i comandi SNA e i dati vengono inseriti in questo buffer e possono essere in un formato EBCDIC (Extended Binary Coded Decimal Interscambi Coded Decimal Coded).

Quando viene emesso SLI_RECEIVE_EX, questo parametro punta alla posizione per ricevere i dati dall'host.

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
Parametro restituito. Contiene l'intestazione di trasmissione SNA (TH) del messaggio ricevuto. Vengono restituiti vari sottoparametri per le funzioni di lettura e offerta. I relativi sottoparametri sono i seguenti:

lua_th.flags_fid

Formattare il tipo di identificazione 2, quattro bit.

lua_th.flags_mpf

Campo di mapping segmentazione, due bit. Definisce il tipo di segmento di dati. I valori seguenti sono validi:

0x00 segmentointermedio0x04 0x08 Segmento 0x0C Solo segmento

lua_th.flags_odai

Indicatore di assegnazione del campo indirizzo di origine-destinazione (OAF-DAF), un bit.

lua_th.flags_efi

Indicatore del flusso accelerato, un bit.

lua_th.daf

Campo indirizzo di destinazione (DAF), un carattere senza segno.

lua_th.oaf

Campo indirizzo di origine (OAF), un carattere senza segno.

lua_th.snf

Campo numero sequenza, un carattere senza segno[2].

lua_rh
Parametro restituito. Contiene l'intestazione richiesta/risposta SNA del messaggio inviato o ricevuto. I relativi sottoparametri sono i seguenti:

lua_rh.rri

Indicatore di risposta richiesta, un bit.

lua_rh.ruc

Categoria UR, due bit. I valori seguenti sono validi:

LUA_RH_FMD (0x00) Controllodel flusso di dati FMLUA_RH_NC(0x20) Controllo di rete LUA_RH_DFC (0x40) Controllo del flusso di datiLUA_RH_SC (0x60) Controllo sessione

lua_rh.fi

Indicatore di formato, un bit.

lua_rh.sdi

Indicatore di senso incluso, un bit.

lua_rh.bci

Indicatore della catena di inizio, un bit.

lua_rh.eci

Indicatore catena finale, un bit.

lua_rh.dr1i

Indicatore di risposta definito 1, un bit.

lua_rh.dr2i

Indicatore di risposta definita 2, un bit.

lua_rh.ri

Indicatore di risposta dell'eccezione (per una richiesta) o indicatore del tipo di risposta (per una risposta), un bit.

lua_rh.qri

Indicatore di risposta in coda, un bit.

lua_rh.pi

Indicatore di velocità, un bit.

lua_rh.bbi

Indicatore parentesi quadre iniziale, un bit.

lua_rh.ebi

Indicatore parentesi quadra finale, un bit.

lua_rh.cdi

Indicatore di direzione di modifica, un bit.

lua_rh.csi

Indicatore di selezione del codice, un bit.

lua_rh.edi

Indicatore di dati crittografati, un bit.

lua_rh.pdi

Indicatore dati riempito, un bit.

lua_flag1
Parametro fornito. Contiene una struttura di dati contenente flag per i messaggi forniti dall'applicazione. Questo parametro viene usato da RUI_BID, RUI_READ, RUI_WRITE, SLI_BID, SLI_RECEIVE_EX e SLI_SEND_EX. 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.

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.

Impostare lua_flag1.bid_enable su 1 per riabilitare la SLI_BID più recente (equivalente all'emissione di SLI_BID di nuovo con gli stessi parametri di prima) o impostarla su zero se non si vuole riabilitare SLI_BID. Si noti che riabilitare il SLI_BID precedente riutilizza il vcb originariamente allocato per esso, quindi questo VCB non deve essere stato liberato o modificato.

Impostare lua_flag1.nowait su 1 per indicare che si desidera che SLI_RECEIVE_EX restituire immediatamente se i dati sono disponibili o meno per la lettura o impostarli su zero se si vuole che il verbo attenda i dati prima di restituire.

Impostare uno o più dei flag seguenti su 1 per indicare da quale flusso di messaggi leggere i dati:

lua_flag1.sscp_exp

lua_flag1.lu_exp

lua_flag1.sscp_norm

lua_flag1.lu_norm

Se sono impostati più flag, vengono restituiti i dati con priorità più alta disponibili. L'ordine delle priorità (il primo più alto) è: SSCP accelerato, LU accelerato, normale SSCP, NORMALE LU. Il flag equivalente nel gruppo di lua_flag2 viene impostato per indicare da quale flusso sono stati letti i dati.

lua_message_type
Specifica il tipo di dati e comandi SNA in ingresso o in uscita. Parametro restituito. Specifica il tipo di messaggio SNA indicato per SLI_RECEIVE_EX. I valori possibili sono:

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

L'SLI riceve e risponde alle richieste BIND e STSN tramite le routine di estensione dell'interfaccia LUA.

LU-DATA, LUSTAT_LU, LUSTAT_SSCP e SSCP_DATA non sono comandi SNA.

lua_flag2
Parametro restituito. Contiene i flag per i messaggi restituiti da LUA. Restituito da RUI_BID, RUI_READ, RUI_WRITE, SLI_BID, SLI_RECEIVE e SLI_SEND_EX. I relativi sottoparametri sono i seguenti:

lua_flag2.bid_enable

Indica che RUI_BID è stato riabilitato se impostato su 1.

lua_flag2.async

Indica che il verbo dell'interfaccia LUA è stato completato in modo asincrono se impostato su 1.

lua_flag2.sscp_exp

Indica il flusso accelerato di SSCP se impostato su 1.

lua_flag2.sscp_norm

Indica il flusso normale di SSCP se impostato su 1.

lua_flag2.lu_exp

Indica il flusso accelerato lu se impostato su 1.

lua_flag2.lu_norm

Indica il flusso normale lu se impostato su 1.

lua_resv56
Non usato da SLI_RECEIVE e deve essere impostato su zero.

lua_encr_decr_option
Non usato da SLI_RECEIVE e deve essere impostato su zero.

lua_max_length_ex
Specifica la lunghezza del buffer ricevuto per SLI_RECEIVE_EX.

lua_data_length_ex
Membro dell'unione di LUA_SPECIFIC utilizzato da SLI_RECEIVE_EX. Parametro restituito. Specifica la lunghezza dei dati restituiti nel buffer di ricezione.

Codici restituiti

LUA_OK
Codice restituito primario; il verbo eseguito correttamente.

LUA_SEC_OK

Codice restituito secondario; nessuna informazione aggiuntiva 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; un valore non valido per lua_sid è stato specificato 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 i dati forniti sono necessari.

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_BID_VERB_SEGMENT_ERROR

Codice restituito secondario; il buffer con la SLI_BID VCB è stato rilasciato prima dell'SLI_RECEIVE_EX con lua_flag1.bid_enable impostato su 1.

LUA_NO_PREVIOUS_BID_ENABLED

Codice restituito secondario; SLI_BID non è stato rilasciato prima di emettere SLI_RECEIVE_EX con lua_flag1.bid_enable.

LUA_BID_ALREADY_ENABLED

Codice restituito secondario; SLI_RECEIVE_EX è stato rilasciato con lua_flag1.bid_enable quando SLI_BID era già attivo.

LUA_INVALID_FLOW

Codice restituito secondario; i flag di flusso lua_flag1 sono stati impostati in modo errato quando è stato rilasciato un verbo:

Quando si eseguono SLI_SEND_EX_sna_SLI_SEND_EX_lua per inviare una risposta SNA, impostare un solo flag di flusso lua_flag1.

Quando si eseguono SLI_RECEIVE, impostare almeno un flag di flusso lua_flag1.

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_RECEIVE_ON_FLOW_PENDING

Codice restituito secondario; un SLI_RECEIVE_EX è ancora in sospeso quando questa applicazione ha rilasciato un altro SLI_RECEIVE_EX per un flusso SNA.

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

LUA_RUI_WRITE_FAILURE

Codice restituito secondario; un errore imprevisto è stato inviato al SLI da RUI_WRITE.

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_SLI_LOGIC_ERROR

Codice restituito secondario; l'interfaccia LUA ha rilevato un errore interno nella logica.

LUA_NO_RUI_SESSION

Codice restituito secondario; nessuna sessione inizializzata per il verbo LUA rilasciato o un verbo diverso da SLI_OPEN è stato rilasciato prima dell'inizializzazione della sessione.

LUA_MODE_INCONSISTENCY

Codice restituito secondario; l'esecuzione di questa funzione non è consentita dallo stato corrente. La richiesta inviata al componente di metà sessione non è stata eseguita anche se è stata compresa e supportata. Questo codice di senso SNA è anche un codice di senso delle eccezioni.

LUA_RECEIVER_IN_TRANSMIT_MODE

Codice restituito secondario; le risorse necessarie per gestire i dati di flusso normali non erano disponibili o lo stato della contesa half-duplex non è stato ricevuto quando è stata ricevuta una richiesta di flusso normale. Il risultato è una condizione di gara. Questo codice di senso SNA è anche un codice di senso delle eccezioni.

LUA_LU_COMPONENT_DISCONNECTED

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

LUA_FUNCTION_NOT_SUPPORTED

Codice restituito secondario; LUA non supporta la funzione richiesta. Un carattere di controllo, un parametro ur (request/response unit) o un codice richiesta formattato può aver specificato la funzione. Informazioni specifiche sul codice di senso sono in byte 2 e 3.

LUA_CHAINING_ERROR

Codice restituito secondario; la sequenza delle impostazioni dell'indicatore della catena è in errore. È stata trovata un'intestazione o un'unità richiesta non valida per il controllo sessione corrente o lo stato del flusso di dati. È stato impedito il recapito al componente di metà sessione.

LUA_BRACKET

Codice restituito secondario; il mittente non è riuscito a applicare le regole della parentesi quadre di sessione. Si noti che le condizioni di contesa e di gara sono escluse da questo errore. È stata trovata un'intestazione o un'unità richiesta non valida per il controllo sessione corrente o lo stato del flusso di dati. È stato impedito il recapito al componente di metà sessione.

LUA_DIRECTION

Codice restituito secondario; mentre lo stato flip-flop half-duplex è stato NOT_RECEIVE, è stata ricevuta una richiesta di flusso normale. È stata trovata un'intestazione o un'unità richiesta non valida per il controllo sessione corrente o lo stato del flusso di dati. È stato impedito il recapito al componente di metà sessione.

LUA_DATA_TRAFFIC_QUIESCED

Codice restituito secondario; una richiesta di controllo del flusso di dati (DFC) o dati di gestione delle funzioni (FMD) è stata ricevuta da una sessione di metà che ha inviato un comando SHUTC o UN comando QCC e la richiesta DFC o FMD non ha risposto a un comando RELQ. È stata trovata un'intestazione o un'unità richiesta non valida per il controllo sessione corrente o lo stato del flusso di dati. È stato impedito il recapito al componente di metà sessione.

LUA_NO_BEGIN_BRACKET

Codice restituito secondario; il ricevitore ha già inviato una risposta positiva a un comando BIS quando è stata ricevuta una richiesta BID o FMD che specifica BBI=BB. È stata trovata un'intestazione di richiesta o un'unità richiesta non valida per lo stato di controllo del flusso di dati o del controllo della sessione corrente ricevuta. È stato impedito il recapito al componente di metà sessione.

LUA_IMMEDIATE_REQUEST_MODE_ERROR

Codice restituito secondario; la richiesta ha violato il protocollo di modalità richiesta immediata. È stata trovata una richiesta di intestazione o un'unità richiesta non valida per lo stato di controllo del flusso di dati o del controllo della sessione corrente. È stato impedito il recapito al componente di metà sessione.

LUA_QUEUED_RESPONSE_ERROR

Codice restituito secondario; la richiesta ha violato il protocollo di risposta in coda. È stata trovata una richiesta di intestazione o un'unità richiesta non valida per lo stato di controllo del flusso di dati o del controllo della sessione corrente. È stato impedito il recapito al componente di metà sessione.

LUA_ERP_SYNC_EVENT_ERROR

Codice restituito secondario; si è verificata una violazione del protocollo di evento sincrono ERP. È stata trovata una richiesta di intestazione o un'unità richiesta non valida per lo stato di controllo del flusso di dati o del controllo della sessione corrente. È stato impedito il recapito al componente di metà sessione.

LUA_RSP_CORRELATION_ERROR

Codice restituito secondario; è stata inviata una risposta che non corrisponde a una richiesta ricevuta in precedenza o è stata ricevuta una risposta che non corrisponde a una richiesta inviata in precedenza.

LUA_RSP_PROTOCOL_ERROR

Codice restituito secondario; È stata rilevata una violazione del protocollo di risposta nella risposta ricevuta dalla metà sessione primaria.

LUA_BB_NOT_ALLOWED

Codice restituito secondario; l'indicatore della parentesi quadra iniziale non è stato specificato correttamente. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_EB_NOT CONSENTITO

Codice restituito secondario; l'indicatore della parentesi quadra finale non è stato specificato correttamente. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_EXCEPTION_RSP_NOT_ALLOWED

Codice restituito secondario; quando non è stata consentita una risposta di eccezione, ne è stata richiesta una. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_DEFINITE_RSP_NOT_ALLOWED

Codice restituito secondario; quando non è stata consentita una risposta definita, ne è stata richiesta una. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_CD_NOT_ALLOWED

Codice restituito secondario; l'indicatore di direzione di modifica non è stato specificato correttamente. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_NO_RESPONSE_NOT_ALLOWED

Codice restituito secondario; una richiesta diversa da un EXR contiene una RISPOSTA NO. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_CHAINING_NOT_SUPPORTED

Codice restituito secondario; gli indicatori di concatenamento non sono stati specificati correttamente. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_BRACKETS_NOT_SUPPORTED

Codice restituito secondario; gli indicatori di parentesi quadre sono stati specificati in modo non corretto. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_CD_NOT_SUPPORTED

Codice restituito secondario; l'indicatore di direzione di modifica è stato impostato, ma LUA non supporta la direzione del cambiamento per questa situazione. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_INCORRECT_USE_OF_FI

Codice restituito secondario; l'indicatore di formato non è stato specificato correttamente. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_ALTERNATE_CODE_NOT_SUPPORTED

Codice restituito secondario; l'indicatore di selezione del codice è stato impostato, ma LUA non supporta la selezione del codice per questa sessione. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_INCORRECT_RU_CATEGORY

Codice restituito secondario; l'indicatore di categoria dell'unità richiesta non è stato specificato correttamente. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_INCORRECT_REQUEST_CODE

Codice restituito secondario; il codice della richiesta non è stato specificato correttamente. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_INCORRECT_SPEC_OF_SDI_RTI

Codice restituito secondario; L'SDI e l'RTI non sono stati specificati correttamente in una risposta. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_INCORRECT_DR1I_DR2I_ERI

Codice restituito secondario; dr1I, dr2I e L'ERI sono stati specificati in modo non corretto. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_INCORRECT_USE_OF_QRI

Codice restituito secondario; l'indicatore di risposta in coda non è stato specificato correttamente. Le opzioni BIND scelte in precedenza o le regole architetturali sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. È possibile che i mittenti non applichino le regole di sessione abbiano causato gli errori.

LUA_INCORRECT_USE_OF_EDI

Codice restituito secondario; l'EDI è stato specificato in modo errato. Le opzioni BIND scelte in precedenza o le regole dell'architettura sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. L'errore dei mittenti per applicare le regole di sessione potrebbe aver causato gli errori.

LUA_INCORRECT_USE_OF_PDI

Codice restituito secondario; il PDI è stato specificato in modo errato. Le opzioni BIND scelte in precedenza o le regole dell'architettura sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. L'errore dei mittenti per applicare le regole di sessione potrebbe aver causato gli errori.

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

LUA_DATA_TRUNCATED

Codice restituito secondario; i dati sono stati troncati perché i dati ricevuti erano più lunghi della lunghezza del buffer specificata in lua_max_length_ex.

LUA_DATA_SEGMENT_LENGTH_ERROR

Codice restituito secondario; si è verificato uno dei seguenti elementi:

Il segmento di dati fornito per SLI_RECEIVE_EX o SLI_SEND_EX non è un segmento di dati di lettura/scrittura in base alle esigenze.

Il segmento di dati fornito per SLI_RECEIVE_EX non è a lungo che fornito in lua_max_length_ex.

Il segmento di dati fornito per SLI_SEND_EX non è a lungo che fornito in lua_data_length_ex.

LUA_NO_DATA

Codice restituito secondario; nessun dato è stato disponibile per la lettura quando SLI_RECEIVE_EX contenente un parametro di attesa non è stato rilasciato.

LUA_VERB_RECORD_SPANS_SEGMENTS

Codice restituito secondario; il parametro di lunghezza VCB LUA e l'offset del segmento supera la fine del segmento.

LUA_NOT_ACTIVE

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

LUA_NOT_READY

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

È stato ricevuto un comando di tipo SNA UNBIND 0x02, che indica che è in arrivo un nuovo BINDING. Se il tipo UNBIND 0x02 viene ricevuto dopo il completamento della SLI_OPEN iniziale, la sessione viene sospesa fino a quando non viene ricevuto un flusso BIND, CRV e STSN facoltativo e SDT. Queste routine sono re-entranti perché devono essere chiamate di nuovo. La sessione viene ripresa dopo l'elaborazione del comando SDT. Se il tipo UNBIND 0x02 viene ricevuto mentre il SLI_OPEN sta ancora elaborando, il codice restituito primario è LUA_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_SLI_LOGIC_ERROR

Codice restituito secondario; l'interfaccia LUA ha rilevato un errore interno nella logica.

LUA_INVALID_PROCESS

Codice restituito secondario; la sessione per cui è stato rilasciato un verbo LUA non è disponibile perché un altro processo possiede la sessione.

LUA_LU_INOPERATIVE

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

LUA_RECEIVE_CORRELATION_TABLE_FULL

Codice restituito secondario; la tabella di correlazione di ricezione della sessione per il flusso richiesto ha raggiunto la sua capacità.

LUA_NEGATIVE_RESPONSE
Codice restituito primario; LUA ha inviato una risposta negativa a un messaggio ricevuto dall'unità logica primaria (PLU) perché è stato rilevato un errore nel messaggio oppure l'applicazione ha risposto negativamente a una catena per cui è arrivata la fine della catena.

LUA_MODE_INCONSISTENCY

Codice restituito secondario; l'esecuzione di questa funzione non è consentita dallo stato corrente. La richiesta inviata al componente di metà sessione non è stata eseguita anche se è stata compresa e supportata. Questo codice di senso SNA è anche un codice di senso delle eccezioni.

LUA_FUNCTION_NOT_SUPPORTED

Codice restituito secondario; luA non supporta la funzione richiesta. Un carattere di controllo, un parametro UR o un codice di richiesta formattato potrebbe aver specificato la funzione. Informazioni specifiche sul codice di senso sono in byte 2 e 3.

LUA_DATA_TRAFFIC_RESET

Codice restituito secondario; una metà sessione di una sessione attiva, ma con traffico dati inattivo ha ricevuto una normale richiesta DFC o FMD del flusso. È stata trovata un'intestazione o un'unità richiesta non valida per il controllo sessione corrente o lo stato del flusso di dati. È stato impedito il recapito al componente di metà sessione.

LUA_DATA_TRAFFIC_NOT_RESET

Codice restituito secondario; mentre lo stato del traffico dati non è stato reimpostato, la richiesta di controllo sessione è stata ricevuta. È stata trovata un'intestazione di richiesta o un'unità richiesta non valida per lo stato di controllo del flusso di dati o del controllo della sessione corrente ricevuta. È stato impedito il recapito al componente di metà sessione.

LUA_SC_PROTOCOL_VIOLATION

Codice restituito secondario; si è verificata una violazione del protocollo SC. È stata ricevuta una richiesta (consentita solo dopo una richiesta SC e una risposta positiva a tale richiesta) prima dello scambio richiesto. Il byte 4 dei dati di senso contiene il codice della richiesta. Nessun dato utente esiste per questo codice di senso. È stata trovata una richiesta di intestazione o un'unità richiesta non valida per lo stato di controllo del flusso di dati o del controllo della sessione corrente. È stato impedito il recapito al componente di metà sessione.

LUA_INVALID_SC_OR_NC_RH

Codice restituito secondario; rh di una richiesta SC o NC non è valida.

LUA_PACING_NOT_SUPPORTED

Codice restituito secondario; la richiesta contiene un indicatore di pacing quando il supporto della pacing per questa sessione non esiste per la metà sessione o la funzione limite di ricezione metà sessione. Le opzioni BIND scelte in precedenza o le regole dell'architettura sono state violate dai valori dei parametri dell'intestazione della richiesta. È stato impedito il recapito al componente di metà sessione. Gli errori non dipendono dallo stato della sessione corrente. L'errore dei mittenti per applicare le regole di sessione potrebbe aver causato gli errori.

LUA_NAU_INOPERATIVE

Codice restituito secondario; l'unità indirizzabile di rete non è in grado di elaborare risposte o richieste. Il recapito al ricevitore non è stato possibile per uno dei motivi seguenti:

Errore dell'unità informazioni percorso

Interruzione del percorso

Sequenza non valida di richieste di attivazione

Se viene ricevuto un errore di percorso durante una sessione attiva, in genere non esiste più un percorso valido per il partner sessione.

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

LUA_PURGED

Codice restituito secondario; SLI_PURGE è stato rilasciato e annullato SLI_RECEIVE.

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_CANCEL_COMMAND_RECEIVED

Codice restituito secondario; l'host ha inviato un comando SNA CANCEL per annullare la catena di dati attualmente ricevuta da SLI_RECEIVE_EX.

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_STATUS
Codice restituito primario; il codice restituito secondario contiene informazioni sullo stato SLI per l'applicazione.

LUA_READY

Codice restituito secondario; seguendo uno stato NOT READY, questo stato viene rilasciato per notificare che il SLI è pronto per elaborare i comandi.

LUA_NOT_READY

Codice restituito secondario; la sessione SLI viene sospesa temporaneamente per il motivo seguente:

È stato ricevuto un comando di tipo SNA UNBIND 0x02, il che significa che verrà un nuovo BINDING. Se il tipo UNBIND 0x02 viene ricevuto dopo il completamento della SLI_OPEN iniziale, la sessione viene sospesa fino a quando non viene ricevuto un flusso BIND, CRV e STSN facoltativo e SDT. Queste routine sono re-entranti perché devono essere chiamate di nuovo. La sessione viene ripresa dopo l'elaborazione del comando SDT. Se il tipo UNBIND 0x02 viene ricevuto durante l'elaborazione dell'SLI_OPEN , il codice restituito primario è un errore di sessione, non lo stato.

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

LUA_INIT_COMPLETE

Codice restituito secondario; l'interfaccia LUA inizializza la sessione durante l'elaborazione di SLI_OPEN . Applicazioni LUA che emettono SLI_OPEN con lua_open_type_prim_sscp ricevono questo stato in SLI_RECEIVE o SLI_BID.

LUA_SESSION_END_REQUESTED

Codice restituito secondario; l'interfaccia LUA ha ricevuto un SNA SHUTD dall'host, il che significa che l'host è pronto per arrestare la sessione.

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

SLI_RECEIVE_EX riceve risposte, comandi SNA e dati unità richiesta dall'host. SLI_RECEIVE_EX fornisce anche lo stato della sessione all'applicazione Windows LUA.

La differenza tra SLI_RECEIVE_EX e SLI_RECEIVE è che il verbo SLI_RECEIVE_EX supporta il concatenamento in ingresso e può ricevere fino a 4.295 kilobyte (KB) in una singola richiesta verbo. Al contrario, SLI_RECEIVE è limitato a ricevere fino a 64 KB in una richiesta verbo.

Una richiesta di SLI_OPEN deve essere completata prima che sia possibile eseguire SLI_RECEIVE_EX. Tuttavia, se SLI_OPEN viene rilasciato con lua_init_type impostato su LUA_INIT_TYPE_PRIM_SSCP, un SLI_RECEIVE_EX sul flusso normale SSCP può essere rilasciato non appena SLI_OPEN restituisce un IN_PROGRESS.

I dati vengono ricevuti dall'applicazione in uno dei quattro flussi di sessione. I quattro flussi di sessione, dal più alto al più basso sono:

  • SSCP accelerato

  • LU accelerato

  • SSCP normale

  • Normale lu

    Il tipo di flusso di dati che SLI_RECEIVE_EX verrà elaborato viene specificato in lua_flag1. L'applicazione può anche specificare se vuole esaminare più tipi di flusso di dati. Quando vengono impostati più bit di flusso, viene ricevuta prima la priorità più alta. Quando SLI_RECEIVE_EX completa l'elaborazione, lua_flag2 indica il tipo specifico di flusso per cui i dati sono stati ricevuti dall'applicazione Windows LUA.

    Se SLI_BID viene completato correttamente prima dell'emissione di SLI_RECEIVE , l'interfaccia LUA di Windows può essere incaricata di riutilizzare l'ultima SLI_BID verbi VCB. A tale scopo, eseguire SLI_RECEIVE_EX con lua_flag1.bid_enable impostato su 1.

    Quando si usa lua_flag1.bid_enable, l'archiviazione di SLI_BID non deve essere liberata perché viene usato l'ultimo verbo VCB SLI_BID. Inoltre, quando si usa lua_flag1.bid_enable, verrà pubblicato il completamento corretto di SLI_BID.

    Se SLI_RECEIVE_EX viene rilasciato con lua_flag1.nowait quando non sono disponibili dati per la ricezione, LUA_NO_DATA sarà il codice restituito secondario impostato dall'interfaccia LUA di Windows.

Valori restituiti stato sessione

Se LUA_STATUS è il codice restituito primario, il codice restituito secondario può essere uno dei seguenti:

LUA_READY

LUA_NOT_READY

LUA_SESSION_END_REQUESTED

LUA_INIT_COMPLETE

Inoltre, se LUA_STATUS è il codice restituito primario, vengono usati i parametri seguenti:

lua_sec_rc

lua_sid

LUA_READY viene restituito dopo uno stato di LUA_NOT_READY e indica che SLI è nuovamente pronto per eseguire tutti i comandi.

LUA_NOT_READY indica che la sessione SLI viene sospesa perché SLI ha ricevuto un comando SNA CLEAR o un comando SNA UNBIND con un 0x02 tipo UNBIND (UNBIND con BIND in futuro). A seconda di ciò che ha causato la sospensione, la sessione può essere riattivata come segue:

  • Quando la sospensione viene causata da una SNA CLEAR, la ricezione di una SNA SDT reagisce alla sessione.

  • Quando un tipo SNA UNBIND BIND in futuro causa la sospensione della sessione e la SLI_OPEN che ha aperto la sessione viene completata, la sessione viene sospesa fino a quando il SLI riceve un comando BIND e SDT. La sessione può anche ricevere facoltativamente un comando STSN. Di conseguenza, le routine fornite dall'utente rilasciate con il SLI_OPEN iniziale devono essere nuovamente immesse perché verranno richiamate.

    L'applicazione può inviare dati SSCP dopo l'arrivo di un tipo CLEAR o UNBIND BIND e prima della lettura dello stato NOT_READY. L'applicazione può inviare e ricevere dati SSCP dopo aver letto un NOT_READY.

    Quando un tipo SNA UNBIND BIND arriverà prima del completamento della SLI_OPEN che ha aperto la sessione, LUA_SESSION_FAILURE (non LUA_STATUS) è il codice restituito primario.

    LUA_SESSION_END_REQUESTED indica che l'applicazione ha ricevuto un SNA SHUTD dall'host. L'applicazione WINDOWS LUA deve eseguire SLI_CLOSE per chiudere la sessione quando è conveniente.

    LUA_INIT_COMPLETE viene restituito solo quando lua_init_type per SLI_OPEN è LUA_INIT_TYPE_PRIM_SSCP. Lo stato indica che la SLI_OPEN è stata elaborata in modo sufficiente per consentire l'invio o la ricezione dei dati SSCP.

Richieste di eccezione

Se un'unità richiesta dell'applicazione host viene convertita in un exR, i dati di senso verranno restituiti. Quando SLI_BID viene completato con i parametri verbi restituiti impostati come illustrato, si verifica una conversione EXR.

Membro Impostare su
lua_prim_rc OK (0x0000)
lua_sec_rc OK (0x00000000)
lua_rh.rri bit off (unità richiesta)
lua_rh.sdi bit on (include dati di senso)

Di sette byte di dati in lua_peek_data, byte da 0 a 3 definiscono l'errore rilevato. La tabella seguente indica i dati di senso possibili e i valori di byte da 0 a 3.

Dati di senso Valore di byte da 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

Le informazioni restituite ai byte da 3 a 6 in lua_peek_data sono determinate dai primi tre byte dell'unità richiesta iniziale che ha causato l'errore.

Vedere anche

RUI_INIT
RUI_PURGE
RUI_READ
RUI_WRITE
SLI_BID
SLI_CLOSE
SLI_OPEN
SLI_PURGE
SLI_SEND_EX