Udostępnij przez


Dziedziczenie typu Pointer-Attribute

Zgodnie ze specyfikacją DCE każdy plik IDL musi definiować atrybuty dla wskaźników. Jeśli jawny atrybut nie jest przypisany do wskaźnika, wskaźnik używa wartości określonej przez słowo kluczowe [ pointer_default]. Niektóre implementacje DCE nie zezwalają na nieprzydatne wskaźniki. Jeśli wskaźnik nie ma jawnego atrybutu, plik IDL musi mieć specyfikację [pointer_default], aby można było ustawić atrybut wskaźnika.

W trybie domyślnym (rozszerzenia firmy Microsoft) można określić atrybut wskaźnika w pliku IDL, który importuje definiujący plik IDL. Wskaźniki zdefiniowane w jednym pliku IDL mogą dziedziczyć atrybuty określone w innych plikach IDL. Ponadto w trybie domyślnym pliki IDL mogą zawierać nieprzykładowane wskaźniki. Jeśli ani baza, ani zaimportowane pliki IDL nie określają atrybutu wskaźnika lub [pointer_default], wskaźniki niezatwierające są interpretowane jako unikatowe wskaźniki.

Kompilator MIDL przypisuje atrybuty wskaźnika do wskaźników przy użyciu następujących reguł priorytetu (1 jest najwyższy).

Priorytet Opis
1 Jawne atrybuty wskaźnika są stosowane do wskaźnika w definicji lub użyj lokacji.
2 Wartość domyślna to atrybut [pointer_default] w pliku IDL, który definiuje typ.
3 Wartość domyślna to atrybut [pointer_default] w pliku IDL, który importuje typ.
4 Wartość domyślna to [ ptr] w trybie zgodności DCE lub [ unikatowy] w trybie rozszerzeń firmy Microsoft.