Pointer-Attribute Typvererbung
Gemäß der DCE-Spezifikation muss jede IDL-Datei Attribute für ihre Zeiger definieren. Wenn einem Zeiger kein explizites Attribut zugewiesen ist, verwendet der Zeiger den durch das Schlüsselwort [ pointer_default] angegebenen Wert. Einige DCE-Implementierungen lassen keine nicht zugeordneten Zeiger zu. Wenn ein Zeiger nicht über ein explizites Attribut verfügt, muss die IDL-Datei eine [pointer_default] Spezifikation aufweisen, damit das Zeiger-Attribut festgelegt werden kann.
Im Standardmodus (Microsoft-Erweiterungen) können Sie das Attribut eines Zeigers in der IDL-Datei angeben, die die definierende IDL-Datei importiert. Zeiger, die in einer IDL-Datei definiert sind, können Attribute erben, die in anderen IDL-Dateien angegeben sind. Im Standardmodus können IDL-Dateien auch nicht zugeordnete Zeiger enthalten. Wenn weder die Basis noch die importierten IDL-Dateien ein Zeigerattribut oder [pointer_default]angeben, werden nicht zugeordnete Zeiger als eindeutige Zeiger interpretiert.
Der MIDL-Compiler weist Zeigerattributen mithilfe der folgenden Prioritätsregeln zu (1 ist am höchsten).
Priorität | Beschreibung |
---|---|
1 | Explizite Zeigerattribute werden auf den Zeiger an der Definition angewendet oder website verwendet. |
2 | Der Standardwert ist die [pointer_default] Attribut in der IDL-Datei, die den Typ definiert. |
3 | Der Standardwert ist das [pointer_default] Attribut in der IDL-Datei, die den Typ importiert. |
4 | Der Standardwert ist [ ptr] im DCE-Kompatibilitätsmodus oder [ eindeutigen] im Microsoft-Erweiterungsmodus. |