PInvoke技术是.NET世界回归COM世界的桥,我将通过4篇文章系统地介绍PInvoke技术的使用、构架、难点问题(Preparing, Basic, Advanced, Summary)。
- PInvoke技术的主要应用方面
调用Com或Win32 Dll, 以2进制重用原有的技术成果。
- PInvoke技术的初步体验
前提条件:调用一个Win32 Dll
// win32dllexample.h
extern __declspec(dllexport) __cdecl int increment(int i);
__cdecl increment(int i) {
return (++i);
}
PInvoke 调用C#实现:
// callwin32cs.exe
using System;
using System.Runtime.InteropServices;
[DllImport(win32dllexample.dll)]
class CallWin32 {
static extern increment(int i);
static void Main() {
int ret = increment(10);
Console.WriteLine(ret);
}
}
调试过程:将win32dllexample copy至callwin32cs.exe的执行目录。