Bagikan melalui


Mengimpor File dan Pustaka Tipe

Kata kunci MIDL mencakup, mengimpor, dan importlib 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 directif prapemrosesan C #include bersama dengan file header yang ditunjukkan. Gunakan direktif ini dengan untuk mengimpor file header yang khusus untuk lingkungan operasi tertentu dan tidak berisi informasi yang diperlukan untuk antarmuka antara klien dan server. Jangan gunakan menyertakan untuk file header yang berisi jenis data yang ingin Anda sediakan untuk file IDL; sebagai gantinya, gunakan direktifimpor.

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 typedef, deklarasi const, dan definisi antarmuka menjadi tersedia untuk file IDL yang mengimpor.

Seperti direktif praprosesor bahasa C #include, direktifimpormemberi tahu pengkompilasi untuk menyertakan jenis data yang ditentukan dalam file IDL yang diimpor. Tidak seperti arahan #include, direktif impor mengabaikan prototipe prosedur, karena tidak ada stub yang dihasilkan untuk apa pun dalam file yang diimpor. Karena preprocessor dipanggil secara terpisah untuk file yang diimpor, arahan prapemroseduran (seperti **) tidak dibawa ke file IDL impor.

Untuk informasi tambahan tentang menggunakan mengimpor 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 merujuk ke pustaka tipe yang telah 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. Ketahuilah, bagaimanapun, bahwa arahan ini secara harfiah akan mencakup 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 dimobilisasi, Anda harus menggunakan direktifimporMIDL, bukan direktif #include.

impor

importlib

termasuk

Mengimpor Berkas Tajuk Sistem