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 Wert, der durch das [ _ Default-Schlüsselwort des Zeigers angegeben ] wird. Einige DCE-Implementierungen lassen keine attributierten Zeiger zu. Wenn ein Zeiger nicht über ein explizites Attribut verfügt, muss die IDL-Datei über eine [ _ Zeigerstandardspezifikation ] verfügen, damit das Zeigerattribut festgelegt werden kann.

Im Standardmodus (Microsoft-Extensions) 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 attributierte Zeiger enthalten. Wenn weder die Basis- noch die importierten IDL-Dateien ein Zeigerattribut oder einen [ _ Zeigerstandard ] angeben, werden nicht attributierte Zeiger als eindeutige Zeiger interpretiert.

Der MIDL-Compiler weist Zeigerattribute mithilfe der folgenden Prioritätsregeln Zeigerattribute zu (1 ist die höchste).

Priorität Beschreibung
1 Explizite Zeigerattribute werden auf den Zeiger in der Definition angewendet oder verwenden die -Website.
2 Der Standardwert ist das [ _ ] Zeigerstandardattribut in der IDL-Datei, die den Typ definiert.
3 Der Standardwert ist das [ _ ] Zeigerstandardattribut in der IDL-Datei, die den Typ importiert.
4 Der Standardwert ist [ ptr ] im DCE-Kompatibilitätsmodus oder [ eindeutig ] im Microsoft-Erweiterungsmodus.