110,536
社区成员
发帖
与我相关
我的任务
分享
extern "C" __declspec(dllexport) bool GetFrame(unsigned char **ppData)
{
*ppData = new unsigned char[1000];
for (int i = 0; i < 1000; ++i)
{
(*ppData)[i] = i;
}
return true;
}
extern "C" __declspec(dllexport) void ReleaseFrame(unsigned char **ppData)
{
delete[] *ppData;
*ppData = NULL;
}
[DllImport(dllPath, EntryPoint = "GetFrame", CallingConvention = CallingConvention.Cdecl)]
private static extern void GetFrame_([Out] out IntPtr data);
public static IntPtr GetFrame()
{
IntPtr ptr;
GetFrame_(out ptr);
return ptr;
}
[DllImport(dllPath, EntryPoint = "ReleaseFrame", CallingConvention = CallingConvention.Cdecl)]
private static extern void ReleaseFrame_([In] ref IntPtr data);
public static void ReleaseFrame(IntPtr ptr)
{
ReleaseFrame_(ref ptr);
}