File Konfigurasi Aplikasi (ACF)

Mungkin ada aspek dari aplikasi terdistribusi Anda yang memengaruhi satu komponen, tetapi tidak ada hubungannya dengan komponen lain. Misalnya, objek mungkin berisi struktur data yang besar dan kompleks dan meneruskan konten struktur data ini ke objek lain. Tata letak yang tepat dari struktur data ini mungkin tidak berarti bagi aplikasi penerima. Selain itu, struktur mungkin berisi jenis data yang tidak dikenali pengkompilasi MIDL dan tidak dapat menghasilkan kode marshaling dan unmarshaling.

Aplikasi klien dapat berbagi antarmuka yang sama tetapi berjalan pada platform yang berbeda; mereka mungkin masing-masing membutuhkan rangkaian rutinitas marshaling mereka sendiri. Akhirnya, klien individu mungkin tidak selalu membutuhkan serangkaian fungsi yang sama. Tidak efisien untuk menghasilkan kode stub untuk fungsi yang tidak akan pernah diimplementasikan dalam aplikasi klien tertentu.

Dengan mendefinisikan aspek lokal antarmuka Anda dalam file konfigurasi aplikasi (ACF), Anda dapat memisahkan perbedaan antara antarmuka klien dari representasi jaringan mereka, memungkinkan server untuk mengirim dan menerima data dalam format yang konsisten, dan membuat kode stub Anda lebih ringkas dan efisien.

Struktur dan sintaks definisi antarmuka ACF identik dengan definisi IDL:

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

Secara default, nama antarmuka ACF harus cocok dengan namanya dalam definisi IDL. Namun, ketika Anda menggunakan opsi pengkompilasi MIDL / acf untuk secara eksplisit menentukan nama file ACF, nama antarmuka tidak harus cocok. Fitur ini memungkinkan beberapa antarmuka untuk berbagi satu spesifikasi ACF.