Aracılığıyla paylaş


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

Ayrıca bkz.

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