Aracılığıyla paylaş


C++'ta Açık PInvoke Kullanma (DllImport Özniteliği)

.NET Framework yönetilen uygulamaların DLL'lerde paketlenmiş yönetilmeyen işlevleri çağırmasına izin vermek için Dllimport özniteliğiyle açık Platform Çağırma (veya PInvoke) özelliklerini sağlar. Açık PInvoke yönetilmeyen API'ların DLL'ler olarak paketlendiği ve kaynak kodun kullanılabilir olmadığı durumlarda gereklidir. Örneğin, Win3 işlevlerini çağırma PInvoke gerektirir. Aksi takdirde dolaylı P{Invoke kullanın, daha fazla bilgi için bkz. C++ Birlikte Çalışabilirliği Kullanma (Dolaylı Olarak PInvoke).

PInvoke DllImportAttribute kullanarak çalışır. DLL'in adını ilk bağımsız değişken olarak alan bu öznitelik kullanılacak olan her DLL giriş noktası için işlev bildiriminden önce yerleştirilir. İşlevin imzası DLL tarafından dışarı aktarılan işlevin adıyla eşleşmelidir (ancak bazı tür dönüşümleri dolaylı olarak DllImport bildirimini yönetilen tür cinsinden tanımlayarak gerçekleştirilebilir.)

Sonuç, gerekli geçiş kodunu (veya dönüştürmeyi) ve basit veri dönüşümlerini içeren her yerel DLL işlevi için yönetilen giriş noktasıdır. Yönetilen işlevler daha sonra bu giriş noktaları üzerinden DLL'de çağrılabilirler. PInvoke sonucu olarak modüle eklenen kod tamamen yönetilmiştir ve açık PInvoke /clr, /clr:pure ve /clr:safe derlemeleri için desteklenir. Daha fazla bilgi için bkz. Saf ve doğrulanabilir kod (C++/ CLI).

Bu Bölümde

Ayrıca bkz.

Kavramlar

Yönetilen Koddan Yerel İşlevleri Çağırma