Pointer-Attribute類型繼承

根據 DCE 規格,每個 IDL 檔案都必須為其指標定義屬性。 如果未將明確屬性指派給指標,指標會使用 [ pointer_default] 關鍵字所指定的值。 某些 DCE 實作不允許未設定的指標。 如果指標沒有明確的屬性,IDL 檔案必須具有 [pointer_default] 規格,才能設定指標屬性。

在預設 (Microsoft 延伸模組) 模式中,您可以在 IDL 檔案中指定指標的屬性,以匯入定義 IDL 檔案。 在一個 IDL 檔案中定義的指標可以繼承其他 IDL 檔案中指定的屬性。 此外,在預設模式中,IDL 檔案可以包含未設定的指標。 如果基底或匯入的 IDL 檔案都未指定指標屬性或 [pointer_default],則未設定的指標會解譯為唯一指標。

MIDL 編譯器會使用下列優先順序規則將指標屬性指派給指標, (1 是最高) 。

優先順序 描述
1 明確指標屬性會套用至定義或使用網站的指標。
2 預設值是定義類型的 IDL 檔案中的 [pointer_default] 屬性。
3 預設值是 IDL 檔案中匯入類型的 [pointer_default] 屬性。
4 預設值為 DCE 相容性模式中的 [ ptr],或在 Microsoft 延伸模組模式中為 [ unique]。