ACTIVATE_SESSION
El verbo ACTIVATE_SESSION solicita a Microsoft® Host Integration Server que active una sesión entre la unidad lógica local (LU) y una LU de asociado especificada mediante un modo especificado. Este verbo se completa cuando la sesión especificada se ha activado o cuando se ha producido un error.
En la estructura siguiente se describe el bloque de control de verbo utilizado por el verbo ACTIVATE_SESSION .
Sintaxis
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;
Members
opcode
Parámetro proporcionado. Especifica el código de operación de verbo, AP_ACTIVATE_SESSION.
reserv2
Campo reservado.
primary_rc
Parámetro devuelto. Especifica el código de retorno principal que establece APPC al finalizar el verbo. Los códigos de retorno válidos varían en función del verbo APPC que se emita. Consulte la sección de códigos de retorno para obtener los códigos de error válidos para este verbo.
secondary_rc
Parámetro devuelto. Especifica el código de retorno secundario que establece APPC al finalizar el verbo. Los códigos de retorno válidos varían en función del verbo APPC que se emita. Consulte la sección de códigos de retorno para obtener los códigos de error válidos para este verbo.
reserv3
Campo reservado.
lu_alias
Parámetro proporcionado. Proporciona el nombre ASCII de 8 bytes usado localmente para la LU. Si se va a usar la LU local predeterminada, rellene este parámetro con espacios.
plu_alias
Parámetro proporcionado. Proporciona el nombre ASCII de 8 bytes que se usa localmente para la LU del asociado. Si se va a usar la LU remota predeterminada, rellene este parámetro con espacios. Si se va a especificar la LU del asociado con el parámetro fqplu_name , rellene este parámetro con ceros binarios.
mode_name
Parámetro proporcionado. Especifica el nombre del modo EBCDIC (tipo A).
fqplu_name
Parámetro proporcionado. Proporciona el nombre de LU del asociado en EBCDIC (tipo A) cuando no se define ningún nombre de plu_alias en el nodo local y la LU del asociado se encuentra en un nodo diferente. Este parámetro se omite si se especifica plu_alias .
polarity
Parámetro proporcionado. Especifica la polaridad de la sesión. Los valores posibles son:
AP_POL_EITHER
Si se establece AP_POL_EITHER, ACTIVATE_SESSION activa una primera sesión del hablante si está disponible; de lo contrario, se activa una sesión de pujador.
AP_POL_FIRST_SPEAKER
Si se establece AP_POL_FIRST_SPEAKER, ACTIVATE_SESSION solo se realiza correctamente si hay disponible una sesión de la polaridad solicitada.
AP_POL_BIDDER
Si se establece AP_POL_BIDDER, ACTIVATE_SESSION solo se realiza correctamente si hay disponible una sesión de la polaridad solicitada.
session_id
Parámetro devuelto. Proporciona el identificador de 8 bytes de la sesión de activación.
conv_group_id
Parámetro devuelto. Proporciona el identificador del grupo de conversación. Este parámetro se puede especificar en ALLOCATE y MC_ALLOCATE verbos para iniciar conversaciones en esta sesión determinada.
reserv4
Campo reservado.
tipo
Parámetro proporcionado. Especifica el tipo de activación. Los valores posibles son:
AP_ACT_ACTIVE
Si se especifica AP_ACT_ACTIVE, Host Integration Server intentará iniciar la sesión necesaria (enviando BIND o INIT-SELF).
AP_ACT_PASSIVE
Si se especifica AP_ACT_PASSIVE, Host Integration Server no intentará iniciar la sesión y el verbo se completará cuando el asociado haya iniciado la sesión.
deactivation_event
Parámetro proporcionado. Proporciona un identificador de eventos que APPC indica cuando se desactiva la sesión. El identificador de eventos debe obtenerse llamando a la función CreateEvent o OpenEvent Win32®.
p_deactivation_status
Parámetro devuelto. Puntero a un valor que se establece cuando se señala el evento de desactivación para proporcionar el estado de finalización. Se pueden devolver los valores siguientes.
AP_SESSION_DEACTIVATED
AP_COMM_SUBSYSTEM_ABENDED
reserv5
Campo reservado.
Códigos de retorno
AP_OK
Código de retorno principal; el verbo se ha ejecutado correctamente. El código de retorno secundario indica la polaridad de la sesión establecida. Se pueden devolver los valores siguientes.
AP_POL_FIRST_SPEAKER
AP_POL_BIDDER
AP_PARAMETER_CHECK
Código de retorno principal; el verbo no se ha ejecutado debido a un error en un parámetro.
AP_INVALID_LU_ALIAS
Código de retorno secundario; APPC no encuentra el lu_alias especificado entre los definidos.
AP_INVALID_PLU_ALIAS
Código de retorno secundario; APPC no reconoció el plu_alias especificado.
AP_INVALID_MODE_NAME
Código de retorno secundario; APPC no reconoció el mode_name especificado.
AP_INVALID_FQPLU_NAME
Código de retorno secundario; APPC no reconoció el fqplu_name especificado.
AP_INVALID_POLARITY
Código de retorno secundario; APPC no reconoció la polaridad especificada.
AP_INVALID_TYPE
Código de retorno secundario; APPC no reconoció el tipo especificado.
AP_ACTIVATION_FAIL_NO_RETRY
Código de retorno principal; no se pudo activar la sesión debido a una condición que requiere una acción (por ejemplo, un error de coincidencia de configuración o un error de protocolo de sesión).
AP_ACTIVATION_FAIL_RETRY
Código de retorno principal; No se pudo activar la sesión debido a una condición temporal (por ejemplo, un error de vínculo).
AP_SESSION_LIMITS_EXCEEDED
Código de retorno principal; no se pudo activar la sesión porque se han superado los límites de sesión.
AP_SESSION_LIMITS_CLOSED
Código de retorno principal; no se pudo activar la sesión porque los límites de sesión están cerrados (es decir, cero).
AP_COMM_SUBSYSTEM_ABENDED
Código de retorno principal; indica que se ha producido una de las condiciones siguientes:
El nodo utilizado por esta conversación encontró una anulación.
Se ha interrumpido la conexión entre el TP y el nodo PU 2.1 (error de red de área local).
El proceso SnaBase que se ejecuta en el equipo del TP encontró una anulación.
El administrador del sistema debe examinar el registro de errores a fin de determinar el motivo de la anulación.
AP_COMM_SUBSYSTEM_NOT_LOADED
Código de retorno principal; no se pudo cargar o finalizar un componente necesario durante el procesamiento del verbo. Por tanto, no se pudo establecer la comunicación. Consulte al administrador del sistema para aplicar una acción correctiva.
AP_STACK_TOO_SMALL
Código de retorno principal; el tamaño de la pila de la aplicación es demasiado pequeño para ejecutar el verbo. Aumente el tamaño de pila de la aplicación.
AP_THREAD_BLOCKING
Código de retorno principal; el subproceso que llama ya está en una llamada de bloqueo.
Comentarios
Este verbo admite la activación activa y pasiva.
La forma activa de este verbo da como resultado que Host Integration Server intente iniciar la sesión (mediante el envío de un BIND para LU independientes o inIT-SELF para las LU dependientes). La forma activa de este verbo también dará como resultado el siguiente comportamiento:
Si la conexión con la LU del asociado está inactiva y está configurada como a petición, el nodo intentará iniciar la conexión.
Si se usa el asociado dinámico, el nodo configurará la asociación LU-LU/MODE.
Si CNOS no se ha ejecutado, el nodo iniciará CNOS (pero no cambiará ninguno de los límites de sesión).
El formulario pasivo no intenta iniciar la sesión, pero se completa cuando un LU de asociado inicia la LU. En el caso de las LU independientes, se pueden poner en cola varios verbos de ACTIVATE_SESSION pasivo para el mismo LU-LU/MODE y completarse a su vez a medida que se inician nuevas sesiones.
Este verbo también incluye un evento de desactivación, que se publica cuando cualquier método que no sea un verbo de DEACTIVATE_SESSION desactiva la sesión (por ejemplo, un UNBIND no solicitado de su LU de asociado da como resultado que este evento se publique).