Dosyaları ve Tür Kitaplıklarını İçeri Aktarma
MIDL anahtar sözcükleri , içeri aktarma ve importlib var olan üst bilgi, IDL ve nesne tanım dili (ODL) dosyalarına ve derlenmiş tür kitaplıklarına başvurarak kodu yeniden kullanmanıza olanak sağlar.
ACF içerir yönergesi, ACF dosyasında MIDL tarafından oluşturulan saplama koduna eklenecek bir veya daha fazla C dil üst bilgi dosyası belirtmenize olanak tanır. Oluşturulan dosya, belirtilen üst bilgi dosyasıyla #include C-önişlemci yönergesine sahip bir satıra sahip olur. Belirli bir işletim ortamına özgü olan ve istemci ile sunucu arasındaki arabirim için gerekli bilgileri içermeyen başlık dosyalarını getirmek için bu yönergesini kullanın. IDL dosyasında kullanılabilir olmasını istediğiniz veri türlerini içeren üst bilgi dosyaları için ekleme kullanmayın; bunun yerine içeri aktarma yönergesini kullanın.
Örnek 1
[
auto_handle
]
interface X86PC
{
include "gendefs.h", "protos.h", "myfile.h";
//interface typdefs and function declarations here
}
IDL import yönergesi, diğer IDL (veya ODL) dosyalarından ve üst bilgi dosyalarından tür ve arabirim tanımlarını IDL dosyanıza aktarmanın standart yoludur. İçeri aktarılan dosyadaki typedefs, const bildirimleri ve arabirim tanımları gibi tüm IDL deyimleri, içeri aktarılan IDL dosyasında kullanılabilir hale gelir.
#includeC dili önişlemci yönergesi gibi içeri aktarma yönergesi de derleyiciye içeri aktarılan IDL dosyalarında tanımlanan veri türlerini içermesini söyler. #include yönergesinin aksine, import yönergesi içeri aktarılan dosyadaki herhangi bir içerik için taklit oluşturulmadığından yordam prototiplerini yoksayar. İçeri aktarılan dosya için ön işlemci ayrı olarak çağrıldığından, önişlemci yönergeleri (**gibi) içeri aktarılan IDL dosyasına taşınmaz.
içeri aktarma kullanarak bir IDL dosyasına sistem üst bilgisi dosyalarını ekleme hakkında ek bilgi için bkz. Sistem Üst Bilgi Dosyalarını İçeri Aktarma.
Örnek 2
[
uuid(. . .), object
]
interface IKnown : IUnknown
{
import "base.idl", "unknwn.idl", "helper.idl";
//remainder of interface definition
}
ODL importlib yönergesi, IDL veya ODL dosyanızda derlenmiş tür kitaplığına başvurmanızı sağlar. importlib yönergesi bir kütüphane deyimi içinde olmalı ve kütüphanedeki diğer tür açıklamalarından önce gelmelidir. İçeri aktarılan kitaplığın ve oluşturulan kitaplığın çalışma zamanında uygulamanın kullanımına sunulması gerekir.
Örnek 3
library NewBrowser
{
importlib("stdole32.tlb");
importlib("legacy.tlb");
//remainder of library definition
};
IDL veya ODL dosyanıza üst bilgileri ve diğer dosyaları eklemek için C-preprocessor #include yönergesini de kullanabilirsiniz. Ancak, bu yönergenin belirtilen dosyanın tüm içeriğini içereceğini unutmayın. Bir üst bilgi dosyası, MIDL tarafından oluşturulan saplama dosyalarında ihtiyacınız olmayan veya istemediğiniz prototipler ya da uzaktan çağrılamayan tür tanımları içeriyorsa, #include yönergesi yerine MIDL yönergesini kullanmalısınız.
İlgili konular