Anwendungskonfigurationsdatei (Application Configuration File, ACF)
Möglicherweise gibt es Aspekte Ihrer verteilten Anwendung, die sich auf eine Komponente auswirken, aber nichts mit einer anderen zu tun haben. Beispielsweise kann ein Objekt eine große, komplexe Datenstruktur enthalten und den Inhalt dieser Datenstruktur an ein anderes Objekt übergeben. Das genaue Layout dieser Datenstruktur kann für die empfangende Anwendung bedeutungslos sein. Darüber hinaus kann die Struktur Datentypen enthalten, die der MIDL-Compiler nicht erkennt und keinen Marshall- und Entmarstungscode generieren kann.
Clientanwendungen können dieselbe Schnittstelle nutzen, aber auf verschiedenen Plattformen ausgeführt werden. sie benötigen möglicherweise ihre eigenen Marshallroutinen. Schließlich benötigen einzelne Clients möglicherweise nicht immer den gleichen Funktionssatz. Es ist ineffizient, Stubcode für Funktionen zu generieren, die nie in einer bestimmten Clientanwendung implementiert werden.
Indem Sie diese lokalen Aspekte Ihrer Schnittstelle in einer Anwendungskonfigurationsdatei (Application Configuration File, ACF) definieren, können Sie die Unterschiede zwischen den Clientschnittstellen von ihrer Netzwerkdarstellung trennen, sodass der Server Daten in einem konsistenten Format senden und empfangen kann, und Ihren Stubcode kompakter und effizienter gestalten.
Die Struktur und Syntax einer ACF-Schnittstellendefinition sind identisch mit der IDL-Definition:
[ interface-attribute-list] interface interface-name {. . .}
Standardmäßig muss der Name der ACF-Schnittstelle mit seinem Namen in der IDL-Definition übereinstimmen. Wenn Sie jedoch die MIDL-Compileroption / acf verwenden, um einen ACF-Dateinamen explizit anzugeben, müssen die Schnittstellennamen nicht übereinstimmen. Dieses Feature ermöglicht es mehreren Schnittstellen, eine einzelne ACF-Spezifikation gemeinsam zu verwenden.