應用程式群組態檔 (ACF)
分散式應用程式可能有影響某個元件的層面,但與另一個元件無關。 例如,物件可能包含大型的複雜數據結構,並將這個數據結構的內容傳遞至另一個物件。 此數據結構的確切配置對接收應用程式可能毫無意義。 此外,結構可能包含 MIDL 編譯程式無法辨識且無法產生封送處理和取消封送處理程式代碼的數據類型。
用戶端應用程式可以共用相同的介面,但在不同的平台上執行;他們可能需要自己的封送處理例程集。 最後,個別用戶端不一定需要同一組函式。 為永遠不會在特定用戶端應用程式中實作的函式產生存根程序代碼效率不佳。
藉由在應用程式組態檔中定義介面的這些本機層面,您可以將用戶端介面與其網路表示法之間的差異區隔開,讓伺服器以一致格式傳送和接收數據,並讓您的存根程式代碼更加精簡且有效率。
ACF 介面定義的結構和語法與 IDL 定義相同:
[ interface-attribute-list] interface interface-name {. . .}
根據預設,ACF 介面名稱必須符合其IDL定義中的名稱。 不過,當您使用 MIDL 編譯程式選項 /acf 明確指定 ACF 檔名時,介面名稱不一定相符。 這項功能可讓數個介面共用單一 ACF 規格。