我必须将我的 C# 应用程序中的 InParameter 传递给 VC++ DLL 中的导出函数。该函数接受 2 个参数:
int func_name (FILE* fp, BYTE& by);
fp
is In 和by
is Out 参数。
我正在考虑编组使用IntPtr
forFILE*
和使用 byte for BYTE
。这是正确的吗?如果我用 C# 编写以下内容
[DllImport("name_of_project.dll", CharSet = CharSet.Ansi)] public static extern int func_name(IntPtr FilePointer, [MarshalAs(UnmanagedType.BYTE&)] byte by);
它会起作用吗?我认为它会给编组语句中的“&”符号带来错误。如何通过引用传递 out 参数?
您的帮助将不胜感激。
谢谢,维伦