Le corps ACF
Le corps de l’ACF contient des attributs de configuration qui s’appliquent aux types et fonctions définis dans le corps de l’interface du fichier IDL. Le corps de l’ACF peut être vide ou contenir include, typedef, fonction et attributs de paramètre de l’ACF. Tous ces éléments sont facultatifs. Les attributs appliqués aux types et fonctions individuels dans le corps de l’ACF remplacent les attributs dans l’en-tête de l’ACF.
L’ACF spécifie le comportement sur l’ordinateur local et n’affecte pas les données transmises sur le réseau. Il est utilisé pour spécifier les détails d’un stub à générer. En mode de compatibilité DCE (/osf), l’ACF n’affecte pas l’interaction entre les stubs, mais entre le stub et le code d’application.
Un paramètre spécifié dans l’ACF doit faire partie des paramètres spécifiés dans le fichier IDL. L’ordre de spécification du paramètre dans l’ACF n’est pas significatif, car la correspondance se fait par nom, et non par position. La liste des paramètres de l’ACF peut être vide, même si celle de la signature IDL correspondante ne l’est pas (mais ce n’est pas recommandé). Les déclarateurs abstraits (paramètres non nommés) dans le fichier IDL provoquent le signalement des erreurs du compilateur MIDL lors du traitement de l’ACF, car le paramètre est introuvable.
La directive ACF include spécifie les fichiers d’en-tête à afficher dans l’en-tête généré dans le cadre d’une instruction #include de préprocesseur C standard. Le mot clé include de l’ACF est différent d’une directive #include. Le mot clé de l’ACF include entraîne l’affichage de la ligne « #include filename » dans le fichier d’en-tête généré, tandis que la directive langage C « #include filename » entraîne le placement du contenu de ce fichier dans l’ACF.
L’instruction de l’ACF typedef vous permet d’appliquer des attributs de type ACF aux types précédemment définis dans le fichier IDL. La syntaxe ACF typedef est différente de la syntaxe C typedef.
Les attributs de fonction de l’ACF vous permettent de spécifier des attributs qui s’appliquent à la fonction dans son ensemble. Pour en savoir plus, consultez [code], [optimize] et [nocode].
Les attributs de paramètre de l’ACF vous permettent de spécifier des attributs qui s’appliquent à des paramètres individuels de la fonction. Pour en savoir plus, consultez [byte_count].