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 à la fin 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 à la fin 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 le verbe à émettre, 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 la lu locale utilisée par la session Windows LUA.

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

Ce paramètre est de huit octets, rempli à 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 qui doit être annulé.

lua_post_handle
Paramètre fourni. Utilisé sous Microsoft Windows Server si la notification asynchrone doit être effectuée par des é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 d’interface LUA s’est terminé de manière asynchrone s’il est défini sur 1.

lua_resv56
Réservé et doivent être définis 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 ; indique que le verbe s’est exécuté correctement.

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 ; un lua_luname non valide a été spécifié.

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 en 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 qui vient d’être é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, le VCB LUA Windows 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 été exécuté, car il a été émis dans un état non valide.

LUA_NO_SLI_SESSION

Code de retour secondaire ; une session n’était pas ouverte ou s’est arrêtée en raison d’un SLI_CLOSE ou d’un échec 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. Vous pouvez modifier l’application pour résoudre 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 primaire (PLU) a envoyé une commande SNA UNBIND à 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 l’alimentation est activée.

    LUA_UNSUCCESSFUL
    Code de retour principal ; l’enregistrement de verbe fourni était valide, mais le verbe ne s’est pas terminé correctement.

    LUA_VERB_RECORD_SPANS_SEGMENTS

    Code de retour secondaire ; Le paramètre de longueur VCB LUA et le décalage du segment sont 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 opérations 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’un nouveau BIND est en cours. 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éinscrites, car elles doivent être rappelées. La session reprend après que le SLI a traite la commande SDT. Si le type UNBIND 0x02 est reçu pendant le traitement du SLI_OPEN , le code de retour principal est SESSION_FAILURE, et non LUA_STATUS.

  • La réception d’une 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 d’interface d’unité de requête (RUI) a été émis n’est pas disponible, car un autre processus OS/2 est propriétaire 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 demandes LUA tant qu’une unité logique d’activation (ACTLU) n’est pas 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 situations suivantes :

  • Le nœud utilisé par cette conversation a rencontré un abandon (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 ; indique qu’il n’a pas été possible de charger un composant requis ou d’y mettre fin lors du traitement du verbe. Par conséquent, la communication n’a pas pu être établie. Contactez l’administrateur système pour mettre en place une action corrective.

    LUA_INVALID_VERB_SEGMENT
    Code de retour principal ; indique que le bloc de contrôle de verbe s’étend au-delà de la fin du segment de données.

    LUA_UNEXPECTED_DOS_ERROR
    Code de retour principal ; après l’émission d’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 ; indique que la taille de la pile de l’application est trop petite pour exécuter le verbe. Augmentez la taille de pile de votre application.

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

Remarques

SLI_PURGE annule SLI_RECEIVE commandes 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 du 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