C++'ta Açık PInvoke Kullanma (DllImport Özniteliği)
.NET Framework, yönetilen uygulamaların DLL'ler içinde paketlenmiş yönetilmeyen işlevleri çağırmasına izin vermek için özniteliğine sahip Dllimport
açık Platform Çağırma (veya PInvoke) özellikleri sağlar. Yönetilmeyen API'lerin DLL olarak paketlendiği ve kaynak kodunun kullanılamadığı durumlarda açık PInvoke gereklidir. Örneğin Win32 işlevlerini çağırmak için PInvoke gerekir. Aksi takdirde örtük P{Invoke kullanın; daha fazla bilgi için bkz. C++ Birlikte Çalışma Kullanma (Örtük PInvoke).
PInvoke kullanarak DllImportAttributeçalışır. DLL'nin adını ilk bağımsız değişkeni olarak alan bu öznitelik, kullanılacak her DLL giriş noktası için bir işlev bildiriminden önce yerleştirilir. İşlevin imzası DLL tarafından dışarı aktarılan bir işlevin adıyla eşleşmelidir (ancak bazı tür dönüştürme işlemleri, bildirimleri yönetilen türler açısından tanımlanarak DllImport
örtük olarak gerçekleştirilebilir.)
Sonuç, gerekli geçiş kodunu (veya thunk) ve basit veri dönüştürmelerini içeren her yerel DLL işlevi için yönetilen bir giriş noktasıdır. Yönetilen işlevler daha sonra bu giriş noktaları aracılığıyla DLL'ye çağrı yapabilir. PInvoke'un sonucu olarak modüle eklenen kod tamamen yönetilir.
Bu Bölümde
Nasıl yapılır: Yönetilen Koddan PInvoke Kullanarak Yerel DLL'leri Çağırma
Nasıl yapılır: PInvoke Kullanarak İşlev İşaretçilerini Sıralama
Nasıl yapılır: PInvoke Kullanarak Katıştırılmış İşaretçileri Sıralama