본문 바로가기

About Programing/03. Tip

C#에서 C++의 CString 값 전달해 주기


출처 : http://blog.naver.com/just720?Redirect=Log&logNo=40137298010

C# 에서는 이렇게 쓸꺼야

일단 선언은 이렇게 하고

[DllImport("CV_capture.dll")]
public static extern void CV_RegistInit(IntPtr _IntPtr);

넘겨 줄때는 이렇게!
IntPtr _IntPtr = Marshal.StringToBSTR("abcd");
CV_RegistInit(_IntPtr);

C++에서는 BSTR로 받아서 CString으로 변환해준다.

extern "C" __declspec(dllexport) void __stdcall CV_RegistInit(BSTR _RegistName)
{

CString str;

str.Format(_T("%s"), RegistName);

}

음 잘 넘어온다! ㅋㅋ