Freigeben über


SLI_SEND_EX

Das verb SLI_SEND_EX sendet Antworten, SNA-Befehle und Daten aus einer Microsoft® Windows® Logical Unit Application (LUA)-Anwendung an eine host logische Einheit (LU).

Das verb SLI_SEND_EX unterstützt auch eingehende Verkettung. Die maximale Datenlänge, die von einem einzelnen Verb gesendet werden kann, beträgt 4.294.967.295 Bytes. Dies wird mit maximal 65.535 Byte verglichen, die vom SLI_SEND Verb gesendet werden können.

Die folgende Struktur beschreibt das LUA_COMMON Element des Verbsteuerelementblocks (VCB), das von SLI_SEND_EX verwendet wird.

Die zweite Syntaxunion unten beschreibt das LUA_SPECIFIC Mitglied des von SLI_SEND_EX verwendeten VCB. Andere Gewerkschaftsmitglieder werden aus Gründen der Klarheit weggelassen.

Syntax

  
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_SEND_EX_SPECIFIC {  
        unsigned char lua_sequence_number[2];  
        unsigned long lua_data_length_ex;  
    };  
};  

Elemente

lua_verb
Angegebener Parameter. Enthält den Verbcode LUA_VERB_SLI für SLI-Verben (Session Level Interface).

lua_verb_length
Angegebener Parameter. Gibt die Länge in Byte des LUA VCB an. Er muss die Länge des Verbdatensatzes enthalten, der ausgegeben wird.

lua_prim_rc
Primärer Rückgabecode, der von LUA nach Abschluss des Verbs festgelegt wurde. Die gültigen Rückgabecodes variieren je nach ausgestellten LUA-Verb.

lua_sec_rc
Sekundärer Rückgabecode, der von LUA beim Abschluss des Verbs festgelegt wurde. Die gültigen Rückgabecodes variieren je nach ausgestellten LUA-Verb.

lua_opcode
Angegebener Parameter. Enthält den LUA-Befehlscode (Verboperationscode) für das zu ausgestellte Verb, LUA_OPCODE_SLI_SEND_EX.

lua_correlator
Angegebener Parameter. Enthält einen vom Benutzer bereitgestellten Wert, der das Verb mit anderen vom Benutzer bereitgestellten Informationen verknüpft. LUA verwendet oder ändert diese Informationen nicht. Dieser Parameter ist optional.

lua_luname
Angegebener Parameter. Gibt den ASCII-Namen der lokalen LU an, die von der Windows LUA-Sitzung verwendet wird.

SLI_SEND erfordert diesen Parameter nur, wenn lua_sid null ist.

Dieser Parameter ist acht Bytes lang, rechts mit Leerzeichen (0x20) aufgefüllt, wenn der Name kürzer als acht Zeichen ist.

lua_extension_list_offset
Wird von SLI_SEND_EX nicht verwendet und sollte auf Null festgelegt werden.

lua_cobol_offset
Wird von LUA in Microsoft® Host Integration Server oder SNA Server nicht verwendet und sollte auf Null festgelegt werden.

lua_sid
Der angegebene und zurückgegebene Parameter. Gibt den Sitzungsbezeichner an und wird von SLI_OPEN und RUI_INIT zurückgegeben. Andere Verben verwenden diesen Parameter, um die für den Befehl verwendete Sitzung zu identifizieren. Wenn andere Verben den parameter lua_luname verwenden, um Sitzungen zu identifizieren, legen Sie den lua_sid Parameter auf Null fest.

lua_max_length
Wird von SLI_SEND_EX nicht verwendet und sollte auf Null festgelegt werden.

lua_data_length
Dieser Parameter ist reserviert und muss auf Null festgelegt werden.

Die Länge der zu sendenden Daten wird im parameter lua_data_length_ex festgelegt.

lua_data_ptr
Zeiger auf den vom Anwendung bereitgestellten Puffer, der die Daten enthält, die vom SLI_SEND_EX an den Host gesendet werden sollen.

Sowohl SNA-Befehle als auch Daten werden in diesem Puffer platziert, und sie können sich im Format "Extended Binary Coded Decimal Interchange Code(EBCDIC)" befinden.

lua_post_handle
Angegebener Parameter. Wird unter Microsoft Windows Server verwendet, wenn eine asynchrone Benachrichtigung durch Ereignisse durchgeführt werden soll. Diese Variable enthält das Handle des Ereignisses, das signalisiert werden soll, oder ein Fensterhandle.

lua_th
Zurückgegebener Parameter. Enthält den SNA-Übertragungsheader (TH) der empfangenen Nachricht. Verschiedene Unterparameter werden für Schreibfunktionen festgelegt und für Lese- und Gebotsfunktionen zurückgegeben. Die Unterparameter sind wie folgt:

lua_th.flags_fid

Formatidentifikationstyp 2, vier Bit.

lua_th.flags_mpf

Segmentierungszuordnungsfeld, zwei Bit. Definiert den Typ des Datensegments. Folgende Werte sind gültig:

0x00 Mittleres Segment0x04 Letzten Segment0x08 Ersten Segment0x0C Nur-Segment

lua_th.flags_odai

Absenderadressenfeld-Zieladressfeld (OAF–DAF)-Zuweisungsindikator, ein Bit.

lua_th.flags_efi

Beschleunigter Flussindikator, ein Bit.

lua_th.daf

Zieladressfeld (DAF), ein nicht signiertes Zeichen.

lua_th.oaf

Ursprungsadressfeld (OAF), ein nicht signiertes Zeichen.

lua_th.snf

Sequenznummerfeld, ein nicht signiertes Zeichen[2].

lua_rh
Angegebener Parameter. Enthält den SNA-Anforderungs-/Antwortheader (RH) der gesendeten oder empfangenen Nachricht. Sie wird für RUI_WRITE und SLI_SEND festgelegt und von RUI_READ und RUI_BID zurückgegeben. Für den RH für SLI_SEND_EX werden alle Felder mit Ausnahme des Warteschlangen-Antwortindikators (lua_rh.qri) und des Pacing-Indikators (lua_rh.pi) verwendet.

lua_rh.rri

Anforderungsantwortindikator, ein Bit.

lua_rh.ruc

Anforderungs-/Antworteinheitskategorie (RU), zwei Bits.

lua_rh.fi

Formatanzeige, ein Bit.

lua_rh.sdi

Sense data included indicator, one bit.

lua_rh.bci

Begin chain indicator, one bit.

lua_rh.eci

Endchainindikator, ein Bit.

lua_rh.dr1i

Eindeutige Antwort 1 Indikator, ein Bit.

lua_rh.dr2i

Eindeutige Antwort 2 Indikator, ein Bit.

lua_rh.ri

Ausnahmeantwortindikator (für eine Anforderung) oder Antworttypindikator (für eine Antwort), ein Bit.

lua_rh.qri

Warteschleifen-Antwortindikator, ein Bit.

lua_rh.pi

Pacing-Indikator, ein Bit.

lua_rh.bbi

Beginnen Sie die Klammernanzeige, ein Bit.

lua_rh.ebi

Endklammernindikator, ein Bit.

lua_rh.cdi

Änderungsrichtungsanzeige, ein Bit.

lua_rh.csi

Codeauswahlindikator, ein Bit.

lua_rh.edi

Enzipherierte Datenanzeige, ein Bit.

lua_rh.pdi

Abstands-Datenindikator, ein Bit.

lua_flag1
Angegebener Parameter. Enthält eine Datenstruktur, die Flags für nachrichten enthält, die von der Anwendung bereitgestellt werden. Die Unterparameter sind wie folgt:

lua_flag1.bid_enable

Bid enable indicator, one bit.

lua_flag1.close_abend

Schließen Sie die Direktanzeige, ein Bit.

lua_flag1.nowait

Keine Wartezeit für datenkennzeichnung, ein Bit.

lua_flag1.sscp_exp

Systemdienste Kontrollpunkt (SSCP) beschleunigter Fluss, ein Bit.

lua_flag1.sscp_norm

SSCP normaler Fluss, ein Bit.

lua_flag1.lu_exp

LU beschleunigter Fluss, ein Bit.

lua_flag1.lu_norm

LU normaler Fluss, ein Bit.

Legen Sie eins der folgenden Flags auf 1 fest, um anzugeben, welcher Nachrichtenfluss die Daten gesendet werden sollen:

lua_flag1.sscp_exp

lua_flag1.sscp_norm

lua_flag1.lu_exp

lua_flag1.lu_norm

lua_message_type
Gibt den Typ der eingehenden oder ausgehenden SNA-Befehle und -Daten an. Dies ist ein bereitgestellter Parameter für SLI_SEND_EX.

Verfügbare mögliche Werte:

LUA_MESSAGE_TYPE_LU_DATA

LUA_MESSAGE_TYPE_SSCP_DATA

LUA_MESSAGE_TYPE_RSP

LUA_MESSAGE_TYPE_BID

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_RQR

LUA_MESSAGE_TYPE_RTR

LUA_MESSAGE_TYPE_SBI

LUA_MESSAGE_TYPE_SIGNAL

Die SLI empfängt und antwortet über die LUA-Schnittstellenerweiterungsroutinen auf die BIND- und STSN-Anforderungen.

LU-DATA, LUSTAT_LU, LUSTAT_SSCP und SSCP_DATA sind keine SNA-Befehle.

lua_flag2
Zurückgegebener Parameter. Enthält Flags für nachrichten, die von LUA zurückgegeben werden. Die Unterparameter sind wie folgt:

lua_flag2.bid_enable

Gibt an, dass RUI_BID erfolgreich erneut aktiviert wurde, wenn sie auf 1 festgelegt ist.

lua_flag2.async

Gibt an, dass das LUA-Schnittstellenverb asynchron abgeschlossen wurde, wenn er auf 1 festgelegt ist.

lua_flag2.sscp_exp

Gibt den beschleunigten SSCP-Fluss an, wenn er auf 1 festgelegt ist.

lua_flag2.sscp_norm

Gibt den normalen SSCP-Fluss an, wenn er auf 1 festgelegt ist.

lua_flag2.lu_exp

Gibt den beschleunigten LU-Fluss an, wenn er auf 1 festgelegt ist.

lua_flag2.lu_norm

Gibt den normalen LU-Fluss an, wenn er auf 1 festgelegt ist.

lua_resv56
Reserviert und sollte auf Null festgelegt werden.

lua_encr_decr_option
Wird von SLI_SEND_EX nicht verwendet und sollte auf Null festgelegt werden.

lua_sequence_number
Das Gewerkschaftsmitglied von LUA_SPECIFIC von SLI_SEND_EX verwendet. Zurückgegebener Parameter. Enthält die Sequenznummer für die erste in der Kettenanforderungseinheit oder das einzige Segment in der Kettenanforderungseinheit. Beachten Sie, dass dieser Parameter nicht byte-reversed ist.

lua_data_length_ex
Das Gewerkschaftsmitglied von LUA_SPECIFIC von SLI_SEND_EX verwendet. Angegebener Parameter. Gibt die Länge der gesendeten Daten an.

Rückgabecodes

LUA_OK
Primärer Rückgabecode; das Verb erfolgreich ausgeführt wurde.

LUA_SEC_OK

Sekundärer Rückgabecode; Für LUA_OK sind keine zusätzlichen Informationen vorhanden.

LUA_PARAMETER_CHECK
Primärer Rückgabecode; das Verb wurde aufgrund eines Parameterfehlers nicht ausgeführt.

LUA_INVALID_LUNAME

Sekundärer Rückgabecode; Ein ungültiger lua_luname wurde angegeben.

LUA_BAD_SESSION_ID

Sekundärer Rückgabecode; Ein ungültiger Wert für lua_sid wurde im VCB angegeben.

LUA_BAD_DATA_PTR

Sekundärer Rückgabecode; der parameter lua_data_ptr enthält entweder keinen gültigen Zeiger oder verweist nicht auf ein Lese-/Schreibsegment und die bereitgestellten Daten sind erforderlich.

LUA_RESERVED_FIELD_NOT_ZERO

Sekundärer Rückgabecode; Ein reservierter Parameter für das gerade ausgegebene Verb ist nicht auf Null festgelegt.

LUA_INVALID_POST_HANDLE

Sekundärer Rückgabecode; für ein Microsoft Windows-Betriebssystem, das Ereignisse als asynchrone Bereitstellungsmethode verwendet, enthält der Windows LUA VCB kein gültiges Ereignishandle.

LUA_INVALID_FLOW

Sekundärer Rückgabecode; die lua_flag1 Ablaufkennzeichnungen wurden bei der Ausgabe eines Verbs falsch festgelegt:

Wenn Sie SLI_SEND_EX ausgeben, um eine SNA-Antwort zu senden, legen Sie nur ein lua_flag1 Flusskennzeichen fest.

Legen Sie beim Ausgeben SLI_RECEIVE_EX mindestens ein lua_flag1 Flusskennzeichnung fest.

LUA_VERB_LENGTH_INVALID

Sekundärer Rückgabecode; ein LUA-Verb wurde mit einem Wert für lua_verb_length unerwartet von LUA ausgegeben.

LUA_REQUIRED_FIELD_MISSING

Sekundärer Rückgabecode; das verb, das ausgegeben wurde, enthielt weder einen Datenzeiger (wenn die Datenanzahl nicht null war) noch ein lua_flag1 Flussflagge.

LUA_INVALID_MESSAGE_TYPE

Sekundärer Rückgabecode; der parameter lua_message_type wird von der LUA-Schnittstelle nicht erkannt.

LUA_DATA_LENGTH_ERROR

Sekundärer Rückgabecode; die Anwendung hat keine vom Benutzer bereitgestellten Daten bereitgestellt, die für das ausgestellte Verb erforderlich sind. Beachten Sie, dass, wenn SLI_SEND_EX für einen SNA LUSTAT-Befehl ausgestellt wird, status (in vier Byte) erforderlich ist und dass daten erforderlich sind, wenn SLI_OPEN mit sekundärer Initialisierung ausgegeben wird.

LUA_STATE_CHECK
Primärer Rückgabecode; das Verb wurde nicht ausgeführt, weil es in einem ungültigen Zustand ausgegeben wurde.

LUA_NO_SLI_SESSION

Sekundärer Rückgabecode; eine Sitzung war nicht geöffnet oder war aufgrund eines SLI_CLOSE oder Sitzungsfehlers, wenn ein Befehl ausgegeben wurde.

LUA_MAX_NUMBER_OF_SENDS

Sekundärer Rückgabecode; der Antrag hat eine dritte SLI_SEND oder eine SLI_SEND_EX vor Abschluss ausgestellt.

LUA_SEND_ON_FLOW_PENDING

Sekundärer Rückgabecode; ein SLI_SEND oder eine SLI_SEND_EX noch ausstehend, als die Anwendung eine weitere SLI_SEND_EX für einen SNA-Fluss ausgestellt hat.

LUA_SESSION_FAILURE
Primärer Rückgabecode; Eine fehlerbedingung, die im sekundären Rückgabecode angegeben wurde, verursachte einen Fehler bei der Sitzung.

LUA_RECEIVED_UNBIND

Sekundärer Rückgabecode; die primäre logische Einheit (PLU) hat einen SNA UNBIND-Befehl an die LUA-Schnittstelle gesendet, wenn eine Sitzung aktiv war. Daher wurde die Sitzung beendet.

LUA_SLI_LOGIC_ERROR

Sekundärer Rückgabecode; die LUA-Schnittstelle hat einen internen Fehler in der Logik gefunden.

LUA_NO_RUI_SESSION

Sekundärer Rückgabecode; Für das ausgestellte LUA-Verb wurde keine Sitzung initialisiert, oder ein anderes Verb als SLI_OPEN wurde vor der Initialisierung der Sitzung ausgegeben.

LUA_LU_COMPONENT_DISCONNECTED

Sekundärer Rückgabecode; Eine LU-Komponente ist nicht verfügbar, da sie nicht ordnungsgemäß verbunden ist. Stellen Sie sicher, dass die Stromversorgung eingeschaltet ist.

LUA_DATA_SEGMENT_LENGTH_ERROR

Sekundärer Rückgabecode; eine der folgenden Aktionen ist aufgetreten:

Das bereitgestellte Datensegment für SLI_RECEIVE_EX oder SLI_SEND_EX ist bei Bedarf kein Datensegment mit Lese-/Schreibzugriff.

Das bereitgestellte Datensegment für SLI_RECEIVE_EX ist nicht so lange wie in lua_max_length_ex angegeben.

Das bereitgestellte Datensegment für SLI_SEND_EX ist nicht so lange wie in lua_data_length_ex angegeben.

LUA_VERB_RECORD_SPANS_SEGMENTS

Sekundärer Rückgabecode; der LÄNGENparameter LUA VCB plus der Segmentversatz über das Segmentende hinausgeht.

LUA_NOT_ACTIVE

Sekundärer Rückgabecode; LUA war in Microsoft Host Integration Server oder SNA Server nicht aktiv, wenn ein LUA-Verb ausgegeben wurde.

LUA_SLI_LOGIC_ERROR

Sekundärer Rückgabecode; die LUA-Schnittstelle hat einen internen Fehler in der Logik gefunden.

LUA_INVALID_PROCESS

Sekundärer Rückgabecode; die Sitzung, für die ein LUA-Verb ausgegeben wurde, nicht verfügbar ist, da ein anderer Betriebssystem/2-Prozess die Sitzung besitzt.

LUA_LU_INOPERATIVE

Sekundärer Rückgabecode; Ein schwerwiegender Fehler ist aufgetreten, während die LUA versucht hat, die Sitzung zu beenden. Diese LU ist für alle LUA-Anforderungen nicht verfügbar, bis eine aktivierung logische Einheit (ACTLU) vom Host empfangen wird.

LUA_MODE_INCONSISTENCY

Sekundärer Rückgabecode; Das Ausführen dieser Funktion ist vom aktuellen Status nicht zulässig. Die an die Halbsitzungskomponente gesendete Anforderung wurde nicht ausgeführt, obwohl sie verstanden und unterstützt wurde. Dieser SNA Sense-Code ist auch ein Ausnahmeanforderungs-Sense-Code.

LUA_INSUFFICIENT_RESOURCES

Sekundärer Rückgabecode; Eine temporäre Bedingung unzureichender Ressourcen führte dazu, dass der Anforderungsempfänger nicht ausgeführt werden konnte. Die an die Halbsitzungskomponente gesendete Anforderung wurde nicht ausgeführt, obwohl sie verstanden und unterstützt wurde.

LUA_SEND_CORRELATION_TABLE_FULL

Sekundärer Rückgabecode; Die Korrelationstabelle für das Senden der Sitzung für den angeforderten Fluss hat ihre Kapazität erreicht.

LUA_RU_LENGTH_ERROR

Sekundärer Rückgabecode; Die RU-Anforderung war eine falsche Länge (entweder zu kurz oder zu lang). Die Anforderungseinheit wurde nicht interpretiert oder verarbeitet, obwohl sie an die Halbsitzungskomponente übermittelt wurde. Die Halbsitzungsfunktionen stimmen nicht überein. Dieser SNA Sense-Code ist auch ein Ausnahmeanforderungs-Sense-Code.

LUA_FUNCTION_NOT_SUPPORTED

Sekundärer Rückgabecode; LUA unterstützt die angeforderte Funktion nicht. Ein Steuerelementzeichen, ein RU-Parameter oder ein formatierter Anforderungscode haben möglicherweise die Funktion angegeben. Spezifische Sinnescodeinformationen sind in Byte 2 und 3 enthalten.

LUA_HDX_BRACKET_STATE_ERROR

Sekundärer Rückgabecode; der vorhandene Statusfehler verhinderte, dass die aktuelle Anforderung gesendet wird. Die Bestimmung wurde von einem Protokollcomputer vorgenommen.

LUA_RESPONSE_ALREADY_SENT

Sekundärer Rückgabecode; Eine Antwort für die Kette wurde bereits gesendet, sodass die aktuelle Anforderung nicht gesendet wurde. Die Bestimmung wurde von einem Protokollcomputer vorgenommen.

LUA_EXR_SENSE_INCORRECT

Sekundärer Rückgabecode; die Anwendung hat negativ auf eine Ausnahmeanforderung geantwortet. Der Sinnescode war inakzeptabel.

LUA_RESPONSE_OUT_OF_ORDER

Sekundärer Rückgabecode; Die aktuelle Antwort war nicht für die älteste Anforderung vorgesehen. Die Bestimmung wurde von einem Protokollcomputer vorgenommen.

LUA_CHAIN_RESPONSE_REQUIRED

Sekundärer Rückgabecode; eine CHASE-Antwort war noch offen, als eine neuere Anforderung versucht wurde. Die Bestimmung wurde von einem Protokollcomputer vorgenommen.

LUA_BRACKET

Sekundärer Rückgabecode; Fehler beim Erzwingen der Sitzungsklammerregeln. Beachten Sie, dass Die Inhalts- und Rennbedingungen von diesem Fehler ausgenommen sind. Es wurde ein ungültiger Anforderungsheader oder eine Anforderungseinheit für die Empfänger des aktuellen Sitzungssteuerelements oder des Datenflusssteuerungszustands gefunden. Die Übermittlung an die Halbsitzungskomponente wurde verhindert.

LUA_DIRECTION

Sekundärer Rückgabecode; während der Halbduplex-Flip-Flop-Zustand NOT_RECEIVE wurde, wurde eine Anforderung für den normalen Fluss empfangen. Es wurde ein ungültiger Anforderungsheader oder eine Anforderungseinheit für die Empfänger des aktuellen Sitzungssteuerelements oder des Datenflusssteuerungszustands gefunden. Die Übermittlung an die Halbsitzungskomponente wurde verhindert.

LUA_DATA_TRAFFIC_RESET

Sekundärer Rückgabecode; eine halbe Sitzung einer aktiven Sitzung, aber mit inaktivem Datenverkehr eine normale Flussdatenflusssteuerung (Flow Data Flow Control, DFC) oder Eine FmD-Anforderung (Function Management Data Management Data, FMD) erhalten hat. Es wurde ein ungültiger Anforderungsheader oder eine Anforderungseinheit für die Empfänger des aktuellen Sitzungssteuerelements oder des Datenflusssteuerungszustands gefunden. Die Übermittlung an die Halbsitzungskomponente wurde verhindert.

LUA_DATA_TRAFFIC_QUIESCED

Sekundärer Rückgabecode; Eine DFC- oder FMD-Anforderung wurde von einer halben Sitzung empfangen, die entweder einen SHUTC-Befehl oder einen QC-Befehl gesendet hat, und die DFC- oder FMD-Anforderung hat nicht auf einen RELQ-Befehl geantwortet. Es wurde ein ungültiger Anforderungsheader oder eine Anforderungseinheit für die Empfänger des aktuellen Sitzungssteuerelements oder des Datenflusssteuerungszustands gefunden. Die Übermittlung an die Halbsitzungskomponente wurde verhindert.

LUA_DATA_TRAFFIC_NOT_RESET

Sekundärer Rückgabecode; Während der Datenverkehrsstatus nicht zurückgesetzt wurde, wurde die Sitzungssteuerungsanforderung empfangen. Es wurde ein ungültiger Anforderungsheader oder eine Anforderungseinheit für das empfangene aktuelle Sitzungssteuerelement oder den Datenflusssteuerungszustand gefunden. Die Übermittlung an die Halbsitzungskomponente wurde verhindert.

LUA_NO_BEGIN_BRACKET

Sekundärer Rückgabecode; Der Empfänger hat bereits eine positive Antwort an einen BIS-Befehl gesendet, wenn eine BID- oder eine FMD-Anforderung, die BBI=BB angibt, empfangen wurde. Es wurde ein ungültiger Anforderungsheader oder eine Anforderungseinheit für das empfangene aktuelle Sitzungssteuerelement oder den Datenflusssteuerungszustand gefunden. Die Übermittlung an die Halbsitzungskomponente wurde verhindert.

LUA_SC_PROTOCOL_VIOLATION

Sekundärer Rückgabecode; Ein Verstoß gegen das SC-Protokoll ist aufgetreten. Eine Anforderung (die nur nach einer SC-Anforderung zulässig ist und eine positive Antwort auf diese Anforderung erfolgreich ausgetauscht wurde) wurde vor dem erforderlichen Austausch empfangen. Byte 4 der Sinnesdaten enthält den Anforderungscode. Für diesen Sinnescode sind keine Benutzerdaten vorhanden. Es wurde ein ungültiger Headeranforderungs- oder Datenflusssteuerungsstatus gefunden. Die Übermittlung an die Halbsitzungskomponente wurde verhindert.

LUA_IMMEDIATE_REQUEST_MODE_ERROR

Sekundärer Rückgabecode; die Anforderung verletzte das Protokoll für den sofortigen Anforderungsmodus. Es wurde eine ungültige Headeranforderung oder Anforderungseinheit für das empfangene aktuelle Sitzungssteuerelement oder den Datenflusssteuerungszustand gefunden. Die Übermittlung an die Halbsitzungskomponente wurde verhindert.

LUA_QUEUED_RESPONSE_ERROR

Sekundärer Rückgabecode; die Anforderung verletzte das Antwortprotokoll in der Warteschlange. Es wurde eine ungültige Headeranforderung oder Anforderungseinheit für das empfangene aktuelle Sitzungssteuerelement oder den Datenflusssteuerungszustand gefunden. Die Übermittlung an die Halbsitzungskomponente wurde verhindert.

LUA_ERP_SYNC_EVENT_ERROR

Sekundärer Rückgabecode; Ein Verstoß gegen das synchrone ERP-Ereignisprotokoll ist aufgetreten. Es wurde eine ungültige Headeranforderung oder Anforderungseinheit für das empfangene aktuelle Sitzungssteuerelement oder den Datenflusssteuerungszustand gefunden. Die Übermittlung an die Halbsitzungskomponente wurde verhindert.

LUA_RSP_BEFORE_SENDING_REQ

Sekundärer Rückgabecode; eine zuvor empfangene Anforderung wurde noch nicht beantwortet, und es wurde versucht, eine normale Flussanforderung im Halbduplex-Sende-/Empfangsmodus zu senden. Es wurde eine ungültige Headeranforderung oder Anforderungseinheit für das empfangene aktuelle Sitzungssteuerelement oder den Datenflusssteuerungszustand gefunden. Die Übermittlung an die Halbsitzungskomponente wurde verhindert.

LUA_RSP_CORRELATION_ERROR

Sekundärer Rückgabecode; eine Antwort wurde gesendet, die keiner zuvor empfangenen Anforderung entspricht oder eine Antwort empfangen wurde, die keiner zuvor gesendeten Anforderung entspricht.

LUA_BB_NOT_ALLOWED

Sekundärer Rückgabecode; Die Klammernanzeige "Anfang" wurde falsch angegeben. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_EB_NOT ZULÄSSIG

Sekundärer Rückgabecode; Der Indikator für die Endklammer wurde falsch angegeben. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_EXCEPTION_RSP_NOT_ALLOWED

Sekundärer Rückgabecode; Wenn eine Ausnahmeantwort nicht zulässig war, wurde eine angefordert. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_DEFINITE_RSP_NOT_ALLOWED

Sekundärer Rückgabecode; wenn eine bestimmte Antwort nicht zulässig war, wurde eine angefordert. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_CD_NOT_ALLOWED

Sekundärer Rückgabecode; Die Änderungsrichtungsanzeige wurde falsch angegeben. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_NO_RESPONSE_NOT_ALLOWED

Sekundärer Rückgabecode; eine andere Anforderung als ein EXR enthielt eine "keine Antwort". Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_CHAINING_NOT_SUPPORTED

Sekundärer Rückgabecode; Die Verkettungsindikatoren wurden falsch angegeben. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_BRACKETS_NOT_SUPPORTED

Sekundärer Rückgabecode; Die Klammernindikatoren wurden falsch angegeben. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_CD_NOT_SUPPORTED

Sekundärer Rückgabecode; Die Änderungsrichtungsanzeige wurde festgelegt, aber LUA unterstützt keine Änderungsrichtung für diese Situation. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_INCORRECT_USE_OF_FI

Sekundärer Rückgabecode; Der Formatindikator wurde falsch angegeben. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_ALTERNATE_CODE_NOT_SUPPORTED

Sekundärer Rückgabecode; Der Codeauswahlindikator wurde festgelegt, aber LUA unterstützt die Codeauswahl für diese Sitzung nicht. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_INCORRECT_REQUEST_CODE

Sekundärer Rückgabecode; Der Anforderungscode wurde falsch angegeben. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_INCORRECT_SPEC_OF_SDI_RTI

Sekundärer Rückgabecode; die SDI und die RTI wurden für eine Antwort nicht ordnungsgemäß angegeben. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_INCORRECT_DR1I_DR2I_ERI

Sekundärer Rückgabecode; die DR1I, das DR2I und die ERI wurden falsch angegeben. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_INCORRECT_USE_OF_QRI

Sekundärer Rückgabecode; Der Indikator für die in die Warteschlange eingereihte Antwort wurde falsch angegeben. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_INCORRECT_USE_OF_EDI

Sekundärer Rückgabecode; das EDI wurde falsch angegeben. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_INCORRECT_USE_OF_PDI

Sekundärer Rückgabecode; der PDI falsch angegeben wurde. Die zuvor ausgewählten BIND-Optionen oder die Architekturregeln wurden durch die Parameterwerte des Anforderungsheaders verletzt. Die Übermittlung an die Halbsitzungskomponente wurde verhindert. Die Fehler sind nicht vom aktuellen Sitzungszustand abhängig. Fehler beim Erzwingen von Sitzungsregeln durch Absender.

LUA_NO_SESSION

Sekundärer Rückgabecode; Eine Anforderung zum Aktivieren einer Sitzung ist erforderlich, da keine aktive Halbsitzung im empfangenden Endknoten für das Ursprungszielpaar vorhanden ist oder keine aktive Grenzfunktion halbsitzungskomponente für das Ursprungszielpaar in einem Knoten vorhanden ist, der die Grenzfunktion bereitstellt. Die Übermittlung der Anfrage konnte aus einem der folgenden Gründe nicht erfolgen:

Fehler der Pfadinformationseinheit

Pfadausfall

Eine ungültige Abfolge von Anforderungen für die Aktivierung

Wenn während einer aktiven Sitzung ein Pfadfehler empfangen wird, gibt dies in der Regel an, dass kein gültiger Pfad zum Sitzungspartner mehr vorhanden ist.

LUA_CANCELED
Primärer Rückgabecode; Der sekundäre Rückgabecode gibt den Grund für das Abbrechen des Befehls.

LUA_TERMINATED

Sekundärer Rückgabecode; die Sitzung wurde beendet, wenn ein Verb aussteht. Der Verbprozess wurde abgebrochen.

LUA_IN_PROGRESS
Primärer Rückgabecode; Ein asynchroner Befehl wurde empfangen, aber nicht abgeschlossen.

LUA_COMM_SUBSYSTEM_ABENDED
Primärer Rückgabecode; gibt eine der folgenden Bedingungen an:

Der von dieser Unterhaltung verwendete Knoten hat einen ABEND gefunden.

Die Verbindung zwischen dem Transaktionsprogramm (TP) und der physischen Einheit (PU) 2.1-Knoten wurde unterbrochen (LAN-Fehler).

Die SnaBase auf dem Computer der TPs hat einen ABEND gefunden.

LUA_COMM_SUBSYSTEM_NOT_LOADED
Primärer Rückgabecode; Eine erforderliche Komponente konnte beim Verarbeiten des Verbs nicht geladen oder beendet werden. So konnte die Kommunikation nicht stattfinden. Wenden Sie sich an den Systemadministrator, um Korrekturmaßnahmen zu ergreifen.

LUA_INVALID_VERB_SEGMENT
Primärer Rückgabecode; die VCB über das Ende des Datensegments hinaus erweitert wurde.

LUA_UNEXPECTED_DOS_ERROR
Primärer Rückgabecode; nach dem Ausgeben eines Betriebssystemaufrufs wurde ein unerwarteter Rückgabecode des Betriebssystems empfangen und im sekundären Rückgabecode angegeben.

LUA_STACK_TOO_SMALL
Primärer Rückgabecode; Die Stapelgröße der Anwendung ist zu klein, um das Verb auszuführen. Erhöhen Sie die Stapelgröße Ihrer Anwendung.

LUA_INVALID_VERB
Primärer Rückgabecode; entweder der Verbcode oder der Vorgangscode oder beides ist ungültig. Das Verb wurde nicht ausgeführt.

Bemerkungen

SLI_SEND_EX sendet Antworten, SNA-Befehle und Daten aus der Windows LUA-Anwendung an eine Host-LU.

Der Unterschied zwischen SLI_SEND_EX und SLI_SEND besteht darin, dass das SLI_SEND_EX Verb eingehende Verkettung unterstützt und bis zu maximal 4.295 KB in einer einzelnen Verbanforderung senden kann. Im Gegensatz dazu ist SLI_SEND auf das Senden von bis zu 64 KB in einer Verbanforderung beschränkt. Ein einzelnes SLI_SEND_EX oder SLI_SEND Verb definiert eine Kette. Ein einzelnes SLI_RECEIVE_EX oder SLI_RECEIVE Verb erhält eine ganze Kette.

Eine Sitzung muss bereits geöffnet sein, um SLI_SEND_EX für einen bestimmten LU-LU Sitzungsfluss auszuweisen. Zum Senden von Daten über den normalen SSCP-Fluss vor abschluss des SLI_OPEN muss die Sitzung als primär mit SSCP-Zugriff initialisiert worden sein. Darüber hinaus muss der Sitzungsstatus INIT_COMPLETE werden.

Die Einstellungen für lua_message_type bestimmen den Typ der Verarbeitung, die von SLI_SEND_EX ausgeführt wird. Die folgende Tabelle gibt die Parameter an, die basierend auf dem Wert von lua_message_type festgelegt werden sollen.

parameter SLI_SEND_EX LU_DATA

SSCP_DATA
BIETEN

BIS

RTR
JAGEN

QK
LUSTAT_LU

LUSTAT_SSCP
QEC

RELQ

SBI

SIGNAL
RQR RSP
lua_data
_Länge
Req. 0 0 Req. 0 0 Req. (0, wenn keine Daten)
lua_data
_ptr
Req. (0, wenn keine Daten) 0 0 Req. 0 0 Req. (0, wenn keine Daten)
lua_flag1 Flusskennzeichnungen 0 0 0 0 0 0 Req. (set one)
lua_rh FI DRL1 DRL2 RI BBI EBI CDI CSI EDI SDI QRI SDI QRI EBI CDI SDI QRI DRL1 DRL2 RI BBI EBI CDI SDI 0 RRI RI
lua_th 0 0 0 0 0 0 SNF

Die in lua_data_ptr bereitgestellte Position und die in lua_data_length_ex bereitgestellte Länge bestimmen die Daten, die die SLI sendet. Die Daten werden bei Bedarf von den SLI-Verben verkettet.

Beim Senden einer Antwort bestimmt der Typ der Antwort die erforderlichen SLI_SEND_EX Informationen. Für alle Antworten müssen Sie:

  • Legen Sie das ausgewählte lua_flag1 Flusskennzeichnung fest.

  • Geben Sie die Sequenznummer in lua_th.snf für die Anforderung an, auf die Sie antworten.

  • Legen Sie lua_message_type auf LUA_MESSAGE_TYPE_RSP fest.

    Bei Nachrichtenantworten mit mehreren Ketten muss die Sequenznummer des letzten empfangenen Kettenelements verwendet werden. Für eine Antwort auf eine mehrkette Nachricht, die mit einem CANCEL-Befehl endet, wird die CANCEL-Befehlssequenznummer verwendet.

    Legen Sie für positive Antworten, die nur den Anforderungscode erfordern, lua_rh.ri auf Null fest (was angibt, dass die Antwort positiv ist) und lua_data_length auf Null (das angibt, dass keine Daten bereitgestellt werden). Der Anforderungscode wird vom SLI mit der angegebenen Sequenznummer ausgefüllt.

    Legen Sie für negative Antworten, in denen lua_rh.ri auf 1 festgelegt ist, die lua_data_ptr auf die SNA Sense-Codeadresse und die lua_data_length auf die SNA Sense-Codelänge (vier Byte) fest. Die Sequenznummer wird vom SLI verwendet, um den Anforderungscode auszufüllen.

Siehe auch

RUI_INIT
RUI_READ
RUI_WRITE
SLI_BID
SLI_CLOSE
SLI_OPEN
SLI_RECEIVE_EX