Си ++ кодаНеизвестная ошибка при использовании .NET 4.0 с длл
MSIPC_SDK LONG __stdcall Ms_IpcClient_CaptureImage(LONG nUserId, char *sFilePath,
int nPathLen, const char *sDiskPath = NULL);//sDiskPath example: "C: \\".
Affect: Возьмите Snapshoot
Параметры Замечание:
LONG nUserId
: Ms_Ipc_Login() // Возвращает значение после того, как login успешноchar *sFilePath
: // предназначение для сохранения файлов записиint nPathLen
: // длина путиconst char *sDiskPath = NULL
: // какой диск для сохранения
мой C# код является:
[DllImport("MsIpcSDK", CharSet = CharSet.Ansi,
CallingConvention = CallingConvention.StdCall)]
public static extern int Ms_IpcClient_CaptureImage(
int lUserID,
[MarshalAs(UnmanagedType.LPStr)]
string sFilePath,
int nPathLen,
[MarshalAs(UnmanagedType.LPStr)]
string sDiskPath
);
и использование является метод:
var ret = Ms_IpcClient_CaptureImage(loginID, "C:\\a.bmp", 10000, "C:\\");
Он работает в .NET Framework 2, но не работает .Net Framework 4. Как его исправить. Net Framework 4?
Определить «не работает». Что не работает? Вы получаете ошибку компиляции? Какая ошибка? –
in .net 4 при использовании метода show перестали работать (проблема заставила программу перестать работать правильно) и закрыть программу –
Пробовал ли вы отлаживать свою программу, чтобы увидеть, где именно она терпит неудачу? Вы убедились, что ваши параметры правильно переданы функции? Действительно ли LoginID действителен? вы пытались «@» C: \ a.tmp «' вместо '' C: \\ a.tmp "'? Вы пытались использовать 'CharSet = CharSet.Default'? – LightBulb