Partager via


TP_ENDED

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

Pour Microsoft® Windows® version 3. x système, il est recommandé d’utiliser la fonction WinAsyncAPPC plutôt que la version bloquante 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 de l’opération de verbe, AP_TP_ENDED.

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

réserver2
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 varient en fonction du verbe APPC émis. Consultez les codes de retour pour obtenir des codes d’erreur valides pour ce verbe.

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 varient en fonction du verbe APPC émis. Consultez les codes de retour pour obtenir des codes d’erreur valides pour ce verbe.

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

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

  • AP_HARD indique que tous les verbes actifs pour le TP sont arrêtés ; la ou 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 les 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 ; le verbe exécuté avec succès.

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 comme 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 conditions suivantes :

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

  • La connexion entre le tp et le nœud PU 2.1 a été interrompue (erreur LAN).

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

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

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

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

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

    AP_TP_BUSY
    Code de retour principal ; le TP local a émis un appel à APPC pendant que APPC a traité un autre appel pour le même TP. 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 ; le thread appelant est déjà dans un appel bloquant.

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

Remarques

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 pas émettre plus de verbes de conversation APPC.

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

Si la conversation est en é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.