2014-06-23 3 views
0

현재 C#의 Windows Mobile 용 프로젝트를 개발 중입니다. C++ DLL의 함수를 호출하고 싶습니다. 이를 위해 Il은 "DLLIMPORT"를 사용합니다. 그러나, 나는이 함수를 호출 :C에서 DLL의 함수를 호출 할 때 "MissingMethodException이 처리되지 않았습니다"#

[DllImport("IASAPI.dll")] 
public static extern int IASInitialize(int phContext); 
... 
IASInitialize(0); 

을 나는 다음과 같은 오류가 : 그럼

"MissingMethodException was unhandled"

을, 나는 (소프트웨어 "DLL 내보내기 뷰어"로) 내 DLL 파일 내부를 들여다 보면, 기능 "IASInitialize는"존재합니다

unsigned long __cdecl ias::IASInitialize(void * *) 

을 그래서, 당신이 DLL의 함수를 호출 할 수있는 아이디어를 가지고?

+0

메소드의 리턴 유형은'int'이며 int를 보냅니다. 네이티브 메소드는'long'을 리턴하고'void * '를받습니다. 그들은 일치하지 않는다 –

+1

iasvcs.dll이 아니라 iasapi.dll에 의해 그 함수가 익스포트되는 것처럼 보입니다. –

+0

어디에서 "iassvcs.dll"을 찾을 수 있습니까? – JohnDoe66

답변

0

당신이 얻는 오류는 던져진 예외를 처리하지 않는다고 생각합니다. 그리고 Yuval이 말했듯이, 예외는 호출하는 서명과 일치하는 메소드가 없다는 것입니다. 반환 유형 및 매개 변수가 호출하려고하는 것과 일치하는지 확인하십시오.

관련 문제