using System;
using System.Runtime.ExceptionServices;
using System.Runtime.InteropServices;
namespace OS.Spin.SdkLayer
{
public class SdkImport
{
private const string SdkDll = "FLAW.dll";
/*************************************************************************
* FUNCTION: Flaw_Detection_Init
* PURPOSE: 初始化
* PARAM:
[in/out] handle - 句柄
[in] params - 参数
* RETURN: 成功(0)或者错误代码(<0)
* NOTES:
*************************************************************************/
[HandleProcessCorruptedStateExceptions]
[DllImport(SdkDll, EntryPoint = "Flaw_Detection_Init", CallingConvention = CallingConvention.Cdecl)]
public static extern int Flaw_Detection_Init(ref IntPtr handle);
///
///
///
///
///
///
///
///
///
///
[HandleProcessCorruptedStateExceptions]
[DllImport(SdkDll, EntryPoint = "Flaw_Detection", CallingConvention = CallingConvention.Cdecl)]
public static extern int Flaw_Detection(IntPtr handle, IntPtr imgData, int width, int height, Modle.Sdk.StructInfos.D_PARAM param, ref IntPtr rect);
///
///
///
///
///
///
///
///
///
///
[HandleProcessCorruptedStateExceptions]
[DllImport(SdkDll, EntryPoint = "Flaw_Detection1", CallingConvention = CallingConvention.Cdecl)]
public static extern int Flaw_Detection1(IntPtr handle, IntPtr imgData, int width, int height, Modle.Sdk.StructInfos.D_PARAM param, ref IntPtr rect);
///
///
///
///
///
///
///
///
///
///
[HandleProcessCorruptedStateExceptions]
[DllImport(SdkDll, EntryPoint = "Flaw_Detection2", CallingConvention = CallingConvention.Cdecl)]
public static extern int Flaw_Detection2(IntPtr handle, IntPtr imgData, int width, int height, Modle.Sdk.StructInfos.D_PARAM param, ref IntPtr rect);
/*************************************************************************
* FUNCTION: Detc_Init
* PURPOSE: 初始化
[in/out] handle - 句柄
* RETURN: 成功(0)或者错误代码(<0)
* NOTES:
*************************************************************************/
[HandleProcessCorruptedStateExceptions]
[DllImport(SdkDll, EntryPoint = "Detc_Post_Init", CallingConvention = CallingConvention.Cdecl)]
public static extern int Detc_Post_Init(ref IntPtr handle,int camera);
[HandleProcessCorruptedStateExceptions]
[DllImport(SdkDll, EntryPoint = "Detc_Postprocess", CallingConvention = CallingConvention.Cdecl)]
public static extern int Detc_Postprocess(IntPtr handle, Modle.Sdk.StructInfos.Fore_Result[] fores, int count,ref IntPtr foresall,ref int foreCount,ref IntPtr finalresult,int currentMeter, ref byte stop);
[HandleProcessCorruptedStateExceptions]
[DllImport(SdkDll, EntryPoint = "DP_Clear", CallingConvention = CallingConvention.Cdecl)]
public static extern int DP_Clear(IntPtr handle);
}
}