c# - 使用自定义类型、文件和指针所需的 DLLImport 方法签名进行 C++ 调用
问题描述
在 C# 中使用 DLLImport 需要调用 C++ 自定义类型变量和指针。
自定义类型:
typedef unsigned char UN_Char;
typedef enum { Valid = 0, Invalid = 1, Unknown = -999 } AppResponseCode;
在 SomeAPI.C 中调用
static AppResponseCode SomeFunction(UN_Char ** vUC1PtrPtr,size_t * vSize1Ptr, UN_Char * vUC2Ptr,size_t vSize2, FILE * inputFile, char * vcharPtr)
现在我需要从 C# 调用 C++ 函数。
一旦我尝试创建引用,它就会失败并显示消息
无法添加对“.....\SomeApi.DLL”的引用。请确保该文件是可访问的,并且它是有效的程序集或 COM 组件
所以我使用其他途径导入 DLL 使用 DLLImport 但在这里我没有调用 C++ 函数的签名
[DllImport("SomeAPI.dll", CharSet = CharSet.Unicode)]
public static extern ?AppResponseCode? SomeFunction( ?????emphasized text ) ;
有人可以帮我识别功能签名吗?
解决方案
推荐阅读
- laravel-7 - Laravel 中的 ErrorException 未定义变量
- treeview - Treeview 未以 Windows 形式显示 .net 4.8
- javascript - 反应地图数组模式窗口项不起作用
- reactjs - Material-ui.为什么Popover设置Modal的背景不可见
- ios - 如何在没有导航栏标题、项目等的导航栏中创建状态栏背景?
- swiftui - 如何在 swiftui 中添加自定义字体?
- google-sheets - 从 Google 表单中捕获标识符以匹配 E-Blast
- python - Google Calendars API - 不断看到“身份验证流程已完成。您可以关闭此窗口。” 每次我用脚本创建一个事件
- java - javax约束的验证问题
- fonts - python Turtle中的字体类型有问题