Macros de portabilité

Les outils RPC permettent d’obtenir l’indépendance de modèle, d’appel et de convention d’affectation de noms en associant les types de données et les types de retour de fonction dans les fichiers stub générés et les fichiers d’en-tête avec des définitions spécifiques à chaque plateforme. Ces définitions de macros garantissent que tous les types de données et fonctions qui requièrent la désignation de _ _ Far sont spécifiés en tant qu’objets Far.

L’illustration suivante montre les définitions de macros que le compilateur MIDL applique aux appels de fonction entre les composants RPC :

Diagramme montrant les définitions de macros MIDL s’applique aux appels de fonction.

Les macros RPC sont définies comme suit.

Définition Description
___API RPC Appliqué aux appels effectués par le stub à l’application utilisateur. Les deux fonctions se trouvent dans le même programme exécutable.
__RPC _ Far Appliqué à la définition de macro standard pour les pointeurs. Cette définition de macro doit apparaître dans la signature de toutes les fonctions fournies par l’utilisateur.
___stub RPC Appliqué aux appels effectués à partir de la bibliothèque Runtime vers le stub. Ces appels peuvent être considérés comme privés.
___utilisateur RPC Appliqué aux appels effectués par la bibliothèque Runtime à l’application utilisateur. Ils traversent la limite entre une DLL et une application.
_entrée RPC Appliqué aux appels effectués par l’application ou le stub à la bibliothèque Runtime. Cette définition de macro est appliquée à toutes les fonctions runtime RPC.

Pour établir une liaison correcte avec les bibliothèques Runtime Microsoft RPC, les stubs et les routines de prise en charge, certaines fonctions fournies par l’utilisateur doivent également inclure ces macros dans la définition de fonction. Utilisez l' _ _ _ API RPC de macro lorsque vous définissez les fonctions associées à la gestion de la mémoire, aux handles de liaison définis par l’utilisateur et à l’attribut transmit _ As , et utilisez l' _ _ _ utilisateur RPC de la macro quand vous définissez la routine d’exécution de contexte associée au handle de contexte. Spécifiez les fonctions comme suit :

__Utilisateur _ RPC MIDL _ _ allouer (...)

__Utilisateur _ RPC utilisateur _ _ gratuit (...)

___Liaison comme HandleType de l’utilisateur RPC _ (...)

___ Comme HANDLETYPE utilisateur RPC _ annuler la liaison (...)

___ Type d’utilisateur RPC _ sur _ local

___ Type _ d’utilisateur RPC _ local

___Type d’utilisateur RPC _ à transmission _ (...)

___ Type d’utilisateur RPC de la transmission _ de transmission _ (...)

___ Type d’utilisateur RPC _ gratuit _ local

___ Type d’utilisateur RPC _ gratuit _ inst (...)

__Transmission _ libre du type d’utilisateur RPC _ _ (...)

___Arrêt du contexte de l’utilisateur RPC _ (...)

Notes

Tous les paramètres de pointeur dans ces fonctions doivent être spécifiés à l’aide de la macro _ _ RPC _ bien.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel - [Applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server - [Applications de bureau uniquement]
En-tête
RPC. h