小编vui*_*uis的帖子

C# out IntPtr 在 Java 中等效

我在 C# 中有一个从 .dll 调用的方法

[DllImport("somedll.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int find([MarshalAs(UnmanagedType.AnsiBStr, SizeConst = 64)] string atr, out IntPtr int);

[DllImport("somedll.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int getData(IntPtr int, int dataId, byte[] dataBuffer, ref int dataBufferSize);
Run Code Online (Sandbox Code Playgroud)

在 C# 中调用这个方法看起来像这样

static IntPtr number = IntPtr.Zero;
static int res = 0;
try{
    number = IntPtr.Zero;
    res = find(null, out number);   
    if (number == IntPtr.Zero)
                throw new ApplicationException("Something is wrong");
    uint dataBufferSize = 1024;
    res = getData(number, 1, null, ref …
Run Code Online (Sandbox Code Playgroud)

java pointers jna intptr

5
推荐指数
1
解决办法
2690
查看次数

标签 统计

intptr ×1

java ×1

jna ×1

pointers ×1