Partager via


Émission d'une commande APPC

La procédure suivante est nécessaire pour émettre un verbe APPC bloquant. Dans l’exemple de code, le verbe émis est MC_SEND_DATA.

Pour émettre un verbe APPC bloquant

  1. Créez une variable de structure en utilisant la structure du bloc de contrôle de verbe (VCB) qui est applicable au verbe APPC à émettre.

    #include <winappc.h>  
        .  
        .  
    struct mc_send_data  mcsend;  
    The VCB structures are declared in WINAPPC.H; one of these structures is:  
    mc_send_data  
    
  2. Effacez (défini sur zéro) les variables dans la structure VCB.

    memset( mcsend, '\0', sizeof( mcsend ) );  
    
  3. Affectez des valeurs aux variables VCB qui fournissent des informations à APPC.

    mcsend.opcode = AP_M_SEND_DATA;  
    mcsend.opext = AP_MAPPED_CONVERSATION;  
    memcpy( mcsend.tp_id, tp_id, sizeof( tp_id ) );  
    mcsend.conv_id = conv_id;  
    mcsend.dlen = datalen;  
    mcsend.dptr = sharebufptr;  
    

    Les valeurs AP_MAPPED_CONVERSATION et AP_M_SEND_DATA sont des constantes symboliques représentant des entiers. Ces constantes sont définies dans WINAPPC.H.

  4. Appelez la fonction APPC . Le seul paramètre est un pointeur vers l’adresse de la structure contenant le VCB pour le verbe souhaité.

    APPC ( ( long ) (void FAR * ) &mcsend );  
    

    Utilisez WinAsyncAPPC si vous exécutez l’application sous Windows version 3. x.

    Pour appeler WinAsyncAPPC :

    HANDLE WINAPI WinAsyncAPPC (hWnd, 1pVCB)  
    

    Une fois l’opération asynchrone terminée, la fenêtre de l’application hWnd reçoit le message retourné par RegisterWindowMessage avec « WinAsyncAPPC » comme chaîne d’entrée.

  5. Utilisez les variables retournées par APPC.

    if( mcsend.primary_rc != AP_OK )   
    /* Do error routine */  
        .  
        .  
        .