Partager via


SLI_PURGE

Le verbe SLI_PURGE annule SLI_RECEIVE verbes émis avec une condition d’attente.

La structure suivante décrit le membre LUA_COMMON du bloc de contrôle verbe (VCB) utilisé par SLI_PURGE.

Syntaxe

  
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;  
};  

Membres

lua_verb
Paramètre fourni. Contient le code verbe, LUA_VERB_SLI pour les verbes SLI (Session Level Interface).

lua_verb_length
Paramètre fourni. Spécifie la longueur en octets de l’application d’unité logique (LUA) VCB. Il doit contenir la longueur de l’enregistrement de verbe émis.

lua_prim_rc
Code de retour principal défini par LUA à l’achèvement du verbe. Les codes de retour valides varient en fonction du verbe LUA émis.

lua_sec_rc
Code de retour secondaire défini par LUA à l’achèvement du verbe. Les codes de retour valides varient en fonction du verbe LUA émis.

lua_opcode
Paramètre fourni. Contient le code de commande LUA (code d’opération de verbe) pour que le verbe soit émis, LUA_OPCODE_SLI_PURGE.

lua_correlator
Paramètre fourni. Contient une valeur fournie par l’utilisateur qui lie le verbe à d’autres informations fournies par l’utilisateur. LUA n’utilise pas ou ne modifie pas ces informations. Ce paramètre est facultatif.

lua_luname
Paramètre fourni. Spécifie le nom ASCII de l’unité logique locale utilisée par la session Windows LUA.

SLI_PURGE nécessite uniquement ce paramètre si lua_sid est égal à zéro.

Ce paramètre est de huit octets longs, rembourrés à droite avec des espaces (0x20) si le nom est inférieur à huit caractères.

lua_extension_list_offset
Non utilisé par SLI_PURGE et doit être défini sur zéro.

lua_cobol_offset
Non utilisé par LUA dans Microsoft® Host Integration Server ou SNA Server et doit être égal à zéro.

lua_sid
Paramètre fourni. Spécifie l’identificateur de session et est retourné par SLI_OPEN et RUI_INIT. D’autres verbes utilisent ce paramètre pour identifier la session utilisée pour la commande. Si d’autres verbes utilisent le paramètre lua_luname pour identifier les sessions, définissez le paramètre lua_sid sur zéro.

lua_max_length
Non utilisé par SLI_PURGE et doit être défini sur zéro.

lua_data_length
Non utilisé par SLI_PURGE et doit être défini sur zéro.

lua_data_ptr
Lorsque SLI_PURGE est émis, ce paramètre pointe vers l’emplacement du SLI_RECEIVE verbes VCB à annuler.

lua_post_handle
Paramètre fourni. Utilisé sous Microsoft Windows Server si la notification asynchrone doit être effectuée par les événements. Cette variable contient le handle de l’événement à signaler ou à un handle de fenêtre.

lua_th
Non utilisé par SLI_PURGE et doit être défini sur zéro.

lua_rh
Non utilisé par SLI_PURGE et doit être défini sur zéro.

lua_flag1
Non utilisé par SLI_PURGE et doit être défini sur zéro.

lua_message_type
Non utilisé par SLI_PURGE et doit être défini sur zéro.

lua_flag2
Paramètre retourné. Contient des indicateurs pour les messages retournés par LUA.

lua_flag2.async

Indique que le verbe de l’interface LUA s’est terminé de façon asynchrone s’il est défini sur 1.

lua_resv56
Réservé et doit être défini sur zéro.

lua_encr_decr_option
Non utilisé par SLI_PURGE et doit être défini sur zéro.

Codes de retour

LUA_OK
Code de retour principal ; le verbe exécuté avec succès.

LUA_SEC_OK

Code de retour secondaire ; aucune information supplémentaire n’existe pour LUA_OK.

LUA_PARAMETER_CHECK
Code de retour principal ; le verbe n’a pas été exécuté en raison d’une erreur de paramètre.

LUA_INVALID_LUNAME

Code de retour secondaire ; une lua_luname non valide a été spécifiée.

LUA_BAD_SESSION_ID

Code de retour secondaire ; une valeur non valide pour lua_sid a été spécifiée dans le VCB.

LUA_BAD_DATA_PTR

Code de retour secondaire ; le paramètre lua_data_ptr ne contient pas de pointeur valide ou ne pointe pas vers un segment de lecture/écriture et les données fournies sont requises.

LUA_RESERVED_FIELD_NOT_ZERO

Code de retour secondaire ; Un paramètre réservé pour le verbe émis n’est pas défini sur zéro.

LUA_INVALID_POST_HANDLE

Code de retour secondaire ; pour le système d’exploitation Microsoft Windows utilisant des événements comme méthode de publication asynchrone, windows LUA VCB ne contient pas de handle d’événement valide.

LUA_VERB_LENGTH_INVALID

Code de retour secondaire ; un verbe LUA a été émis avec une valeur pour lua_verb_length inattendue par LUA.

LUA_STATE_CHECK
Code de retour principal ; le verbe n’a pas exécuté, car il a été émis dans un état non valide.

LUA_NO_SLI_SESSION

Code de retour secondaire ; une session n’a pas été ouverte ou a été arrêtée en raison d’un échec de SLI_CLOSE ou de session lors de l’émission d’une commande.

LUA_NO_RECEIVE_TO_PURGE

Code de retour secondaire ; aucune SLI_RECEIVE n’était en suspens lorsque vous avez émis SLI_PURGE. L’une des deux situations a provoqué le problème :

  • SLI_RECEIVE terminé avant SLI_PURGE traitement terminé. Vous pouvez modifier l’application pour prendre en charge ce problème, car il ne s’agit pas d’une condition d’erreur.

  • Le paramètre lua_data_ptr ne pointe pas correctement vers le SLI_RECEIVE que vous souhaitez vider.

    LUA_SLI_PURGE_PENDING

    Code de retour secondaire ; une SLI_PURGE était toujours active lorsqu’une autre SLI_PURGE a été émise. Une seule SLI_PURGE peut être active à la fois.

    LUA_SESSION_FAILURE
    Code de retour principal ; une condition d’erreur, spécifiée dans le code de retour secondaire, a provoqué l’échec de la session.

    LUA_RECEIVED_UNBIND

    Code de retour secondaire ; l’unité logique principale (PLU) a envoyé une commande UNBIND SNA à l’interface LUA lorsqu’une session était active. Par conséquent, la session a été arrêtée.

    LUA_LU_COMPONENT_DISCONNECTED

    Code de retour secondaire ; un composant LU n’est pas disponible, car il n’est pas connecté correctement. Assurez-vous que la puissance est activée.

    LUA_UNSUCCESSFUL
    Code de retour principal ; l’enregistrement de verbe fourni était valide, mais le verbe n’a pas réussi.

    LUA_VERB_RECORD_SPANS_SEGMENTS

    Code de retour secondaire ; le paramètre de longueur LUA VCB plus le décalage de segment est au-delà de la fin du segment.

    LUA_NOT_ACTIVE

    Code de retour secondaire ; LUA n’était pas actif dans Microsoft Host Integration Server ou SNA Server lorsqu’un verbe LUA a été émis.

    LUA_NOT_READY

    Code de retour secondaire ; l’une des causes suivantes a entraîné la suspension temporaire de la session SLI :

  • Un type UNBIND SNA 0x02 commande a été reçue, ce qui indique qu’une nouvelle liaison est à venir. Si le type UNBIND 0x02 est reçu une fois la SLI_OPEN de début terminée, la session est suspendue jusqu’à ce qu’un flux BIND, CRV et STSN facultatifs et SDT soient reçus. Ces routines sont réinscrire parce qu’elles doivent être appelées à nouveau. La session reprend après que le SLI traite la commande SDT. Si le type UNBIND 0x02 est reçu pendant que le SLI_OPEN est toujours en cours de traitement, le code de retour principal est SESSION_FAILURE, et non LUA_STATUS.

  • La réception d’un SNA CLEAR a provoqué la suspension. La réception d’un SNA SDT entraîne la reprise de la session.

    LUA_INVALID_PROCESS

    Code de retour secondaire ; la session pour laquelle un verbe RUI (Request Unit Interface) a été émis n’est pas disponible, car un autre processus os/2 possède la session.

    LUA_LU_INOPERATIVE

    Code de retour secondaire ; une erreur grave s’est produite pendant que le RUI tentait d’arrêter la session. Cette lu n’est pas disponible pour toutes les requêtes LUA jusqu’à ce qu’une unité logique d’activation (ACTLU) soit reçue de l’hôte.

    LUA_CANCELED
    Code de retour principal ; le code de retour secondaire donne la raison de l’annulation de la commande.

    LUA_TERMINATED

    Code de retour secondaire ; la session a été arrêtée lorsqu’un verbe était en attente. Le processus verbe a été annulé.

    LUA_IN_PROGRESS
    Code de retour principal ; une commande asynchrone a été reçue, mais n’est pas terminée.

    LUA_COMM_SUBSYSTEM_ABENDED
    Code de retour principal ; indique l’une des conditions suivantes :

  • Le nœud utilisé par cette conversation a rencontré un ABEND.

  • La connexion entre le programme de transaction (TP) et le nœud d’unité physique (PU) 2.1 a été interrompue (erreur LAN).

  • Le SnaBase sur l’ordinateur TPS a rencontré un ABEND.

    LUA_COMM_SUBSYSTEM_NOT_LOADED
    Code de retour principal ; un composant requis n’a pas pu être chargé ou arrêté lors du traitement du verbe. Ainsi, la communication n’a pas pu avoir lieu. Contactez l’administrateur système pour obtenir une action corrective.

    LUA_INVALID_VERB_SEGMENT
    Code de retour principal ; le VCB s’étend au-delà de la fin du segment de données.

    LUA_UNEXPECTED_DOS_ERROR
    Code de retour principal ; après avoir émis un appel de système d’exploitation, un code de retour inattendu du système d’exploitation a été reçu et est spécifié dans le code de retour secondaire.

    LUA_STACK_TOO_SMALL
    Code de retour principal ; la taille de la pile de l’application est trop petite pour exécuter le verbe. Augmentez la taille de la pile de votre application.

    LUA_INVALID_VERB
    Code de retour principal ; le code détaillé ou le code d’opération, ou les deux, n’est pas valide. Le verbe n’a pas exécuté.

Remarques

SLI_PURGE annule les commandes SLI_RECEIVE avec une condition d’attente.

En règle générale, SLI_PURGE est émis si SLI_RECEIVE prend trop de temps. Pour annuler une SLI_RECEIVE, lua_data_ptr doit pointer vers le SLI_RECEIVE VCB à annuler. Le code de retour principal de l’SLI_RECEIVE est défini sur LUA_CANCELED lorsque SLI_PURGE réussit à annuler SLI_RECEIVE.

Voir aussi

RUI_INIT
SLI_OPEN
SLI_RECEIVE
SLI_SEND