Microsoft MVP성태의 닷넷 이야기
DllIImport질문 드립니다. [링크 복사], [링크+제목 복사],
조회: 16800
글쓴 사람
초보자
홈페이지
첨부 파일
 

안녕하세요

네이티브로 만들어진 DLL안의 함수 원형이 다음과 같을때

DWORD Test(OUT PWCHAR param1, IN WCHAR param2);

C#에서 사용 처리를

[DllImport("Test.dll", CharSet = System.Runtime.InteropServices.CharSet.Ansi, EntryPoint = "Test")]
private static extern int Test(out string param1, string param2);

위와 같이 시도해 봤을때 아무 반응이 없습니다. 디버깅에서 락 걸린듯 현상

위 네이티브 DLL을 호출할때 제가 올바르게 시도한 것인지 질문 드립니다..








[최초 등록일: ]
[최종 수정일: 7/28/2017]


비밀번호

댓글 작성자
 



2017-07-30 05시41분
OUT PWCHAR의 부분을 out string으로 받지 마시고 StringBuilder로 받으세요.

그리고, StringBuilder에 넣어주는 인자는 다음과 같이 미리 예상되는 길이만큼 확보한 인스턴스를 넘겨주면 됩니다.

StringBuilder sb = StringBuilder(1024);
Test(sb, ...);
정성태

NoWriterDateCnt.TitleFile(s)