Pointer-Attribute 型別繼承
根據 DCE 規格,每個 IDL 檔案都必須為其指標定義屬性。 如果未將明確屬性指派給指標,指標會使用 [ pointer_default] 關鍵詞所指定的值。 某些 DCE 實作不允許未設定的指標。 如果指標沒有明確的屬性,IDL 檔案必須具有 [pointer_default] 規格,才能設定指標屬性。
在預設 (Microsoft-extensions) 模式中,您可以在匯入定義 IDL 檔案的 IDL 檔案中指定指標的 屬性。 在一個IDL檔案中定義的指標可以繼承在其他IDL檔案中指定的屬性。 此外,在預設模式中,IDL 檔案可以包含未指派的指標。 如果基底和匯入的IDL檔案都未指定指標屬性或 [pointer_default],則未匯入的指標會解譯為唯一指標。
MIDL 編譯程式會使用下列優先順序規則將指標屬性指派給指標(1 最高)。
優先權 | 描述 |
---|---|
1 | 明確指標屬性會套用至定義或使用網站的指標。 |
2 | 默認值是定義型別的 IDL 檔案中 [pointer_default] 屬性。 |
3 | 預設值是 IDL 檔案中匯入類型的 [pointer_default] 屬性。 |
4 | 默認值為 DCE 相容性模式中的 [ptr],或 [Microsoft擴充模式中的唯一]。 |