Commutateur /osf

Le commutateur /osf force la compatibilité stricte avec OSF DCE.

midl /osf

Options de commutateur

Ce commutateur n’a aucun paramètre.

Notes

Utilisez ce commutateur si votre application nécessite une compatibilité stricte avec OSF DCE pour des raisons de portabilité.

En mode /osf , le package RpcSs est automatiquement activé lorsque vous utilisez des pointeurs complets, les arguments nécessitent une allocation de mémoire ou lorsque vous utilisez l’attribut enable_allocate . Cela signifie que vous n’avez pas à fournir les fonctions midl_user_allocate et midl_user_free dans votre application cliente et serveur.

Les fonctionnalités étendues Microsoft suivantes ne sont pas disponibles lorsque vous compilez avec le commutateur /osf :

  • Déclarateurs abstraits (paramètres non nommés) dans le fichier IDL.
  • Définitions d’interface pour les objets COM.
  • Noms d’interface avec plus de 17 caractères.
  • Attributs MIDL uniquement, tels que wire_marshal, user_marshal et les extensions typelib (ODL).
  • Utilisation de mots clés ACF dans un fichier IDL (l’option MIDL /app_config ).
  • Fonctions de rappel statiques sur le client.
  • Attribut asynchrone .
  • cpp_quote et #pragma midl_echo.
  • wchar_t types de caractères larges, constantes et chaînes.
  • initialisation de l’énumération (énumérateurs éparses).
  • spécification de taille out-only.
  • Pointeurs de taille mixte et tableaux de taille.
  • Expressions utilisées pour les spécificateurs de taille et de discrimination.
  • Gérer explicitement les paramètres dans n’importe quelle position dans la liste d’arguments. En mode /osf , le compilateur MIDL recherche un handle de liaison explicite comme premier paramètre. Lorsque le premier paramètre n’est pas un handle de liaison et qu’un ou plusieurs handles de contexte sont spécifiés, le handle de contexte le plus à gauche est utilisé comme handle de liaison. Lorsque le premier paramètre n’est pas un handle et qu’il n’y a pas de handles de contexte, la procédure utilise la liaison implicite à l’aide de l’attribut ACF implicit_handle ou auto_handle.
  • Héritage de type pointeur-attribut. OSF DCE n’autorise pas les pointeurs non attribués. Par conséquent, en mode /osf , chaque fichier IDL doit définir des attributs pour ses pointeurs. Si un pointeur n’a pas d’attribut explicite, le fichier IDL doit avoir une spécification pointer_default pour définir le type de pointeur.
  • Plusieurs interfaces dans un fichier IDL.
  • Définitions en dehors du bloc d’interface.
  • Qualificateurs de type tels que les qualificateursde distance et stdcall.
  • Omettre les attributs directionnels.

Les extensions de langage C/C++ suivantes ne sont pas disponibles lorsque vous compilez avec le commutateur /osf :

  • Champs de bits dans les structures et les syndicats.
  • Commentaires à ligne unique délimités avec deux caractères obliques (//).
  • Déclarations externes.
  • Procédures avec des points de suspension dans la liste des paramètres.
  • Tapez int.
  • Tapez void * (sauf avec l’attribut context_handle ).
  • Les qualificateurs de type, y compris le formulaire avec le préfixe conforme ansI, contiennent deux caractères de soulignement : __cdecl, cdecl, const, const, __export, export, __far, loin, __loadds, chargements, __near, près, __pascal, pascal, __stdcall, stdcall, __volatile et volatile.
  • N’importe quel avertissement # pragma ou commentaire #pragma .
  • Sérialisation de type.
  • Type de données __int3264 .
  • Commutateur /protocol et syntaxe de transfert ndr64.

Exemples

midl /osf filename.idl

midl /osf /app_config nom_fichier.idl

Voir aussi

Syntaxe générale de ligne de commande MIDL

/app_config

/ms_ext

Package de gestion de la mémoire Rpcss