2012-05-17 5 views
3

C++로 작성된 함수가 있고 DLL에서 추출했습니다. 내 응용 프로그램에서이 함수를 사용해야합니다. 함수는 다음과 같습니다. int SendText (void * pControl, char * sText);DLL import char * pointer from C#

어떻게 이것을 C# 코드에서 사용할 수 있습니까? void*에 대한

+0

는'sText' 문자열로 마샬링하지만'pControl'은 무엇을 상징 하는가? – shf301

+0

pcontrol은 int 일 수 있습니다. – xaria

답변

11

그냥 IntPtr를 사용할 수
문자열은 MarshalAs 특성으로 작동합니다

[DllImport("MyDll.dll", CharSet = CharSet.Ansi)] 
public static extern int SendText(IntPtr pControl, [MarshalAs(UnmanagedType.LPStr)] string sText);