Partager via


Attributs IDL

Traditionnellement, maintenir un fichier .idl signifiait que vous deviez :

  • Soyez familiarisé avec la structure et de la syntaxe d'un fichier .idl pouvoir le modifier.

  • Appuyez sur un Assistant, qui vous laisserait modifier des aspects du fichier .idl.

Maintenant, vous pouvez modifier le fichier .idl d'un fichier de code source à l'aide de attributs Visual C++ IDL. Dans de nombreux cas, les attributs Visual C++ IDL ont le même nom que les attributs de MIDL. Lorsque le nom d'un attribut Visual C++ IDL et un attribut de MIDL sont identiques, cela signifie que la mise de l'attribut Visual C++ dans votre fichier de code source entraîne un fichier .idl qui contient son attribut de l'homonyme MIDL. Toutefois, un attribut Visual C++ IDL peut ne pas offrir toutes les fonctionnalités d'un attribut de MIDL.

Une fois non utilisés avec Attributs COM, les attributs IDL vous permettent de définir des interfaces. Lorsque le code source est compilé, les attributs sont utilisés pour définir le fichier généré .idl. En cas de utilisation avec des attributs COM dans un projet ATL, attributs d'un certain IDL, tels que coclasse, le code de cause d'être injecté dans le projet.

Notez qu' idl_quote vous permet d'utiliser les éléments de MIDL qui ne sont pas pris en charge dans la version actuelle de Visual C++. Ce point et d'autres attributs tels qu' importlib et includelib vous aident à utiliser ou les fichiers .idl dans votre projet Visual C++ en cours.

Attribut

Description

aggregatable

indique qu'un contrôle peut être regroupé par un autre contrôle.

appobject

Identifie la coclasse comme un objet d'application, associé à une application complète EXE, et indique que les fonctions et les propriétés de la coclasse sont globalement disponibles à cette bibliothèque de types.

async_uuid

Spécifie UUID qui conduit le compilateur MIDL pour définir les versions synchrones et asynchrones pour une interface COM.

bindable

Indique que la propriété prend en charge la liaison des données.

call_as

Permet à une fonction non à mapper à une fonction distante.

case

utilisé avec l'attribut de switch_type dans une union.

coclasse

Place la définition de classe dans un fichier .idl en tant que coclasse.

Contrôle

spécifie que le type défini par l'utilisateur est un contrôle.

cpp_quote

Effectue la chaîne spécifiée, sans guillemets, dans le fichier d'en-tête généré.

defaultbind

Indique la propriété unique et pouvant être liée qui représente mieux l'objet.

defaultcollelem

Utilisé pour l'optimisation du code Visual Basic.

defaultvalue

Autorise la spécification d'une valeur par défaut pour un paramètre optionnel typé.

par défaut

Indique que le personnalisé ou la dispinterface définie dans une coclasse représente l'interface par défaut de programmabilité.

defaultvtable

Définit une interface en tant qu'interface vtable par défaut pour un contrôle.

dispinterface

Place une interface dans le fichier .idl en tant qu'interface de dispatch.

displaybind

Indique une propriété qui doit être affichée à l'utilisateur comme pouvant être liée.

dual

Place une interface dans le fichier .idl en tant qu'interface double.

entrée

Spécifie une fonction ou une constante exportée dans un module en identifiant le point d'entrée dans la DLL.

first_is

Spécifie l'index du premier élément du tableau à transmettre.

helpcontext

Spécifie un ID de contexte qui laisse les informations de voir sur cet élément dans le fichier d'aide.

helpfile

définit le nom du fichier d'aide pour une bibliothèque de types.

helpstringcontext

Spécifie l'ID d'une rubrique d'aide dans un fichier de .hlp ou .chm.

helpstringdll

Spécifie le nom de la DLL à utiliser pour effectuer la recherche de chaîne de document (localisation).

helpstring

Spécifie une chaîne de caractères utilisée pour décrire l'élément auquel elle s'applique.

hidden

Indique que l'élément existe mais ne doit pas être affiché dans un navigateur orienté utilisateur.

idl_module

Spécifie un point d'entrée dans une DLL.

idl_quote

Vous permet de définir des attributs de utilisation ou aux éléments IDL qui ne sont pas pris en charge dans la version actuelle de Visual C++.

id

Spécifie un DISPID d'une fonction membre (une propriété ou une méthode, dans une interface ou dispinterface).

iid_is

Spécifie l'IID de l'interface COM vers lequel un pointeur d'interface.

immediatebind

Indique qu'notifié immédiatement la base de données de toutes les modifications apportées à une propriété d'un objet lié aux données.

importlib

Rend les types qui ont déjà été compilés dans une autre bibliothèque de types disponible dans la bibliothèque de types est créée.

import

Spécifie .idl, un .odl, ou un fichier d'en-tête différent contenant des définitions que vous souhaitez référencer à partir de votre fichier principal .idl.

incluez

Spécifie un ou plusieurs fichiers d'en-tête à inclure dans le fichier généré .idl.

includelib

Génère un fichier .idl ou .h à inclure dans le fichier généré .idl.

in

Indique qu'un paramètre doit être passé de la procédure appelante jusqu'à la procédure appelée.

last_is

spécifie l'index du dernier élément de tableau à transmettre.

LCID

Vous permet de passer un identificateur de paramètres régionaux à une fonction.

length_is

spécifie le nombre d'éléments de tableau à transmettre.

autorisé

Indique que la coclasse à laquelle il s'applique est autorisée, et doit être instancié à l'aide de IClassFactory2.

locales

Vous permet d'utiliser le compilateur MIDL comme générateur d'en-tête lorsqu'il est utilisé dans l'en-tête d'interface. Lorsqu'il est utilisé dans une fonction spécifique, indique une procédure locale pour laquelle un stub n'est généré.

max_is

Indique la valeur maximale pour un index non valide de tableau.

module

Définit le bloc bibliothèque dans le fichier .idl.

ms_union

Contrôle l'alignement de représentation des données de réseau les unions nonencapsulated.

no_injected_text

Le compilateur ne pourra pas d'injecter du code résultant de l'utilisation d'attributs.

nonbrowsable

Indique qu'un membre d'interface ne doit pas être affiché dans l'Explorateur de propriétés.

noncreatable

définit un objet qui ne peut pas être instancié par lui-même.

non extensible

Spécifie que l'implémentation d' IDispatch inclut uniquement les propriétés et les méthodes figurant dans la description d'interface et ne peut pas être étendue avec les membres supplémentaires au moment de l'exécution.

object

identifie une interface personnalisée ; synonyme d'attribut personnalisé.

)

Identifie une interface en tant qu'interface (ODL) de langage).

oleautomation

Indique qu'une interface est compatible avec automation.

facultatif

spécifie un paramètre optionnel pour une fonction membre.

out

Identifie les paramètres de pointeur qui sont retournés de la procédure appelée à la procédure appelante (du serveur vers le client).

pointer_default

Spécifie l'attribut par défaut de pointeur pour tous les pointeurs sauf les pointeurs de niveau supérieur qui apparaissent dans les listes de paramètres.

pragma

Effectue la chaîne spécifiée, sans guillemets, dans le fichier généré .idl.

progid

spécifie l'identificateur programmatique pour un objet COM.

propget

Spécifie une fonction accesseur de propriété (get).

propputref

Spécifie une fonction de paramètre de propriété qui utilise une référence plutôt qu'une valeur.

propput

spécifie une fonction de paramètre de propriété.

prentice

indique un pointeur comme pointeur complet.

public

S'assurer qu'un typedef iront dans la bibliothèque de types même s'il n'est pas référencé du fichier .idl.

plage

Spécifie une plage de valeurs autorisées pour les arguments ou les champs dont les valeurs sont définies au moment de l'exécution.

readonly

Interdit l'assignation à une variable.

ref

identifie un pointeur de référence.

requestedit

indique que la propriété prend en charge la notification d' OnRequestEdit .

restricted

spécifie qu'une bibliothèque, ou le membre d'un module, d'une interface, ou d'une dispinterface ne peut pas être appelée arbitrairement.

retval

Indique le paramètre qui accepte la valeur de retour du membre.

size_is

Spécifie la taille de la mémoire allouée pour les pointeurs dimensionnés, les pointeurs dimensionnés aux pointeurs dimensionnés, et unique ou aux tableaux multidimensionnels.

source

indique qu'un membre d'une classe, d'une propriété, ou d'une méthode est une source d'événements.

string

Indique qu' charunidimensionnel, wchar_t, byte, ou tableau équivalente ou le pointeur à une telle tableau doivent être traités comme chaîne.

switch_is

Spécifie l'expression ou l'identificateur agissant comme une union discriminante qui sélectionne le union.

switch_type

Identifie le type de la variable utilisée comme une union discriminante.

transmit_as

Indique au compilateur d'associer un type présenté, que les applications client-serveur manipulent, avec un type transmis.

uidefault

indique que le membre des informations de type est le membre par défaut pour l'affichage dans l'interface utilisateur.

unique

Spécifie un seul pointeur.

usesgetlasterror

Indique l'appelant que s'il existe une erreur en appelant cette fonction, l'appelant peut ensuite appeler GetLastError pour extraire le code d'erreur.

uuid

Spécifie l'identificateur unique d'une classe ou une interface.

v1_enum

Règles que le type énuméré spécifié soit transmis comme une entité 32 bits, plutôt que la valeur par défaut 16 bits.

vararg

Indique que la fonction prennent un nombre variable d'arguments.

vi_progid

spécifie un formulaire indépendant de la version de l'identificateur programmatique.

wire_marshal

spécifie un type de données qui sera utilisé pour la transmission au lieu d'un type de données spécifique à l'application.

Voir aussi

Concepts

Limitations des attributs [redirection]

Autres ressources

Attributs par groupe