2010-04-26 81 views
-1
[DllImport(pathimportdll)] 
static extern int InitiateSession(ref _SESSION_INFO sinfo, ref _DEVICE_INFO pDevInfo); 

[DllImport(pathimportdll)] 
static extern int StartAcquisition(); 

正確導入DLL函數。調用之後,應用程序在tcscpy.inl中聲明消息Expression:(L「Buffer is too small」& & 0)。在C#代碼中使用C++ DLL函數的問題

+1

一些更多的代碼將是有用的。如果DLL函數正確導入,爲什麼你會得到一個斷言? – RvdK 2010-04-26 10:15:45

+0

是什麼讓你認爲這是一個DLL問題?斷言似乎來自memcpy或strcpy類型的函數。 – Arkadiy 2010-04-26 10:21:37

+3

如果沒有看到函數和結構的原始聲明以及您的C#聲明,則無法提出解決方案。 – logicnp 2010-04-26 11:27:27

回答

0

*

「DLL函數正確導入」

*

這是最有可能值得商榷。一種確定的方法是註釋掉你的dllimport代碼,而不是調用它。如果你不要得到錯誤,那麼人們很可能會認爲你的導入聲明不完全正確。