版本屬性

[version] 介面屬性用來識別多個 RPC 介面版本中的某個特定版本。 透過版本屬性,你確保只有相容的客戶端與伺服器軟體版本被允許綁定。

version ( major-value[[. minor-value]] )

參數

主值

指定一個介於零到65,535之間的短無號整數,代表主要版本號。

次要值

指定一個介於零到65,535之間的短無號整數,代表次要版本號。 次要版本的值是可選的。 若有,次要版本值與主要版本號之間會間隔一個句點字元(.)。 若未指定,次要版本值為零。

備註

MIDL 編譯器不支援多個版本的 COM 介面。 因此,包含 [object] 屬性的介面屬性清單無法包含 [version] 屬性。 若要建立現有 COM 介面的新版本,請使用介面繼承。 衍生的 COM 介面有不同的 UUID,但會繼承基礎介面的介面成員函數、狀態碼及介面屬性。

結合 [uuid] 值,[ version] 值能唯一識別介面。 執行時函式庫在用戶端呼叫遠端函式時,會將 [version][uuid] 的值傳給伺服器。 用戶端可在以下情況下綁定至特定介面的伺服器:

  • [uuid] 值相同。
  • 主要版本號是一樣的。
  • 用戶端的次要版本號小於或等於伺服器的次要版本號。

維持版本間的向上相容性對你和使用者都有好處,也就是說,修改介面,只改變次要版本號。 當你新增未被現有函式使用的資料型態,或新增函式而不更改現有函式的介面規範時,可以保持向上相容性。

若符合以下任一條件,請更改主要版本號:

  • 如果你更改了現有函式所使用的資料型態。
  • 如果你改變了現有函式的介面規範(例如新增或移除參數)。
  • 如果你加入由現有函式呼叫的回調,

若符合以下所有條件,請更改次要版本號:

  • 如果你加入了任何現有函式或回調都不會使用的型別定義或常數,
  • 如果你不更改任何現有函式,並且在介面上新增函式,
  • 如果你新增的回調是沒有任何現有函式會呼叫的,而新的回調則跟隨任何現有函式。

如果你的修改符合介面向上相容的變更,請使用以下程序。

修改介面(IDL)檔案

  1. 在介面檔案中新增常數和型別定義。
  2. 在介面檔案末尾加入回調函式。
  3. 在介面檔案末尾新增功能。

[version] 屬性最多只能在介面標頭出現一次。

當 version 屬性不存在時,介面預設為 0.0。

大數字與小數字之間的週期特徵是分隔符,並不代表小數點。 小數被視為整數。 前導零並不重要。 尾隨零很重要。

例如,版本設定 1.11 代表一個主要值為 1,一個小值為 11。 1.11 版本並不代表介於 1.1 與 1.2 之間的值。

另請參閱

介面定義(IDL)檔案

介面

目的

UUID