Konfigurační soubor aplikace (ACF)
Můžou existovat aspekty vaší distribuované aplikace, které ovlivňují jednu komponentu, ale nemají nic společného s jinou. Například objekt může obsahovat velkou, složitou datovou strukturu a předat obsah této datové struktury jinému objektu. Přesné rozložení této datové struktury může být pro přijímající aplikaci nesmyslné. Struktura může také obsahovat datové typy, které kompilátor MIDL nerozpozná a nemůže vygenerovat zařazování a zrušení zařazování kódu.
Klientské aplikace mohou sdílet stejné rozhraní, ale běží na různých platformách; Každý z nich může potřebovat vlastní sadu rutin zařazování. Jednotlivé klienty navíc nemusí vždy potřebovat stejnou sadu funkcí. Generování kódu zástupných procedur pro funkce, které se nikdy neimplementují v konkrétní klientské aplikaci, je neefektivní.
Definováním těchto místních aspektů rozhraní v konfiguračním souboru aplikace (ACF) můžete oddělit rozdíly mezi klientskými rozhraními od jejich síťové reprezentace, což serveru umožňuje odesílat a přijímat data v konzistentním formátu a zkomprimovat a zefektivnit váš zástupný kód.
Struktura a syntaxe definice rozhraní ACF jsou stejné jako definice IDL:
[ interface-attribute-list] interface interface-name {. . .}
Ve výchozím nastavení musí název rozhraní ACF odpovídat jeho názvu v definici IDL. Pokud však použijete možnost kompilátoru MIDL / acf explicitně zadat název souboru ACF, názvy rozhraní se nemusí shodovat. Tato funkce umožňuje několika rozhraním sdílet jednu specifikaci ACF.