본문 바로가기

C#

P/Invoke(Platform Invoke)

728x90

C# .Net에서 Native DLL(Unmanaged DLL)에 있는 함수를 호출하는 것을 Platform Invoke 혹은 줄여서 P/Invoke라 부른다.
예를 들어, C#에서 Windows 운영체제의 Win32 API를 호출한다거나, 기존 C/C++로 작성된 Native DLL의 함수를 호출할 필요가 있을 때, P/Invoke 방식을 사용한다.

P/Invoke를 사용하기 위해서는
1. 먼저 DLLImplrt를 사용하여 어떤 DLL에서 함수를 가져올지를 지정하고,
2. 해당 함수의 원형을 C# 메서드 원형으로 정의해 준다.
3. 이때 C# 메서드는 statice extern으로 지정한다.

+Win32에 있는 함수들을 C# 메서드 원형으로 변환하기 위해서는 pinvoke.net 사이트를 이용하면 편리하다.

[출처]
http://www.csharpstudy.com/Practical/Prac-pinvoke.aspx

728x90