부분적인 문서 만 있고 소스 코드에 액세스 할 수없는 C++ DLL이 있습니다. 내 C# 응용 프로그램에서이 C++ 라이브러리의 함수를 사용해야합니다.C#에서 사용할 C++ 함수를 변환하십시오.
[DllImport(cpplib.dll)]
public static extern long someFunctionsWithNoParameters();
을 내가 선언이 (인수가없는 기능)처럼 내 C# 응용 프로그램에서 C++ DLL에서 함수를 호출하고보다 것은 그것을 호출 할 때, 작동, 함수가를 반환 : 이것은 내가 지금까지 무엇을 가지고 long 값은 C++ 함수에 의해 반환됩니다.
그러나 포인터 또는 참조 매개 변수 또는 C++ 함수에 의해 in 및 out으로 정의 된 매개 변수를 사용하여 함수를 처리하는 방법을 알지 못합니다. 예를 들어이 C++ 기능 :
long functionWithParameters(long &State, char *pName, int nLen)
이 함수는 (내가 아닌 소스, DLL의 헤더 파일에 액세스 할 수) 선언 방법이다. 매개 변수 State 및 pName은 out 매개 변수로 선언되고 매개 변수 nLen은 매개 변수에서와 같이 선언됩니다. [C# 응용 프로그램에서 [DllImport] 줄 아래에이 C++ 함수를 선언하고 그것을 사용하는 것보다 (어떤 형식의 매개 변수를 전달해야하며 out 매개 변수를 읽는 방법)? C/C++ 포인터와 참조 형식 사이의 변환 규칙이 일부 C# 형식에 있습니까?
감사합니다.
여기에 대한 대답은 너무 광범위합니다. http://msdn.microsoft.com/en-us/library/ms173184.aspx를 참조하십시오. 그들이 올 때 특정 질문을 게시하십시오. –