Attributs de type
Les attributs de type sont les attributs MIDL qui peuvent être appliqués aux déclarations de type :
L’attribut [switch_type] désigne le type d’un discriminateur d’union. Cet attribut s’applique uniquement à une union non encapsulée.
Un handle de contexte est un pointeur avec un attribut [context_handle]. L’attribut [context_handle] vous permet d’écrire des procédures qui conservent des informations d’état entre les appels de procédure distante. Un handle de contexte avec une valeur non null représente le contexte enregistré et remplit deux objectifs :
- Côté client, il contient les informations nécessaires à la bibliothèque d’exécution RPC pour diriger l’appel vers le serveur.
- Côté serveur, il sert de handle sur le contexte actif.
L’attribut [handle] spécifie qu’un type peut se produire en tant que handle défini par l’utilisateur (générique). Cette fonctionnalité permet de concevoir des handles qui sont significatifs pour l’application. L’utilisateur doit fournir des routines de liaison et de débinage à convertir entre le type de handle défini par l’utilisateur et le type de handle primitif RPC, handle_t. Un handle primitif contient des informations de destination significatives pour les bibliothèques d’exécution RPC. Un handle défini par l’utilisateur ne peut être défini que dans une déclaration de type, pas dans une déclaration de fonction. Un paramètre avec l’attribut [handle] a un double objectif. Il est utilisé pour déterminer la liaison pour l’appel et il est transmis à la procédure appelée en tant que paramètre de données normal.