gpt4 book ai didi

c# - PInvoke 一个字节数组的数组

转载 作者:行者123 更新时间:2023-11-28 01:13:22 28 4
gpt4 key购买 nike

我有以下 C 代码:

const BYTE* Items[3];
Items[0] = item1;
Items[1] = item2;
Items[2] = item3;
int result = Generalize(3, Items);

Generalize 的签名为

int __stdcall Generalize(INT count, const BYTE * const * items);

使用 PInvoke 进行调用的最佳方式是什么?

最佳答案

我不能保证这是最好的方法,但这是我会尝试的第一种方法。

    [DllImport("<unknown>", 
EntryPoint="Generalize",
CallingConvention=CallingConvention.StdCall)]
public static extern int Generalize(int count, IntPtr[] items);

public static void CallGeneralize()
{
var itemCount = 3;
var items = new IntPtr[itemCount];

items[0] = item1; // where itemX is allocated by Marshal.AllocHGlobal(*)
items[1] = item2;
items[2] = item3;

var result = Generalize(itemCount, items);
}

关于c# - PInvoke 一个字节数组的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/778475/

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