2009-11-19 5 views
0

내가 P 필요가 DLL을 가지고/다음 메소드 호출 : DWORD 푸 ( INT의 A, 의 INT * B를 숯 * C를 )를;P/호출 문자의 배열에 대한 포인터

설명서에 따라 매개 변수 'c'는 크기가 16 인 char 배열이어야하는 out 매개 변수입니다. null로 끝나는 문자열이 배치됩니다.

매개 변수 'c'에 대한 P/Invoke 정의는 무엇입니까 (나머지는 괜찮습니까?). 통화 후 'c'의 내용은 어떻게 읽습니까?

답변

1

저는 실제로 이러한 것들을 위해 StringBuilder를 사용하는 것을 선호합니다. char 배열이나 불변의 문자열보다 다루기가 훨씬 쉽습니다. DLL을 채우기에 충분한 용량 (이 경우 16)으로 초기화해야합니다. 일반적으로 잘 마샬링하지만 DLLImport 선언에 문자 집합을 설정해야 할 수도 있습니다. 여기

이에 좀 더 정보입니다 : 마법처럼 Marshaling between Managed and Unmanaged Code from MSDN magazine (Stringbuilder section)

+0

작품, 감사합니다! –

관련 문제