Attributs de la bibliothèque de types

Les mots clés suivants spécifient des informations de bibliothèque de types dans le contexte d’une instruction de bibliothèque dans un fichier IDL.

Attribut Usage
aggregatable Définit la coclasse comme les objets de prise en charge qui peuvent exposer directement le pointeur d’interface d’un autre objet.
appobject Identifie la coclasse sous la forme d’un objet d’application, qui est associé à une application exe complète.
bindable Indique que la propriété prend en charge la liaison de données. Cela permet au client d’être averti chaque fois qu’une propriété a une valeur modifiée.
coclasse Fournit une liste des interfaces prises en charge pour un objet composant.
régulation Identifie une coclasse ou une bibliothèque comme un contrôle com, à partir duquel un site conteneur dérivera des bibliothèques de types ou des classes d’objets de composant supplémentaires.
propre Définit un attribut personnalisé (un attribut non défini dans MIDL).
valeurs Indique que l’interface ou dispinterface, définie dans une coclasse, représente l’interface par défaut.
defaultbind Indique la propriété unique pouvant être liée qui représente le mieux l’objet.
defaultcollelem Marque la propriété comme une fonction d’accesseur pour un élément de la collection par défaut. utilisé pour Microsoft Visual Basic l’optimisation du code.
DefaultValue Autorise la spécification d’une valeur par défaut pour un paramètre facultatif typé.
defaultvtable Permet à un objet d’avoir deux interfaces sources différentes.
dispinterface Définit un ensemble de propriétés et de méthodes sur lesquelles vous pouvez appeler IDispatch :: Invoke.
displaybind Indique une propriété qui doit être affichée à l’utilisateur comme pouvant être liée.
DllName (STR) Définit le nom de la DLL qui contient les points d’entrée d’un module.
double Identifie une interface qui expose des propriétés et des méthodes par le biais de IDispatch et directement par le vtable.
mention Spécifie une fonction ou une constante exportée dans un module en identifiant le point d’entrée dans la DLL.
helpcontext Spécifie un identificateur de contexte qui permet à l’utilisateur d’afficher des informations sur cet élément dans le fichier d’aide.
helpfile Définit le nom du fichier d’aide d’une bibliothèque de types.
helpstring Spécifie une chaîne de caractères qui est utilisée pour décrire l’élément auquel elle s’applique.
helpstringdll Définit le nom de la DLL à utiliser pour effectuer la recherche de chaîne de document.
masquer Indique que l’élément existe mais qu’il ne doit pas être affiché dans un navigateur orienté utilisateur.
identifi Spécifie un DISPID pour une fonction membre (une propriété ou une méthode, dans une interface ou une dispinterface).
immediatebind Indique que la base de données sera immédiatement notifiée de toutes les modifications apportées à la propriété d’un objet lié aux données.
LCID En cas d’application à l’instruction Library , avec un argument LocaleID, identifie les paramètres régionaux d’une bibliothèque de types ou d’un argument de fonction, et vous permet d’utiliser des caractères internationaux dans le bloc de bibliothèque. Dans une instruction de bibliothèque , à partir du point où l’attribut LCID est utilisé, MIDL accepte les entrées localisées en fonction des paramètres régionaux spécifiés.
Bibliothèque Indique au compilateur MIDL de générer des informations sur la bibliothèque de types pour les interfaces et les classes référencées à l’intérieur de l’instruction.
licensed Indique que la coclasse à laquelle elle s’applique est concédée sous licence et que les instances doivent être créées à l’aide de IClassFactory2.
nonbrowsable Indique que la propriété s’affiche dans un Explorateur d’objets (qui n’affiche pas les valeurs de propriété), mais n’apparaît pas dans un Explorateur de propriétés (qui affiche les valeurs de propriété).
noncreatable Empêche un client d’utiliser la fabrique de classe par défaut pour créer des instances d’une interface d’objet.
nonextensible Spécifie que l’implémentation IDispatch comprend uniquement les propriétés et les méthodes listées dans la description de l’interface et ne peut pas être étendue avec des membres supplémentaires au moment de l’exécution.
oleautomation Indique qu’une interface est compatible avec Automation.
facultatif Spécifie un paramètre facultatif pour une fonction membre.
propget Spécifie une fonction d’accesseur de propriété.
propput Spécifie une fonction de définition de propriété.
propputref Spécifie une fonction de définition de propriété qui utilise une référence au lieu d’une valeur.
publique Garantit qu’un alias déclaré avec typedef devient partie intégrante de la bibliothèque de types.
seulement Interdit l’assignation d’une nouvelle valeur à une variable.
requestedit Indique que la propriété prend en charge la notification OnRequestEdit .
sensible Spécifie qu’une bibliothèque, ou un membre d’un module, d’une interface ou d’une dispinterface ne peut pas être appelé arbitrairement.
retval Désigne le paramètre qui reçoit la valeur de retour du membre.
code Indique qu’un membre d’une coclasse, d’une propriété ou d’une méthode est une source d’événements.
chaîne Indique que le tableau de caractèresunidimensionnel, WCHAR _ t, Byte (ou équivalent) ou le pointeur vers ce tableau doit être traité comme une chaîne.
uidefault Indique que le membre des informations de type est le membre par défaut à afficher dans l’interface utilisateur.
usesgetlasterror Spécifie qu’un point d’entrée de module utilise SetLastError pour retourner des codes d’erreur et qu’un appelant peut ensuite appeler GetLastError pour récupérer le code d’erreur en cas d’erreur lors de l’entrée d’une fonction.
uuid Désigne un identificateur unique pour une bibliothèque de types, une coclasseou une interface.
vararg Spécifie que la fonction accepte un nombre variable d'arguments.
Version Identifie une version particulière d’une bibliothèque de types.

Syntaxe du fichier ODL

Exemple de fichier ODL

Génération d’une bibliothèque de types avec MIDL