アプリケーション構成ファイル (ACF)

1 つのコンポーネントに影響を与えるが、別のコンポーネントとは何の関係もない分散アプリケーションの側面がある場合があります。 たとえば、オブジェクトに大きな複雑なデータ構造を含め、このデータ構造の内容を別のオブジェクトに渡すことができます。 このデータ構造の正確なレイアウトは、受信アプリケーションにとって意味がない可能性があります。 また、この構造体には、MIDL コンパイラが認識せず、マーシャリングおよびアンマーシャリング コードを生成できないデータ型が含まれている場合があります。

クライアント アプリケーションは同じインターフェイスを共有できますが、異なるプラットフォームで実行できます。それぞれ独自のマーシャリング ルーチンのセットが必要になる場合があります。 最後に、個々のクライアントが常に同じ関数セットを必要とするとは限りません。 特定のクライアント アプリケーションに実装されない関数のスタブ コードを生成するのは非効率的です。

アプリケーション構成ファイル (ACF) でインターフェイスのこれらのローカル側面を定義することで、クライアント インターフェイスの違いをネットワーク表現から分離し、サーバーが一貫した形式でデータを送受信できるようにし、スタブ コードをよりコンパクトかつ効率的にすることができます。

ACF インターフェイス定義の構造と構文は、IDL 定義と同じです。

[ interface-attribute-list] interface interface-name {. . .}

既定では、ACF インターフェイス名は IDL 定義の名前と一致する必要があります。 ただし、MIDL コンパイラ オプション / acf を使用して ACF ファイル名を明示的に指定する場合、インターフェイス名は一致する必要はありません。 この機能により、複数のインターフェイスで 1 つの ACF 仕様を共有できます。