version 屬性

[version]介面屬性會識別 RPC 介面多個版本之間的特定版本。 使用 version 屬性,您可確保只允許系結相容的用戶端和伺服器軟體版本。

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

參數

major-value

指定介於零到 65,535 之間的短不帶正負號的整數,其中包含代表主要版本號碼。

minor-value

指定介於零到 65,535 之間的短不帶正負號的整數,其中包含代表次要版本號碼。 次要版本值是選擇性的。 如果存在,次要版本值會以句號字元 (.) 分隔主要版本號碼。 如果未指定,次要版本值會是零。

備註

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

結合 [uuid] 值, [version] 值可唯一識別介面。 當用戶端呼叫遠端函式時,執行時間程式庫會將 [version][uuid] 值傳遞至伺服器。 如果以下狀況,用戶端可以系結至指定介面的伺服器:

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

您的權益和使用者的優點是保留版本之間的向上相容性,也就是修改 介面,只變更次要版本號碼。 當您新增現有函式未使用的新資料類型,以及在不變更現有函式的介面規格的情況下新增函式時,您可以保留向上相容性。

如果適用下列任一條件,請變更主要版本號碼:

  • 如果您變更現有函式所使用的資料類型。
  • 如果您變更現有函式的介面規格, (例如新增或移除參數) 。
  • 如果您新增現有函式所呼叫的回呼。

如果適用下列所有條件,請變更次要版本號碼:

  • 如果您加入任何現有函式或回呼未使用的型別定義或常數。
  • 如果您未變更任何現有的函式,並將新的函式新增至 介面。
  • 如果您新增任何現有函式未呼叫的回呼,而新的回呼會遵循任何現有的函式。

如果您的修改符合介面的向上相容變更資格,請使用下列程式。

修改 IDL) 檔案 (介面

  1. 將新的常數和類型定義新增至介面檔案。
  2. 將回呼函式新增至介面檔案的結尾。
  3. 將新的函式新增至介面檔案的結尾。

[version]屬性最多可以在介面標頭中發生一次。

當版本屬性不存在時,介面的預設版本為 0.0。

主要和次要數位之間的句號字元是分隔符號,而且不代表小數點。 次要數位會被視為整數。 前置零不重要。 尾端零很重要。

例如,版本設定 1.11 代表一個主要值,而次要值為 11。 1.11 版不代表介於 1.1 到 1.2 之間的值。

另請參閱

介面定義 (IDL) 檔案

介面

物件

uuid