Partager via


TP_ENDED

Le verbe TP_ENDED est émis par le programme de transaction appelant et appelé (TP) et avertit APPC que le TP se termine.

Avec la version 3.x du système Microsoft® Windows®, il est recommandé d’utiliser la fonction WinAsyncAPPC plutôt que la version de blocage de cet appel.

La structure suivante décrit le bloc de contrôle de verbe (VCB) utilisé par le verbe TP_ENDED .

Syntaxe

  
struct tp_ended {  
    unsigned short  opcode;  
    unsigned char   opext;  
    unsigned char   reserv2;  
    unsigned short  primary_rc;  
    unsigned long   secondary_rc;  
    unsigned char   tp_id[8];  
    unsigned char   type;  
};   

Membres

opcode
Paramètre fourni. Spécifie le code d’opération de verbe, AP_TP_ENDED.

opext
Paramètre fourni. Spécifie l’extension de l’opération de verbe. Ce champ n’est pas utilisé par le verbe TP_ENDED .

reserv2
Champ réservé.

primary_rc
Paramètre retourné. Spécifie le code de retour principal défini par APPC à l’achèvement du verbe. Les codes de retour valides dépendent du verbe APPC émis. Pour connaître les codes d’erreur valides de ce verbe, consultez Codes de retour.

secondary_rc
Paramètre retourné. Spécifie le code de retour secondaire défini par APPC à l’achèvement du verbe. Les codes de retour valides dépendent du verbe APPC émis. Pour connaître les codes d’erreur valides de ce verbe, consultez Codes de retour.

tp_id
Paramètre fourni. Identifie le TP local. La valeur de ce paramètre a été retournée par TP_STARTED dans le TP d’appel ou par RECEIVE_ALLOCATE dans le TP appelé.

type
Paramètre fourni. Spécifie le type d’arrêt à effectuer. Les valeurs autorisées sont les suivantes :

  • AP_HARD indique que tous les verbes actifs pour le TP sont terminés ; les sessions utilisées par la ou les conversations sont terminées. Le TP local et le TP partenaire peuvent recevoir des codes de retour d’échec de conversation (AP_DEALLOC_ABEND pour les conversations mappées et AP_DEALLOC_ABEND_PROG pour les conversations de base).

  • AP_SOFT indique que le TP attend que tous les verbes actifs se terminent ; la session utilisée par la conversation reste active.

Codes de retour

AP_OK
Code de retour principal ; indique que le verbe s’est exécuté correctement.

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

AP_BAD_TP_ID

Code de retour secondaire ; APPC n’a pas reconnu le tp_id en tant qu’identificateur TP affecté.

AP_BAD_TYPE

Code de retour secondaire ; la valeur de type spécifiée n’a pas été reconnue par APPC.

AP_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 a été interrompue entre le programme transactionnel et le nœud PU 2.1 (erreur LAN).

  • Le processus SnaBase qui se déroule sur l’ordinateur du programme transactionnel a rencontré un abandon (ABEND).

    L’administrateur système doit examiner le journal des erreurs pour déterminer la raison de l’abandon.

    AP_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.

    AP_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.

    AP_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.

    AP_TP_BUSY
    Code de retour principal ; indique que le programme transactionnel local a émis un appel à APPC alors qu’APPC traitait un autre appel pour le même programme transactionnel. Cela peut se produire si le tp local a plusieurs threads et que plusieurs threads émettent des appels APPC à l’aide du même tp_id.

    AP_THREAD_BLOCKING
    Code de retour principal ; indique que le thread appelant se trouve déjà dans un appel de blocage.

    AP_UNEXPECTED_DOS_ERROR
    Code de retour principal ; indique que le système d’exploitation a retourné une erreur à APPC lors du traitement d’un appel APPC à partir du programme transactionnel local. Le code de retour du système d’exploitation a été retourné via secondary_rc. Il apparaît dans l’ordre Intel avec permutation d’octets. Si le problème persiste, consultez l’administrateur système.

Notes

En réponse à TP_ENDED, APPC libère les ressources utilisées par le TP. Une fois ce verbe exécuté, l’identificateur TP n’est plus valide ; le TP ne peut plus émettre de verbes de conversation APPC.

La conversation peut être dans n’importe quel état lorsque le TP émet ce verbe.

Si la conversation est à l’état SEND, TP_ENDED exécute la fonction DEALLOCATE ou MC_DEALLOCATE avec dealloc_type défini sur AP_FLUSH.

Si la conversation est dans un état autre que RESET ou SEND, TP_ENDED exécute la fonction DEALLOCATE ou MC_DEALLOCATE avec dealloc_type défini sur AP_ABEND (pour une conversation mappée) ou AP_ABEND_PROG (pour une conversation de base).

Une fois l’exécution réussie (primary_rc est AP_OK), il n’existe aucun état APPC.