SLI_BIND_ROUTINE
El SLI_BIND_ROUTINE verbo notifica a la aplicación de la aplicación de unidad lógica (LUA) de Microsoft® Windows® que una solicitud BIND procede del host y permite que la rutina proporcionada por el usuario examine la solicitud y formule una respuesta.
En la estructura siguiente se describe el miembro LUA_COMMON del bloque de control de verbos (VCB) usado por SLI_BIND_ROUTINE.
Sintaxis
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;
};
Members
lua_verb
Parámetro proporcionado. Contiene el código de verbo, LUA_VERB_SLI para verbos de interfaz de nivel de sesión (SLI).
lua_verb_length
Parámetro proporcionado. Especifica la longitud en bytes del VCB lua. Debe contener la longitud del registro de verbo que se va a emitir.
lua_prim_rc
Código de retorno principal establecido por LUA al finalizar el verbo. Los códigos de retorno válidos varían según el verbo LUA emitido.
lua_sec_rc
Código de retorno secundario establecido por LUA al finalizar el verbo. Los códigos de retorno válidos varían según el verbo LUA emitido.
lua_opcode
Parámetro proporcionado. Contiene el código de comando LUA (código de operación de verbo) para el verbo que se va a emitir, LUA_OPCODE_SLI_BIND_ROUTINE.
lua_correlator
Parámetro proporcionado. Contiene un valor proporcionado por el usuario que vincula el verbo con otra información proporcionada por el usuario. LUA no usa ni cambia esta información. Este parámetro es opcional.
lua_luname
Parámetro proporcionado. Especifica el nombre ASCII de la LU local usada por la sesión de LUA de Windows.
SLI_BIND_ROUTINE solo requiere este parámetro si lua_sid es cero.
Este parámetro tiene ocho bytes de longitud, rellenado a la derecha con espacios (0x20) si el nombre tiene menos de ocho caracteres.
lua_extension_list_offset
No se usa en SLI_BIND_ROUTINE y debe establecerse en cero.
lua_cobol_offset
LuA no se usa en Microsoft® Host Integration Server o SNA Server y debe ser cero.
lua_sid
Parámetro proporcionado. Especifica el identificador de sesión y lo devuelven SLI_OPEN y RUI_INIT. Otros verbos usan este parámetro para identificar la sesión usada para el comando. Si otros verbos usan el parámetro lua_luname para identificar sesiones, establezca el parámetro lua_sid en cero.
lua_max_length
No se usa en SLI_BIND_ROUTINE y debe establecerse en cero.
lua_data_length
Parámetro devuelto. Especifica la longitud de los datos de la unidad de solicitud/respuesta BIND (RU) devueltos en el búfer de datos.
lua_data_ptr
Para el SLI_BIND_ROUTINE este parámetro contiene la dirección de la RU BIND.
lua_post_handle
Parámetro proporcionado. Se usa en Microsoft Windows Server si los eventos deben realizar notificaciones asincrónicas. Esta variable contiene el identificador del evento que se va a indicar o un identificador de ventana.
lua_th
Parámetro proporcionado. Contiene el encabezado de transmisión SNA (TH) del mensaje recibido. Se devuelven varios subparámetros para las funciones de lectura y puja.
lua_rh
Parámetro proporcionado. Contiene el encabezado de solicitud/respuesta de SNA (RH) del mensaje enviado o recibido.
lua_flag1
Parámetro proporcionado. Contiene una estructura de datos que contiene marcas para los mensajes proporcionados por la aplicación.
lua_message_type
Parámetro proporcionado. Especifica el tipo de datos de SNA o comando enviado al host.
lua_flag2
Parámetro devuelto. Contiene marcas para los mensajes devueltos por LUA.
lua_flag2.async
Indica que el verbo de la interfaz LUA se completó de forma asincrónica si se establece en 1.
lua_flag2.sscp_exp
Indica el flujo acelerado de SSCP si se establece en 1.
lua_flag2.sscp_norm
Indica el flujo normal de SSCP si se establece en 1.
lua_flag2.lu_exp
Indica el flujo acelerado de LU si se establece en 1.
lua_flag2.lu_norm
Indica el flujo normal de LU si se establece en 1.
lua_resv56
Reservado y debe establecerse en cero.
lua_encr_decr_option
No se usa en SLI_BIND_ROUTINE y debe establecerse en cero.
Códigos de retorno
LUA_OK
Código de retorno principal; el verbo se ha ejecutado correctamente.
LUA_SEC_OK
Código de retorno secundario; no existe información adicional para LUA_OK.
LUA_NEGATIVE_RSP
Código de retorno principal; el LUA envió una respuesta negativa a un mensaje recibido de la unidad lógica principal (PLU) porque se encontró un error en el mensaje o la aplicación respondió negativamente a una cadena para la que ha llegado el final de la cadena.
Comentarios
SLI_BIND_ROUTINE proporciona un mecanismo para que la aplicación LUA de Windows examine las solicitudes BIND que se reciben del host. La LUA de Windows usa una biblioteca de vínculos dinámicos (DLL) proporcionada por el usuario para notificar a la aplicación LUA de Windows que se ha recibido una solicitud BIND. A continuación, la rutina DLL proporcionada por el usuario examina el contenido de BIND y formula una respuesta para la solicitud.
El nombre dll de la rutina se proporciona como extensiones del SLI_OPEN verbos VCB. El parámetro lua_extension_list_offset proporciona el desplazamiento desde el principio del VCB hasta el nombre de la lista de extensiones.
La interfaz lua de Windows asigna espacio de almacenamiento donde se estructura el VCB. El VCB de SLI_BIND_ROUTINE contiene lua_th y lua_rh. La dirección de la RU BIND se especifica en lua_data_ptr y la longitud de la RU se especifica en lua_data_length.
Cuando SLI_BIND_ROUTINE vuelve a la LUA de Windows, se completa el procesamiento de SLI_BIND_ROUTINE. La respuesta BIND debe sobrescribir la RU BIND. Cuando se acepta BIND, el código de retorno principal debe establecerse en LUA_OK. Si se rechaza BIND, el código de retorno principal debe establecerse en LUA_NEGATIVE_RSP y el búfer BIND contiene el código de sentido negativo. No se debe modificar el parámetro lua_data_ptr.
Si se devuelve una respuesta negativa de SLI_BIND_ROUTINE, se cancela SLI_OPEN . El lua_prim_rc del SLI_OPEN se establece en LUA_SESSION_FAILURE y el lua_sec_rc se establece en LUA_NEG_RSP_FROM_BIND_ROUTINE.
Consulte también
RUI_INIT
RUI_PURGE
RUI_READ
RUI_WRITE
SLI_OPEN
SLI_PURGE
SLI_RECEIVE
SLI_SEND