ereditarietà del tipo Pointer-Attribute

In base alla specifica DCE, ogni file IDL deve definire gli attributi per i puntatori. Se un attributo esplicito non viene assegnato a un puntatore, il puntatore usa il valore specificato dalla parola chiave [ pointer_default] . Alcune implementazioni del controller di dominio non consentono puntatori non con attributi. Se un puntatore non ha un attributo esplicito, il file IDL deve avere una specifica [pointer_default] in modo che l'attributo puntatore possa essere impostato.

Nella modalità predefinita (Estensioni Microsoft) è possibile specificare l'attributo di un puntatore nel file IDL che importa il file IDL che definisce il file IDL. I puntatori definiti in un file IDL possono ereditare gli attributi specificati in altri file IDL. Inoltre, in modalità predefinita, i file IDL possono includere puntatori non attributi. Se né i file IDL importati specificano un attributo puntatore o [pointer_default], i puntatori non specificati vengono interpretati come puntatori univoci.

Il compilatore MIDL assegna attributi puntatori ai puntatori usando le regole di priorità seguenti (1 è più alto).

Priorità Descrizione
1 Gli attributi del puntatore esplicito vengono applicati al puntatore nella definizione o nel sito d'uso.
2 Il valore predefinito è l'attributo [pointer_default] nel file IDL che definisce il tipo.
3 Il valore predefinito è l'attributo [pointer_default] nel file IDL che importa il tipo.
4 Il valore predefinito è [ ptr] in modalità DCE-compatibility o [ unique] in modalità Microsoft-extensions.