Émission d’un verbe de service courant

La procédure d’émission d’un volume partagé de cluster est présentée dans l’exemple de code suivant qui utilise Convert.

Pour émettre un fichier CSV

  1. Créez une variable de structure à partir de la structure du bloc de contrôle de verbe (VCB) qui s’applique au verbe à émettre.

    #include <wincsv.h>  
        .  
        .  
    struct convert  conv_block;  
    
    

    Les structures VCB sont déclarées dans WINCSV. Fichier H ; l’une de ces structures est nommée Convert.

  2. Effacez (défini à zéro) les variables dans la structure.

    memset( conv_block, '\0', sizeof( conv_block ) );  
    
    

    Cette procédure n’est pas obligatoire. Toutefois, il permet de déboguer et de lire le contenu de la mémoire. Cela élimine également la possibilité que les versions ultérieures d’un verbe soient sensibles aux champs qui sont ignorés dans la version actuelle.

  3. Affectez des valeurs aux variables VCB requises.

    conv_block.opcode = SV_CONVERT;  
    conv_block.direction = SV_ASCII_TO_EBCDIC;  
    conv_block.char_set = SV_AE;  
    conv_block.len = sizeof(tpstart_name);  
    conv_block.source = (LPBYTE) tpstart_name;  
    conv_block.target = (LPBYTE) tpstart.tp_name;  
    
    

    Les valeurs SV_CONVERT, SV_ASCII_TO_EBCDIC et SV_AE sont des constantes symboliques représentant des entiers. Ces constantes sont définies dans WINCSV. Fichier H.

    Le tableau de caractères TPSTART_NAME contient une chaîne ASCII à convertir en codage EBCDIC et placé dans le tableau de caractères TPSTART. TP_NAME.

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

    ACSSVC((LONG) &conv_block);  
    
    

    Vous pouvez également utiliser l’instruction suivante :

    ACSSVC_C((LONG) &conv_block);  
    
    
  5. Utilisez les valeurs retournées par le verbe.

    if( conv_block.primary_rc == SV_OK ) {  
    /* other statements */  
        .  
        .  
        .