Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il verbo ACTIVATE_SESSION richiede a Microsoft® Host Integration Server di attivare una sessione tra l'unità logica locale (LU) e un lu partner specificato, usando una modalità specificata. Questo verbo viene completato quando la sessione specificata è diventata attiva o quando non è riuscita.
Nella struttura seguente viene descritto il blocco di controllo verbo utilizzato dal verbo ACTIVATE_SESSION .
Sintassi
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;
Membri
Opcode
Parametro fornito. Specifica il codice dell'operazione verbo, AP_ACTIVATE_SESSION.
reserv2
Campo riservato.
primary_rc
Parametro restituito. Specifica il codice restituito primario impostato da APPC al completamento del verbo. I codici restituiti validi variano a seconda del verbo APPC rilasciato. Per questo verbo, vedere Codici restituiti per i codici di errore validi.
secondary_rc
Parametro restituito. Specifica il codice restituito secondario impostato da APPC al completamento del verbo. I codici restituiti validi variano a seconda del verbo APPC rilasciato. Per questo verbo, vedere Codici restituiti per i codici di errore validi.
reserv3
Campo riservato.
lu_alias
Parametro fornito. Fornisce il nome ASCII a 8 byte usato localmente per l'unità lu. Se l'unità lu locale predefinita deve essere usata, compilare questo parametro con spazi.
plu_alias
Parametro fornito. Fornisce il nome ASCII a 8 byte usato localmente per l'unità lu partner. Se l'unità lu remota predefinita deve essere usata, compilare questo parametro con spazi. Se il lu partner deve essere specificato con il parametro fqplu_name , compilare questo parametro con zeri binari.
mode_name
Parametro fornito. Specifica il nome della modalità EBCDIC (tipo A).
fqplu_name
Parametro fornito. Fornisce il nome lu partner in EBCDIC (tipo A) quando non viene definito alcun nome plu_alias nel nodo locale e l'lu partner si trova in un nodo diverso. Questo parametro viene ignorato se viene specificato plu_alias .
polarità
Parametro fornito. Specifica la polarità per la sessione. I valori possibili sono:
AP_POL_EITHER
Se AP_POL_EITHER è impostato, ACTIVATE_SESSION attiva una prima sessione del relatore, se disponibile; in caso contrario, viene attivata una sessione di offerta.
AP_POL_FIRST_SPEAKER
Se AP_POL_FIRST_SPEAKER è impostato, ACTIVATE_SESSION ha esito positivo solo se è disponibile una sessione della polarità richiesta.
AP_POL_BIDDER
Se AP_POL_BIDDER è impostato, ACTIVATE_SESSION ha esito positivo solo se è disponibile una sessione della polarità richiesta.
session_id
Parametro restituito. Fornisce l'identificatore a 8 byte della sessione di attivazione.
conv_group_id
Parametro restituito. Fornisce l'identificatore del gruppo di conversazioni. Questo parametro può essere specificato in ALLOCATE e MC_ALLOCATE verbi per avviare conversazioni in questa sessione specifica.
reserv4
Campo riservato.
tipo
Parametro fornito. Specifica il tipo di attivazione. I valori possibili sono:
AP_ACT_ACTIVE
Se si specifica AP_ACT_ACTIVE, Host Integration Server tenterà di avviare la sessione richiesta (inviando BIND o INIT-SELF).
AP_ACT_PASSIVE
Se si specifica AP_ACT_PASSIVE, Host Integration Server non tenterà di avviare la sessione e il verbo verrà completato all'avvio della sessione da parte del partner.
deactivation_event
Parametro fornito. Fornisce un handle di eventi che APPC deve segnalare quando la sessione viene disattivata. L'handle eventi deve essere ottenuto chiamando la funzione CreateEvent o OpenEvent Win32®.
p_deactivation_status
Parametro restituito. Puntatore a un valore impostato quando viene segnalato l'evento di disattivazione per fornire lo stato di completamento. È possibile restituire i valori seguenti.
AP_SESSION_DEACTIVATED
AP_COMM_SUBSYSTEM_ABENDED
reserv5
Campo riservato.
Codici di ritorno
AP_OK
Codice restituito primario; verbo eseguito correttamente. Il codice restituito secondario indica la polarità della sessione stabilita. È possibile restituire i valori seguenti.
AP_POL_FIRST_SPEAKER
AP_POL_BIDDER
AP_PARAMETER_CHECK
Codice restituito primario; il verbo non è stato eseguito a causa di un errore di parametro.
AP_INVALID_LU_ALIAS
Codice restituito secondario; APPC non riesce a trovare il lu_alias specificato tra quelli definiti.
AP_INVALID_PLU_ALIAS
Codice restituito secondario; APPC non riconosce il plu_alias specificato.
AP_INVALID_MODE_NAME
Codice restituito secondario; APPC non riconosce il mode_name specificato.
AP_INVALID_FQPLU_NAME
Codice restituito secondario; APPC non riconosce il fqplu_name specificato.
AP_INVALID_POLARITY
Codice restituito secondario; APPC non riconosce la polarità specificata.
AP_INVALID_TYPE
Codice restituito secondario; APPC non riconosce il tipo specificato.
AP_ACTIVATION_FAIL_NO_RETRY
Codice restituito primario; Impossibile attivare la sessione a causa di una condizione che richiede un'azione, ad esempio una mancata corrispondenza della configurazione o un errore del protocollo di sessione.
AP_ACTIVATION_FAIL_RETRY
Codice restituito primario; Impossibile attivare la sessione a causa di una condizione temporanea, ad esempio un errore di collegamento.
AP_SESSION_LIMITS_EXCEEDED
Codice restituito primario; Impossibile attivare la sessione perché sono stati superati i limiti di sessione.
AP_SESSION_LIMITS_CLOSED
Codice restituito primario; Non è stato possibile attivare la sessione perché i limiti della sessione sono chiusi ( ovvero zero).
AP_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 tp e il nodo pu 2.1 è stata interrotta (si è verificato un errore di rete dell'area locale).
La SnaBase nel computer del TP ha incontrato un ABEND.
L'amministratore di sistema deve esaminare il log degli errori per determinare il motivo di ABEND.
AP_COMM_SUBSYSTEM_NOT_LOADED
Codice restituito primario; Impossibile caricare o terminare un componente necessario durante l'elaborazione del verbo. Pertanto, la comunicazione non poteva avvenire. Contattare l'amministratore di sistema per un'azione correttiva.
AP_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.
AP_THREAD_BLOCKING
Codice restituito primario; il thread chiamante è già in una chiamata di blocco.
Osservazioni:
Questo verbo supporta sia l'attivazione attiva che passiva.
La forma attiva di questo verbo comporta un tentativo di avvio della sessione da parte di Host Integration Server (inviando un'associazione per unità di archiviazione indipendenti o un INIT-SELF per le unità organizzative dipendenti). La forma attiva di questo verbo comporterà anche il comportamento seguente:
Se la connessione al lu partner è inattiva ed è configurata come su richiesta, il nodo tenterà di avviare la connessione.
Se si usa il partner dinamico, il nodo configurerà la partnership LU-LU/MODE.
Se CNOS non è stato eseguito, il nodo avvierà CNOS (ma non modificherà alcun limite di sessione).
Il modulo passivo non tenta di avviare la sessione, ma viene completato quando l'unità lu viene avviata da un oggetto BIND dal relativo lu partner. Per le unità di aggiornamento indipendenti, è possibile accodare più verbi passivi ACTIVATE_SESSION per lo stesso LU-LU/MODE e completare a sua volta quando vengono avviate nuove sessioni.
Questo verbo include anche un evento di disattivazione, che viene pubblicato quando la sessione viene disattivata da qualsiasi metodo diverso da un verbo DEACTIVATE_SESSION (ad esempio, un UNBIND non richiesto dal relativo lu partner comporta la pubblicazione di questo evento).