c# - P/Invoke - 使用 DLLImport 的自定义类型的 C# 签名?

标签 c# pinvoke dllimport

void MyUnmanagedFunc(
          CustomClass&   szOutputData
        , ICustomObject* pDataObject
        , const LPCWSTR   szTag
        , const LPCWSTR   szDisplay = NULL
        , const BOOL      bAdd = TRUE
    );

我有一个在 C++ DLL 中定义的函数的上述签名,比如 abc.dll。我无法在 C# 中创建正确的方法签名。请注意,CustomClass 是在某个文件中定义的,例如 xyz.dll__declspec(dllexport)。我试过 this生成签名的工具。

对不起,如果我重复了这个问题。我在发帖前尝试过搜索。

最佳答案

可能的解决方案是创建用 C++ 编写的混合程序集。它可以包含来自 abc.dll 的任何必要的 header 和上述调用方法,同时它可以公开托管包装器。

关于c# - P/Invoke - 使用 DLLImport 的自定义类型的 C# 签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7150288/

相关文章:

c# - 为 C# 包装 native DLL

vb.net - 将子窗口释放回桌面?

c# - 在 ASP.NET Core 中也延迟加载后虚拟属性未加载

c# - 在 switch-case 条件中编写 switch-case 条件的可能性?

c# - 在 C# 中一般访问多维数组

C# .Net 套接字缓冲区理解

c# - Blittable 值类型

c# - 未处理的异常 : System. AccessViolationException:尝试读取或写入

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

c# - C++/CLI 性能与 native C++ 相比?