Microsoft MVP성태의 닷넷 이야기
.NET Framework: 34.1. 위의 질문에 대한 답변으로 나온 것입니다. [링크 복사], [링크+제목 복사],
조회: 18615
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기

COM Interop을 사용하는 경우이기 때문에 전적으로 생성된 idl에 의존합니다. 해당 Managed 코드로 생성한 tlb를 Oleview 같은 프로그램으로 들여다보면 CallMethod의 인자가 모두 BSTR로 정의되어 있습니다. .NET을 생각하지 않고 단순히 COM 객체를 호출하는 경우라도 BSTR로 정의되어 있는 인자에 Wide String을 넣는 것은 문제가 있겠습니다.

CTest의 CallMethod를 다음과 같이 변경하여 사용하시면 두 번 제대로 뜰 것입니다.

public void CallMethod( string text1, [MarshalAs(UnmanagedType.LPWStr)] string text2 )

물론 이 경우에 생성된 tlb를 보시면 text1은 BSTR 그리고 text2는 LPWSTR로 정의된 것을 보실 수 있을 것입니다. COM Interop에 관해서 더 자세히 살펴보시려면 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconinteroperatingwithunmanagedcode.asp 등을 참고하세요.

--

도움이 되셨기를..^^

bk








[최초 등록일: ]
[최종 수정일: 7/17/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 151  152  153  154  155  156  157  158  159  160  161  [162]  163  164  165  ...
NoWriterDateCnt.TitleFile(s)
998정성태2/27/201120144Team Foundation Server: 42. TFS Application-Tier만 재설치
996정성태2/12/201137613디버깅 기술: 35. windbg - 분석 예: 시작하자마자 비정상 종료하는 프로세스 - NullReferenceException
995정성태2/11/201156192.NET Framework: 205. 코드(C#)를 통한 풀 덤프 만드는 방법 [4]
994정성태2/10/201136057디버깅 기술: 34. Windbg - ERROR: Unable to load DLL mscordacwks_x86_x86_2.0.50727.4200.dll, Win32 error 0n2 [1]
993정성태2/10/201128424개발 환경 구성: 107. 하나의 WPF 프로젝트를 WinExe / Library로 빌드하는 방법
992정성태10/15/201129268개발 환경 구성: 106. VSS(Volume Shadow Service)를 이용한 Hyper-V VM 백업/복원 [2]
991정성태2/6/201148744개발 환경 구성: 105. 풀 덤프 파일을 남기는 방법 [4]
990정성태2/2/201133915개발 환경 구성: 104. Visual C++ Custom Build Tool 사용예 [1]파일 다운로드1
989정성태2/1/201130399개발 환경 구성: 103. DOS batch - 동기 방식으로 원격 서비스 제어
988정성태1/30/201126576개발 환경 구성: 102. MSBuild - DefineConstants에 다중 전처리 값 설정
987정성태1/29/201139742디버깅 기술: 33. PDB Symbol 로드 오류 - Cannot find or open the PDB file. [2]
986정성태1/26/201131180.NET Framework: 204. 분리된 ThreadPool 사용 - Smart Thread Pool
985정성태1/25/201127798디버깅 기술: 32. 인증서로 서명된 닷넷 어셈블리의 실행 지연 현상
984정성태1/25/201122476개발 환경 구성: 101. SharePoint 2010 - Form Design
983정성태1/23/201127535제니퍼 .NET: 15. 눈으로 확인하는 maxWorkerThreads, minFreeThreads 설정값 [1]
982정성태1/22/201124865개발 환경 구성: 100. SharePoint 2010 - iPad 친화적인 게시판 만들기 (사용자 지정 목록) [1]
981정성태1/19/201120748개발 환경 구성: 99. SharePoint 2010 - 웹 애플리케이션 생성 시 고려해야 할 점. [1]
980정성태1/19/201132216개발 환경 구성: 98. SharePoint 2010 - Office Web Apps 설치
979정성태1/18/201124907개발 환경 구성: 97. SharePoint 2010 팀 사이트 구성
978정성태1/16/201131855.NET Framework: 203. VPN 자동 연결 및 Router 설정 추가
977정성태1/12/201131205개발 환경 구성: 96. SharePoint 2010 설치 [5]
976정성태1/11/201153778오류 유형: 111. IIS - 500.19 오류 (0x8007000d)
975정성태1/10/201128071.NET Framework: 202. CLR JIT 컴파일러가 생성한 기계어 코드 확인하는 방법 [3]파일 다운로드1
974정성태1/8/201126843.NET Framework: 201. 윈폼 TreeView - Bold 폰트 설정 후 텍스트가 잘리는 문제 [1]파일 다운로드1
973정성태1/7/201126142.NET Framework: 200. IIS Metabase와 ServerManager 개체 활용파일 다운로드1
972정성태1/7/201124174개발 환경 구성: 95. SQL Server 2008 R2 이하 버전 정보 확인
... 151  152  153  154  155  156  157  158  159  160  161  [162]  163  164  165  ...