예제 #1
0
        public static int IMOS_XP_InputMediaData(int port, byte[] data)
        {
            int    size = 0;
            IntPtr ptr  = IntPtr.Zero;

            if (data != null)
            {
                size = data.Length;
                ptr  = Marshal.AllocHGlobal(size);
                Marshal.Copy(data, 0, ptr, size);
            }

            int ret = 0;

            if (_isX64)
            {
                ret = Native64.IMOS_XP_InputMediaData((uint)port, ptr, (uint)size);
            }
            else
            {
                ret = Native32.IMOS_XP_InputMediaData((uint)port, ptr, (uint)size);
            }

            if (ptr != IntPtr.Zero)
            {
                Marshal.FreeHGlobal(ptr);
            }

            return(ret);
        }