gpt4 book ai didi

c# - (DLLImport)尝试读取或写入 protected 内存。这通常表明其他内存已损坏

转载 作者:行者123 更新时间:2023-12-02 10:25:22 33 4
gpt4 key购买 nike

我正在尝试从C代码dll导入函数。

功能是

 bool AsrLibSetLcdBacklight(ESCORE_LCDBR_CONTROL Ctrl)

C代码中有一个枚举
typedef enum
{
ESCORE_LCDBRCTL_UP,
ESCORE_LCDBRCTL_DOWN
} ESCORE_LCDBR_CONTROL_TYPE;

我试图在Visual Studio 2013中使用C#和以下代码在Windows窗体应用程序中调用它->
public enum EWestern { ESCORE_LCDBRCTL_UP = 0, ESCORE_LCDBTCTL_DOWN = 1 };

[DllImport("AsrCore.dll",CallingConvention = CallingConvention.Cdecl)]
public static extern bool AsrLibSetLcdBacklight([In]EWestern e);

并单击按钮调用此函数
private void button4_Click(object sender, EventArgs e)

{
if (AsrLibSetLcdBacklight(EWestern.ESCORE_LCDBTCTL_DOWN))
{
MessageBox.Show("backlight Decreased", "Test");
}
}

当我运行代码时,出现关于SystemAccessViolation的错误。

请让我知道这里的问题,我做对了吗?语法好吗?

谢谢

最佳答案

解决该问题的方法是确保我在应用程序上使用64位平台并以管理员身份运行该应用程序。

关于c# - (DLLImport)尝试读取或写入 protected 内存。这通常表明其他内存已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33398299/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com