Exemple #1
0
        public unsafe void Send()
        {
            var byteBuffer = Buffer.ToArray();

            fixed(byte *bytes = byteBuffer)
            {
                var packet = new CDataStore(bytes, byteBuffer.Length, m_Read);

                var packetLen = Marshal.SizeOf(typeof(CDataStore));
                var packetPtr = Marshal.AllocHGlobal(packetLen);

                Marshal.StructureToPtr(packet, packetPtr, true);

                try
                {
                    if (Send2Func == null)
                    {
                        Console.WriteLine(".. Fake [Send2] ..");
                    }
                    else
                    {
                        Send2Func(packetPtr);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    Marshal.FreeHGlobal(packetPtr);
                }
            }
        }
        public unsafe void Send()
        {
            var byteBuffer = Buffer.ToArray();
            fixed (byte* bytes = byteBuffer)
            {
                var packet = new CDataStore(bytes, byteBuffer.Length, m_Read);

                var packetLen = Marshal.SizeOf(typeof(CDataStore));
                var packetPtr = Marshal.AllocHGlobal(packetLen);

                Marshal.StructureToPtr(packet, packetPtr, true);

                try
                {
                    Send2Func(packetPtr);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    Marshal.FreeHGlobal(packetPtr);
                }
            }
        }