Mengimpor File dan Tipe Pustaka
Kata kunci MIDL mencakup, mengimpor, dan mengimpor memungkinkan Anda menggunakan kembali kode dengan mereferensikan file header, IDL, dan bahasa definisi objek (ODL) yang ada, dan pustaka jenis yang dikompilasi.
Acf menyertakan direktif memungkinkan Anda menentukan dalam file ACF satu atau beberapa file header bahasa C yang akan disertakan dalam kode stub yang dihasilkan MIDL. File yang dihasilkan akan memiliki baris dengan direktif #include C-preprocessor dengan file header yang ditunjukkan. Gunakan ini termasuk direktif untuk membawa file header yang khusus untuk lingkungan operasi tertentu dan yang tidak berisi informasi yang diperlukan untuk antarmuka antara klien dan server. Jangan gunakan sertakan untuk file header yang berisi jenis data yang ingin Anda sediakan untuk file IDL; sebagai gantinya, gunakan direktif impor .
Contoh 1
[
auto_handle
]
interface X86PC
{
include "gendefs.h", "protos.h", "myfile.h";
//interface typdefs and function declarations here
}
Direktif impor IDL adalah metode standar untuk membawa definisi jenis dan antarmuka dari file IDL (atau ODL) lain dan file header ke dalam file IDL Anda. Semua pernyataan IDL dalam file yang diimpor, seperti typedefs, deklarasi const , dan definisi antarmuka tersedia untuk mengimpor file IDL.
Seperti direktif praprosedur bahasa C #include, direktif impor memberi tahu pengkompilasi untuk menyertakan jenis data yang ditentukan dalam file IDL yang diimpor. Tidak seperti direktif #include , direktif impor mengabaikan prototipe prosedur, karena tidak ada stub yang dihasilkan untuk apa pun dalam file yang diimpor. Karena prapemroscessor dipanggil secara terpisah untuk file yang diimpor, arahan pra-prosesor (seperti **) tidak dibawa ke file IDL impor.
Untuk informasi tambahan tentang menggunakan impor untuk menyertakan file header sistem dalam file IDL, lihat Mengimpor File Header Sistem.
Contoh 2
[
uuid(. . .), object
]
interface IKnown : IUnknown
{
import "base.idl", "unknwn.idl", "helper.idl";
//remainder of interface definition
}
Direktif importlib ODL memungkinkan Anda mereferensikan pustaka jenis yang dikompilasi dalam file IDL atau ODL Anda. Direktif importlib harus berada di dalam pernyataan pustaka , dan harus mendahului deskripsi jenis lain di pustaka. Pustaka yang diimpor, serta pustaka yang dihasilkan, harus tersedia untuk aplikasi saat runtime.
Contoh: 3
library NewBrowser
{
importlib("stdole32.tlb");
importlib("legacy.tlb");
//remainder of library definition
};
Anda juga dapat menggunakan direktif C-preprocessor #include untuk menyertakan header dan file lain dalam file IDL atau ODL Anda. Namun, ketahuilah bahwa arahan ini secara harfiah akan menyertakan seluruh konten file yang ditentukan. Jika file header berisi prototipe yang tidak Anda butuhkan atau inginkan dalam file stub yang dihasilkan MIDL, atau jika berisi definisi jenis yang tidak dapat diremotable, Anda harus menggunakan direktif impor MIDL alih-alih direktif #include .
Topik terkait