示例#1
0
        private void writeConfig_Click(object sender, EventArgs e)
        {
            if (m_DeviceType == BSSDK.BS_DEVICE_BEPLUS || m_DeviceType == BSSDK.BS_DEVICE_XPASS)
            {
                m_ConfigBEPlus.useDHCP   = DHCP.Checked;
                m_ConfigBEPlus.useServer = useServer.Checked;
                m_ConfigBEPlus.synchTime = synchTime.Checked;

                IPAddress addr = IPAddress.Parse(ipAddr.Text);
                m_ConfigBEPlus.ipAddr = (uint)addr.Address;

                addr = IPAddress.Parse(gateway.Text);
                m_ConfigBEPlus.gateway = (uint)addr.Address;

                addr = IPAddress.Parse(subnetMask.Text);
                m_ConfigBEPlus.subnetMask = (uint)addr.Address;

                addr = IPAddress.Parse(serverIP.Text);
                m_ConfigBEPlus.serverIpAddr = (uint)addr.Address;

                m_ConfigBEPlus.port = Int32.Parse(port.Text);

                int    configSize = Marshal.SizeOf(m_ConfigBEPlus);
                IntPtr config     = Marshal.AllocHGlobal(configSize);

                Marshal.StructureToPtr(m_ConfigBEPlus, config, true);

                Cursor.Current = Cursors.WaitCursor;

                int result = BSSDK.BS_WriteConfigUDP(m_Handle, m_DeviceAddr, m_DeviceID, BSSDK.BEPLUS_CONFIG, configSize, config);

                Marshal.FreeHGlobal(config);

                Cursor.Current = Cursors.Default;

                if (result != BSSDK.BS_SUCCESS)
                {
                    MessageBox.Show("Cannot write the configuration", "Error");
                }
            }
            else if (m_DeviceType == BSSDK.BS_DEVICE_BIOLITE)
            {
                m_ConfigBLN.useDHCP   = DHCP.Checked;
                m_ConfigBLN.useServer = useServer.Checked;
                m_ConfigBLN.synchTime = synchTime.Checked;

                IPAddress addr = IPAddress.Parse(ipAddr.Text);
                m_ConfigBLN.ipAddr = (uint)addr.Address;

                addr = IPAddress.Parse(gateway.Text);
                m_ConfigBLN.gateway = (uint)addr.Address;

                addr = IPAddress.Parse(subnetMask.Text);
                m_ConfigBLN.subnetMask = (uint)addr.Address;

                addr = IPAddress.Parse(serverIP.Text);
                m_ConfigBLN.serverIpAddr = (uint)addr.Address;

                m_ConfigBLN.port = Int32.Parse(port.Text);

                int    configSize = Marshal.SizeOf(m_ConfigBLN);
                IntPtr config     = Marshal.AllocHGlobal(configSize);

                Marshal.StructureToPtr(m_ConfigBLN, config, true);

                Cursor.Current = Cursors.WaitCursor;

                int result = BSSDK.BS_WriteConfigUDP(m_Handle, m_DeviceAddr, m_DeviceID, BSSDK.BLN_CONFIG, configSize, config);

                Marshal.FreeHGlobal(config);

                Cursor.Current = Cursors.Default;

                if (result != BSSDK.BS_SUCCESS)
                {
                    MessageBox.Show("Cannot write the configuration", "Error");
                }
            }
            else if (m_DeviceType == BSSDK.BS_DEVICE_BIOSTATION)
            {
                m_ConfigBST.useDHCP            = DHCP.Checked;
                m_ConfigBST.useServer          = useServer.Checked;
                m_ConfigBST.syncTimeWithServer = synchTime.Checked;

                byte[] addr = Encoding.ASCII.GetBytes(ipAddr.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.ipAddr, 0, addr.Length);

                addr = Encoding.ASCII.GetBytes(gateway.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.gateway, 0, addr.Length);

                addr = Encoding.ASCII.GetBytes(subnetMask.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.subnetMask, 0, addr.Length);

                addr = Encoding.ASCII.GetBytes(serverIP.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.serverIP, 0, addr.Length);

                if (useServer.Checked)
                {
                    m_ConfigBST.serverPort = UInt32.Parse(port.Text);
                }
                else
                {
                    m_ConfigBST.port = UInt32.Parse(port.Text);
                }

                int    configSize = Marshal.SizeOf(m_ConfigBST);
                IntPtr config     = Marshal.AllocHGlobal(configSize);

                Marshal.StructureToPtr(m_ConfigBST, config, true);

                Cursor.Current = Cursors.WaitCursor;

                int result = BSSDK.BS_WriteConfigUDP(m_Handle, m_DeviceAddr, m_DeviceID, BSSDK.BS_CONFIG_TCPIP, configSize, config);

                Marshal.FreeHGlobal(config);

                Cursor.Current = Cursors.Default;

                if (result != BSSDK.BS_SUCCESS)
                {
                    MessageBox.Show("Cannot write the configuration", "Error");
                }
            }
            else if (m_DeviceType == BSSDK.BS_DEVICE_DSTATION)
            {
                m_ConfigBST.useDHCP            = DHCP.Checked;
                m_ConfigBST.useServer          = useServer.Checked;
                m_ConfigBST.syncTimeWithServer = synchTime.Checked;

                byte[] addr = Encoding.ASCII.GetBytes(ipAddr.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.ipAddr, 0, addr.Length);

                addr = Encoding.ASCII.GetBytes(gateway.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.gateway, 0, addr.Length);

                addr = Encoding.ASCII.GetBytes(subnetMask.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.subnetMask, 0, addr.Length);

                addr = Encoding.ASCII.GetBytes(serverIP.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.serverIP, 0, addr.Length);

                if (useServer.Checked)
                {
                    m_ConfigBST.serverPort = UInt32.Parse(port.Text);
                }
                else
                {
                    m_ConfigBST.port = UInt32.Parse(port.Text);
                }

                int    configSize = Marshal.SizeOf(m_ConfigBST);
                IntPtr config     = Marshal.AllocHGlobal(configSize);

                Marshal.StructureToPtr(m_ConfigBST, config, true);

                Cursor.Current = Cursors.WaitCursor;

                int result = BSSDK.BS_WriteConfigUDP(m_Handle, m_DeviceAddr, m_DeviceID, BSSDK.BS_CONFIG_TCPIP, configSize, config);

                Marshal.FreeHGlobal(config);

                Cursor.Current = Cursors.Default;

                if (result != BSSDK.BS_SUCCESS)
                {
                    MessageBox.Show("Cannot write the configuration", "Error");
                }
            }
            else if (m_DeviceType == BSSDK.BS_DEVICE_XSTATION || m_DeviceType == BSSDK.BS_DEVICE_BIOSTATION2)
            {
                m_ConfigBST.useDHCP            = DHCP.Checked;
                m_ConfigBST.useServer          = useServer.Checked;
                m_ConfigBST.syncTimeWithServer = synchTime.Checked;

                byte[] addr = Encoding.ASCII.GetBytes(ipAddr.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.ipAddr, 0, addr.Length);

                addr = Encoding.ASCII.GetBytes(gateway.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.gateway, 0, addr.Length);

                addr = Encoding.ASCII.GetBytes(subnetMask.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.subnetMask, 0, addr.Length);

                addr = Encoding.ASCII.GetBytes(serverIP.Text);
                Buffer.BlockCopy(addr, 0, m_ConfigBST.serverIP, 0, addr.Length);

                if (useServer.Checked)
                {
                    m_ConfigBST.serverPort = UInt32.Parse(port.Text);
                }
                else
                {
                    m_ConfigBST.port = UInt32.Parse(port.Text);
                }

                int    configSize = Marshal.SizeOf(m_ConfigBST);
                IntPtr config     = Marshal.AllocHGlobal(configSize);

                Marshal.StructureToPtr(m_ConfigBST, config, true);

                Cursor.Current = Cursors.WaitCursor;

                int result = BSSDK.BS_WriteConfigUDP(m_Handle, m_DeviceAddr, m_DeviceID, BSSDK.BS_CONFIG_TCPIP, configSize, config);

                Marshal.FreeHGlobal(config);

                Cursor.Current = Cursors.Default;

                if (result != BSSDK.BS_SUCCESS)
                {
                    MessageBox.Show("Cannot write the configuration", "Error");
                }
            }
        }