Coba jelasin PInvoker dari Layanan Pemanggilan Platform dong

PInvoker adalah aplikasi yang mengimpor DLL asli dan file .h C++ dan mengekspor DLL interop P/Invoke yang terbentuk sepenuhnya dan telah dikompilasi. Ia mengatasi masalah ketidakjelasan dengan cara membungkus pointer asli parameter fungsi di kelas antarmuka .NET tertentu di PInvoker. Alih-alih menggunakan jenis parameter .NET standar di definisi metode P/Invoke (, , dsb.) aplikasi ini menggunakan kelas antarmuka tersebut di panggilan fungsi P/Invoke.

Misalnya, jika kita mempertimbangkan contoh kode di atas, PInvoker akan menghasilkan fungsi P/Invoke .NET yang menerima kelas antarmuka .NET yang membungkus pointer  asli. Konstruksi kelas ini bisa dari  atau dari array . Struktur memori asli yang sebenarnya untuk keduanya sama, namun konstruktor kelas antarmuka yang bersangkutan untuk setiap jenisnya akan memenuhi memori dengan cara yang berbeda. Tanggung jawab untuk memutuskan jenis .NET apa yang perlu diteruskan ke dalam fungsi menjadi tanggungan pengembang.