Partager via


ICreateTypeInfo ::LayOut, méthode (oaidl.h)

Affecte des décalages VTBL pour les fonctions virtuelles et des décalages instance pour les membres de données par instance, et crée les deux descriptions de type pour les interfaces doubles.

Syntaxe

HRESULT LayOut();

Valeur de retour

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Réussite.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.
E_ACCESSDENIED
Impossible d’écrire dans la destination.
STG_E_INSUFFICIENTMEMORY
Mémoire insuffisante pour terminer l’opération.
TYPE_E_UNDEFINEDTYPE
Lié à un type non reconnu.
TYPE_E_INVALIDSTATE
L’état de la bibliothèque de types n’est pas valide pour cette opération.
TYPE_E_WRONGTYPEKIND
Incompatibilité de type.
TYPE_E_ELEMENTNOTFOUND
L’élément est introuvable.
TYPE_E_AMBIGUOUSNAME
Il existe plusieurs éléments portant ce nom.
TYPE_E_SIZETOOBIG
Les informations de type sont trop longues.
TYPE_E_TYPEMISMATCH
Incompatibilité de type.

Remarques

LayOut affecte également des numéros d’ID de membre aux fonctions et variables, sauf si le TYPEKIND de la classe est TKIND_DISPATCH. Appelez LayOut une fois que tous les membres des informations de type ont été définis et avant que la bibliothèque de types soit enregistrée.

Utilisez ICreateTypeLib ::SaveAllChanges pour enregistrer les informations de type après l’appel de LayOut. Les autres membres de l’interface ICreateTypeInfo ne doivent pas être appelés après l’appel de LayOut.

Note Différentes implémentations d’ICreateTypeLib ::SaveAllChanges ou d’autres interfaces qui créent des informations de type sont libres d’attribuer des numéros d’ID de membre, à condition que tous les membres (y compris les membres hérités) aient des ID uniques. Pour obtenir des exemples, consultez ICreateTypeInfo2.
 

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête oaidl.h

Voir aussi

ICreateTypeInfo