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 Utilisation
aggregatable Définit la coclasse comme des objets de prise en charge qui peuvent exposer directement le pointeur d’interface d’un autre objet.
appobject Identifie la coclasse en tant qu’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 changé de valeur.
coclasse Fournit une liste des interfaces prises en charge pour un objet de composant.
Contrôle Identifie une coclasse ou une bibliothèque en tant que contrôle COM, à partir duquel un site conteneur dérive des bibliothèques de types supplémentaires ou des classes d’objets de composant.
Personnalisé Définit un attribut personnalisé (un attribut non défini dans MIDL).
Par défaut Indique que l’interface ou la dispinterface, définie dans une coclasse, représente l’interface par défaut.
defaultbind Indique la propriété unique et pouvant être liée qui représente le mieux l’objet.
defaultcollelem Marque la propriété en tant que fonction accesseur pour un élément de la collection par défaut. Utilisé pour l’optimisation du code Microsoft Visual Basic.
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 lesquels 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 à la fois via IDispatch et directement via la table Vtable.
Entrée 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 pour 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.
Cachés Indique que l’élément existe mais ne doit pas être affiché dans un navigateur orienté utilisateur.
Id 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 informée de toutes les modifications apportées à une propriété d’un objet lié aux données.
lcid Lorsqu’elle est appliquée à 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 à l’intérieur du bloc de bibliothèque. Dans une instruction de bibliothèque , à partir du moment où l’attribut lcid est utilisé, MIDL accepte l’entrée localisée en fonction des paramètres régionaux spécifiés.
Bibliothèque Indique au compilateur MIDL de générer des informations de 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 sous licence et que les instances doivent être créées à l’aide de IClassFactory2.
nonbrowsable Indique que la propriété s’affiche dans un navigateur d’objets (qui n’affiche pas les valeurs de propriété), mais qu’elle n’apparaît pas dans un navigateur de propriétés (qui n’affiche pas les valeurs de propriété).
noncreatable Empêche un client d’utiliser la fabrique de classes par défaut pour créer des instances d’une interface objet.
nonextensible Spécifie que l’implémentation IDispatch inclut uniquement les propriétés et méthodes répertorié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 l’automatisation.
Optionnel 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 paramètre 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.
Public Garantit qu’un alias déclaré avec typedef fait partie de la bibliothèque de types.
Readonly Interdit l’attribution d’une nouvelle valeur à une variable.
requestedit Indique que la propriété prend en charge la notification OnRequestEdit .
Restreint Spécifie qu’une bibliothèque ou un membre d’un module, d’une interface ou d’une dispinterface ne peut pas être appelée arbitrairement.
retval Désigne le paramètre qui reçoit la valeur de retour du membre.
Source Indique qu’un membre d’une coclasse, d’une propriété ou d’une méthode est une source d’événements.
String Indique que le tableau de caractères unidimensionnels, de wchar_t, d’octets (ou équivalent) ou le pointeur vers un tel tableau doit être traité comme une chaîne.
uidefault Indique que le membre d’informations de type est le membre par défaut pour l’affichage 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 coclasse ou 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 de fichier ODL

Exemple de fichier ODL

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