본문으로 바로가기

C++을 이용하여 만든 DLL을 C#에서 사용하려다 보니, 함수 매개변수를 C#에 맞게 변환하여 써야하는데 헷갈려서 정리함 ㅎ



Unmanaged to Managed type translation table


C/C++

C#

HANDLELPDWORDLPVOIDvoid*

IntPtr

LPCTSTRLPCTSTRLPSTRchar*const char*Wchar_t*LPWSTR

String [in], StringBuilder [in, out]

DWORDunsigned longUlong

UInt32[MarshalAs(UnmanagedType.U4)]

bool

bool

LP<struct>

[In] ref <struct>

SIZE_T

uint

LPDWORD

out uint

LPTSTR

[Out] StringBuilder

PULARGE_INTEGER

out ulong

WORD

uInt16

Byteunsigned char

byte

Short

Int16

Longint

Int32

float

single

double

double

NULL pointer

IntPtr.Zero

Uint

Uint32


출처 : https://lidong2121.wordpress.com/2007/04/20/unmanaged-to-managed-type-translation-table/


댓글을 달아 주세요