Files
GenericTeProgramLibrary/Source/TSRealLib/HAL/Implementations/Switch/SwitchNise/NiseNativeMethods.cs
2025-03-13 12:04:22 -07:00

45 lines
2.3 KiB
C#

using System.Runtime.InteropServices;
using System;
namespace Raytheon.Instruments
{
public static class NiseNativeMethods
{
public enum MulticonnectMode
{
MulticonnectRoutes,
NoMulticonnect,
UseDefault
}
// NISEStatus niSE_ClearError(Val NISESession hSession)
[DllImport(@"C:\Windows\SysWOW64\nise.dll", CharSet = CharSet.Ansi, BestFitMapping = false)]
internal static extern Int32 niSE_ClearError(Int32 hSession);
// NISEStatus niSE_CloseSession(Val NISESession hSession)
[DllImport(@"C:\Windows\SysWOW64\nise.dll", CharSet = CharSet.Ansi, BestFitMapping = false)]
internal static extern Int32 niSE_CloseSession(Int32 hSession);
// NISEStatus niSE_Connect(Val NISESession hSession, Val string connectSpec, Val __MIDL___MIDL_itf_Nise_0115_0003 multiconnectMode, NISEBoolean waitForDebounce);
[DllImport(@"C:\Windows\SysWOW64\nise.dll", CharSet = CharSet.Ansi, BestFitMapping = false)]
internal static extern Int32 niSE_Connect(Int32 hSession, string route, MulticonnectMode multiconnectMode, bool waitForDebounce);
// NISEStatus niSE_Disconnect(Val NISESession hSession, Val string disconnectSpec);
[DllImport(@"C:\Windows\SysWOW64\nise.dll", CharSet = CharSet.Ansi, BestFitMapping = false)]
internal static extern Int32 niSE_Disconnect(Int32 hSession, string disconnectSpec);
// NISEStatus niSE_DisconnectAll(Val NISESession hSession);
[DllImport(@"C:\Windows\SysWOW64\nise.dll", CharSet = CharSet.Ansi, BestFitMapping = false)]
internal static extern Int32 niSE_DisconnectAll(Int32 hSession);
// NISEStatus niSE_IsDebounced(Val NISESession hSession, Var NISEBoolean isDebounced);
[DllImport(@"C:\Windows\SysWOW64\nise.dll", CharSet = CharSet.Ansi, BestFitMapping = false)]
internal static extern Int32 niSE_IsDebounced(Int32 hSession, out bool isDebounced);
// NISEStatus niSE_OpenSession(Val string virtualDeviceName, Val string option, Var NISESession hSession)
[DllImport(@"C:\Windows\SysWOW64\nise.dll", CharSet = CharSet.Ansi, BestFitMapping = false)]
internal static extern Int32 niSE_OpenSession(string virtualDeviceName, string options, out Int32 hSession);
}
}