Pointer-Attribute típusöröklés
A DCE specifikációja szerint minden IDL-fájlnak attribútumokat kell meghatároznia a mutatóihoz. Ha egy explicit attribútum nincs hozzárendelve egy mutatóhoz, a mutató a [ pointer_default] kulcsszó által megadott értéket használja. Egyes DCE-implementációk nem engedélyezik a nem támogatott mutatókat. Ha egy mutató nem rendelkezik explicit attribútummal, az IDL-fájlnak [pointer_default] specifikációval kell rendelkeznie, hogy a mutatóattribútum beállítható legyen.
Alapértelmezés szerint (Microsoft-extensions) módban megadhatja egy mutató attribútumát a definiáló IDL-fájlt importáló IDL-fájlban. Az egy IDL-fájlban definiált mutatók örökölhetik a más IDL-fájlokban megadott attribútumokat. Emellett alapértelmezett módban az IDL-fájlok tartalmazhatnak nem kibontott mutatókat. Ha sem az alap, sem az importált IDL-fájlok nem határoznak meg mutatóattribútumot vagy [pointer_default], a nem osztott mutatók egyedi mutatóként lesznek értelmezve.
A MIDL fordító az alábbi prioritási szabályokkal rendeli hozzá a mutató attribútumait a mutatókhoz (1 a legmagasabb).
Elsőbbség | Leírás |
---|---|
1 | A program explicit mutatóattribútumokat alkalmaz a mutatóra a definícióban vagy a használati helyen. |
2 | Az alapértelmezett az [pointer_default] attribútum a típust meghatározó IDL-fájlban. |
3 | Az alapértelmezett érték az [pointer_default] attribútum a típust importáló IDL-fájlban. |
4 | Az alapértelmezett érték a [ ptr] DCE-kompatibilitási módban, vagy [ egyedi] a Microsoft-bővítmények módban. |