Freigeben über


ACTIVATE_SESSION

Das ACTIVATE_SESSION Verb fordert Microsoft® Host Integration Server auf, eine Sitzung zwischen der lokalen logischen Einheit (LU) und einer angegebenen Partner-LU mithilfe eines angegebenen Modus zu aktivieren. Dieses Verb wird entweder abgeschlossen, wenn die angegebene Sitzung aktiv wurde oder wenn sie fehlgeschlagen ist.

In der folgenden Struktur wird der verbsteuerungsblock beschrieben, der vom verb ACTIVATE_SESSION verb verwendet wird.

Syntax

  
typedef struct activate_session {  
    unsigned short  opcode;  
    unsigned char   reserv2[2];  
    unsigned short  primary_rc;  
    unsigned long   secondary_rc;  
    unsigned char   reserv3[8];  
    unsigned char   lu_alias[8];  
    unsigned char   plu_alias[8];  
    unsigned char   mode_name[8];  
    unsigned char   fqplu_name[17];  
    unsigned char   polarity;  
    unsigned char   session_id[8];  
    unsigned long   conv_group_id;  
    unsigned char   reserv4[1];  
    unsigned char   type;  
    HANDLE          deactivation_event;  
    unsigned short* p_deactivation_status;  
    unsigned char   reserv5[10];  
} ACTIVATE_SESSION;   

Elemente

opcode
Angegebener Parameter. Gibt den Verbvorgangscode AP_ACTIVATE_SESSION an.

reserv2
Ein reserviertes Feld.

primary_rc
Zurückgegebener Parameter. Gibt den primären Rückgabecode an, der von APPC am Ende des Verbs festgelegt wurde. Die gültigen Rückgabecodes variieren je nach ausgegebenen APPC-Verb. Informationen zu gültigen Fehlercodes für dieses Verb finden Sie unter "Rückgabecodes".

secondary_rc
Zurückgegebener Parameter. Gibt den von APPC festgelegten sekundären Rückgabecode am Ende des Verbs an. Die gültigen Rückgabecodes variieren je nach ausgegebenen APPC-Verb. Informationen zu gültigen Fehlercodes für dieses Verb finden Sie unter "Rückgabecodes".

Reserv3
Ein reserviertes Feld.

lu_alias
Angegebener Parameter. Stellt den 8-Byte-ASCII-Namen bereit, der lokal für die LU verwendet wird. Wenn die lokale Standard-LU verwendet werden soll, füllen Sie diesen Parameter mit Leerzeichen aus.

plu_alias
Angegebener Parameter. Stellt den 8-Byte-ASCII-Namen bereit, der lokal für die Partner-LU verwendet wird. Wenn die standardmäßige Remote-LU verwendet werden soll, füllen Sie diesen Parameter mit Leerzeichen aus. Wenn die Partner-LU mit dem parameter fqplu_name angegeben werden soll, füllen Sie diesen Parameter mit binären Nullen aus.

mode_name
Angegebener Parameter. Gibt den Namen des EBCDIC-Modus (Typ A) an.

fqplu_name
Angegebener Parameter. Stellt den Partner-LU-Namen in EBCDIC (Typ A) bereit, wenn kein plu_alias Name am lokalen Knoten definiert ist und sich die Partner-LU an einem anderen Knoten befindet. Dieser Parameter wird ignoriert, wenn plu_alias angegeben wird.

Polarität
Angegebener Parameter. Gibt die Polarität für die Sitzung an. Mögliche Werte sind:

AP_POL_EITHER
Wenn AP_POL_EITHER festgelegt ist, aktiviert ACTIVATE_SESSION bei Bedarf eine erste Sprechersitzung; andernfalls wird eine Bietersitzung aktiviert.

AP_POL_FIRST_SPEAKER
Wenn AP_POL_FIRST_SPEAKER festgelegt ist, ist ACTIVATE_SESSION nur erfolgreich, wenn eine Sitzung der angeforderten Polarität verfügbar ist.

AP_POL_BIDDER
Wenn AP_POL_BIDDER festgelegt ist, ist ACTIVATE_SESSION nur erfolgreich, wenn eine Sitzung der angeforderten Polarität verfügbar ist.

Sitzungs-ID
Zurückgegebener Parameter. Stellt den 8-Byte-Bezeichner der Aktivierungssitzung bereit.

conv_group_id
Zurückgegebener Parameter. Stellt den Unterhaltungsgruppenbezeichner bereit. Dieser Parameter kann für ZUWEISUNG und MC_ALLOCATE Verben angegeben werden, um Unterhaltungen in dieser bestimmten Sitzung zu starten.

reserv4
Ein reserviertes Feld.

Typ
Angegebener Parameter. Gibt den Aktivierungstyp an. Mögliche Werte:

AP_ACT_ACTIVE
Wenn AP_ACT_ACTIVE angegeben ist, versucht Der Hostintegrationsserver, die erforderliche Sitzung zu starten (durch Senden der BIND- oder INIT-SELF).

AP_ACT_PASSIVE
Wenn AP_ACT_PASSIVE angegeben ist, versucht Der Hostintegrationsserver nicht, die Sitzung zu starten, und das Verb wird abgeschlossen, wenn der Partner die Sitzung gestartet hat.

deactivation_event
Angegebener Parameter. Stellt ein Ereignishandle bereit, das APPC signalisiert, wenn die Sitzung deaktiviert wird. Das Ereignishandle sollte durch Aufrufen der CreateEvent - oder OpenEvent Win32-Funktion® abgerufen werden.

p_deactivation_status
Zurückgegebener Parameter. Ein Zeiger auf einen Wert, der festgelegt wird, wenn das Deaktivierungsereignis signalisiert wird, um den Abschlussstatus bereitzustellen. Die folgenden Werte können zurückgegeben werden.

AP_SESSION_DEACTIVATED
AP_COMM_SUBSYSTEM_ABENDED
reserv5
Ein reserviertes Feld.

Rückgabecodes

AP_OK
Primärer Rückgabecode; das Verb erfolgreich ausgeführt wurde. Der sekundäre Rückgabecode gibt die Polarität der etablierten Sitzung an. Die folgenden Werte können zurückgegeben werden.

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

AP_INVALID_LU_ALIAS
Sekundärer Rückgabecode; APPC kann die angegebene lu_alias unter diesen definierten nicht finden.

AP_INVALID_PLU_ALIAS
Sekundärer Rückgabecode; APPC hat die angegebene plu_alias nicht erkannt.

AP_INVALID_MODE_NAME
Sekundärer Rückgabecode; APPC hat die angegebene mode_name nicht erkannt.

AP_INVALID_FQPLU_NAME
Sekundärer Rückgabecode; APPC hat die angegebene fqplu_name nicht erkannt.

AP_INVALID_POLARITY
Sekundärer Rückgabecode; APPC hat die angegebene Polarität nicht erkannt.

AP_INVALID_TYPE
Sekundärer Rückgabecode; APPC hat den angegebenen Typ nicht erkannt.

AP_ACTIVATION_FAIL_NO_RETRY
Primärer Rückgabecode; die Sitzung konnte aufgrund einer Bedingung, die eine Aktion erfordert (z. B. ein Konfigurationskonflikt oder ein Sitzungsprotokollfehler), nicht aktiviert werden.

AP_ACTIVATION_FAIL_RETRY
Primärer Rückgabecode; die Sitzung konnte aufgrund einer temporären Bedingung (z. B. eines Verknüpfungsfehlers) nicht aktiviert werden.

AP_SESSION_LIMITS_EXCEEDED
Primärer Rückgabecode; die Sitzung konnte nicht aktiviert werden, da die Sitzungsgrenzwerte überschritten wurden.

AP_SESSION_LIMITS_CLOSED
Primärer Rückgabecode; die Sitzung konnte nicht aktiviert werden, da die Sitzungsgrenzwerte geschlossen sind (d. b. Null).

AP_COMM_SUBSYSTEM_ABENDED
Primärer Rückgabecode; gibt an, dass eine der folgenden Bedingungen aufgetreten ist:

Der von dieser Unterhaltung verwendete Knoten hat einen ABEND gefunden.

Die Verbindung zwischen dem TP und dem PU 2.1-Knoten wurde unterbrochen (Fehler im lokalen Netzwerk).

Die SnaBase auf dem Computer des TP ist ein ABEND aufgetreten.

Der Systemadministrator sollte das Fehlerprotokoll untersuchen, um den Grund für den ABEND zu ermitteln.

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

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

AP_THREAD_BLOCKING
Primärer Rückgabecode; Der aufrufende Thread befindet sich bereits in einem blockierenden Aufruf.

Bemerkungen

Dieses Verb unterstützt sowohl die aktive als auch die passive Aktivierung.

Die aktive Form dieses Verbs führt dazu, dass hostintegrationsserver versucht, die Sitzung zu initiieren (durch Senden einer BINDUNG für unabhängige LUs oder eine INIT-SELF für abhängige LUs). Die aktive Form dieses Verbs führt auch zu folgendem Verhalten:

  • Wenn die Verbindung mit der Partner-LU inaktiv ist und bei Bedarf konfiguriert ist, versucht der Knoten, die Verbindung zu starten.

  • Wenn dynamische Partner verwendet werden, richtet der Knoten die LU-LU/MODE-Partnerschaft ein.

  • Wenn CNOS nicht ausgeführt wird, startet der Knoten CNOS (ändert jedoch keine Sitzungsgrenzwerte).

    Das passive Formular versucht nicht, die Sitzung zu starten, wird aber abgeschlossen, wenn die LU von einer BIND von seiner Partner-LU gestartet wird. Bei unabhängigen LUs können mehrere passive ACTIVATE_SESSION Verben für die gleiche LU-LU/MODE in die Warteschlange gestellt und wiederum abgeschlossen werden, während neue Sitzungen gestartet werden.

    Dieses Verb enthält auch ein Deaktivierungsereignis, das veröffentlicht wird, wenn die Sitzung durch eine andere Methode als ein DEACTIVATE_SESSION Verb deaktiviert wird (z. B. ein nicht angefordertes UNBIND von seiner Partner-LU führt dazu, dass dieses Ereignis veröffentlicht wird).