héritage de type Pointer-Attribute
Selon la spécification DCE, chaque fichier IDL doit définir des attributs pour ses pointeurs. Si un attribut explicite n’est pas affecté à un pointeur, le pointeur utilise la valeur spécifiée par le mot clé [ pointer_default]. Certaines implémentations DCE n’autorisent pas les pointeurs non attribués. Si un pointeur n’a pas d’attribut explicite, le fichier IDL doit avoir un [pointer_default] spécification afin que l’attribut de pointeur puisse être défini.
En mode par défaut (Extensions Microsoft), vous pouvez spécifier l’attribut d’un pointeur dans le fichier IDL qui importe le fichier IDL de définition. Les pointeurs définis dans un fichier IDL peuvent hériter des attributs spécifiés dans d’autres fichiers IDL. En outre, en mode par défaut, les fichiers IDL peuvent inclure des pointeurs non attribués. Si ni la base ni les fichiers IDL importés ne spécifient un attribut de pointeur ou [pointer_default], les pointeurs non attribués sont interprétés comme des pointeurs uniques.
Le compilateur MIDL affecte des attributs de pointeur à des pointeurs à l’aide des règles de priorité suivantes (1 est le plus élevé).
Priorité | Description |
---|---|
1 | Les attributs de pointeur explicites sont appliqués au pointeur à la définition ou à l’utilisation du site. |
2 | La valeur par défaut est l’attribut [pointer_default] dans le fichier IDL qui définit le type. |
3 | La valeur par défaut est l’attribut [pointer_default] dans le fichier IDL qui importe le type. |
4 | La valeur par défaut est [ ptr] en mode de compatibilité DCE, ou [ unique ] en mode d’extensions Microsoft. |