Comparons l'exemple de la figure 1 à celui de la figure 2, qui emploie des appels prototypés. Le prototype RtvObjD (en A) remplace le PLIST. On voit aussi que j'ai défini la structure des données d'erreur QUSEC dans le programme (en B) pour remplacer l'entrée /COPY. Cela nous permet de
Appeler des API avec des prototypes
faire l’initialisation
avec des définitions de champs
plutôt que dans les cartes C (C-specs),
et donc de supprimer la sous-routine
*INZSR. Notons aussi que j’ai inclus un
autre champ (QUSMSGDATA) dans
cette structure de données pour recevoir
des données de messages supplémentaires.
L’appel de l’API est maintenant
remplacé par un CALLP plus significatif
pour RtvObjD (en C) qui utilise aussi
des expressions dans l’appel. Vous
conviendrez que l’utilisation d’appels
prototypés facilite la lecture du programme.
Par conséquent, nous utiliserons
des appels de prototypes quand nous construirons l’utilitaire dans la 2e
partie.
Si vous appelez cet exemple avec
un nom de bibliothèque incorrect et si
vous examinez le dump, vous constaterez
que dans la structure QUSEC, le
champ supplémentaire QUSMSGDATA
contient le nom de la bibliothèque.
C’est la donnée de substitution pour
l’ID de message CPF9810 contenu
dans QUSEL.
Téléchargez cette ressource
Reporting Microsoft 365 & Exchange
Comment bénéficier d’une vision unifiée de vos messageries, protéger vos données sensibles, vous conformer aisément aux contraintes réglementaires et réduire votre empreinte carbone ? Testez la solution de reporting complet de l’utilisation de Microsoft 365 et Exchange en mode Cloud ou on-premise.
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Activer la mise en veille prolongée dans Windows 10
- Et si les clients n’avaient plus le choix ?
- Afficher les icônes cachées dans la barre de notification
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server