2013-11-28 6 views
1

좋습니다. 시나리오는 다음과 같습니다.관리되지 않는 C++ DLL과 관리되는 C# UI 사이에 정보를 보내려면

Application1에는 관리되지 않는 C++ DLL을로드하고 호출하는 기능이 있습니다.

내 인생을 더 쉽게 만들어주기 위해 C#에서 다른 사용자 인터페이스를 작성하고 싶습니다.

그런 다음 DLL이 정보를 C# 실행 파일에 보내고 C# 실행 파일을 사용하여 DLL에 정보를 보낼 수있게하려고합니다.

앞뒤로 전달되는 정보는 복잡하지 않습니다. 그것은 단순히 문자열 일 것입니다.

어떻게 수행 할 수 있는지에 대한 아이디어.

+0

당신은이 사이트에서 이미 무엇을 시도 했습니까/이미 검색 했습니까? 나는 이것이 기존 질문들에 의해 다루어 졌음을 확신한다. – TooTone

+1

DLL은 프로세스처럼 일반적으로 자체 수명을 갖지 않습니다. 내 보낸 함수를 호출하여 처리해야합니다. 아니면 뭔가 돌려 주도록하십시오. 인수와 함수는 값을 반환합니다. –

답변

1

This은 귀하의 질문에 대한 답변입니다. 기본적으로 가장 쉬운 옵션은 동일한 기계에서 통신하기위한 명명 된 파이프이고 다른 기계의 경우 소켓입니다.
업데이트
더 나은 고려 사항을 얻은 후에 대답은 '누가 제어 할 수 있습니까?' 귀하의 시나리오에서.
1. C# 실행 파일이 관리되지 않는 DLL을 호출하고 정보를 보내거나 가져 오는 경우에는 Platform Invoke으로 가야합니다.
2. 비 관리 DLL이 데이터를 응용 프로그램에 보낼시기를 결정하려면 먼저 DLL을 완전한 응용 프로그램으로 변환해야하며 이후에는 interprocess communication으로 이동해야합니다.

+0

이 대답은 확실합니까? 파이프와 소켓은 프로세스 간 통신용입니다. OP는 진행중인 의사 소통을하고 있습니다. – TooTone

+0

@TooTone, 나는이 질문을 완전히 이해하지 못했기 때문에 팁을 주셔서 감사합니다. – Yuriy