Exemplo n.º 1
0
        private void InitializeMessage(PortMessage existingMessage, MemoryRegion data, short dataLength)
        {
            if (dataLength > Win32.PortMessageMaxDataLength)
            {
                throw new ArgumentOutOfRangeException("Data length is too large.");
            }
            if (dataLength < 0)
            {
                throw new ArgumentOutOfRangeException("Data length cannot be negative.");
            }

            _message = new PortMessageStruct();

            _message.DataLength     = dataLength;
            _message.TotalLength    = (short)(_portMessageSize + dataLength);
            _message.DataInfoOffset = 0;

            if (existingMessage != null)
            {
                _message.ClientId  = existingMessage.ClientId;
                _message.MessageId = existingMessage.MessageId;
            }

            _data = data;

            _referencedData = data;
            _referencedData.Reference();
        }
Exemplo n.º 2
0
        internal PortMessage(MemoryRegion headerAndData)
        {
            _message = headerAndData.ReadStruct<PortMessageStruct>();
            _data = new MemoryRegion(headerAndData, _portMessageSize, _message.DataLength);

            _referencedData = headerAndData;
            _referencedData.Reference();
        }
Exemplo n.º 3
0
        internal PortMessage(MemoryRegion headerAndData)
        {
            _message = headerAndData.ReadStruct <PortMessageStruct>();
            _data    = new MemoryRegion(headerAndData, _portMessageSize, _message.DataLength);

            _referencedData = headerAndData;
            _referencedData.Reference();
        }
Exemplo n.º 4
0
        private void InitializeMessage(PortMessage existingMessage, MemoryRegion data, short dataLength)
        {
            if (dataLength > Win32.PortMessageMaxDataLength)
                throw new ArgumentOutOfRangeException("Data length is too large.");
            if (dataLength < 0)
                throw new ArgumentOutOfRangeException("Data length cannot be negative.");

            _message = new PortMessageStruct();

            _message.DataLength = dataLength;
            _message.TotalLength = (short)(_portMessageSize + dataLength);
            _message.DataInfoOffset = 0;

            if (existingMessage != null)
            {
                _message.ClientId = existingMessage.ClientId;
                _message.MessageId = existingMessage.MessageId;
            }

            _data = data;

            _referencedData = data;
            _referencedData.Reference();
        }
Exemplo n.º 5
0
 internal void SetHeader(MemoryRegion data)
 {
     _message = data.ReadStruct<PortMessageStruct>();
 }
Exemplo n.º 6
0
 internal void SetHeader(MemoryRegion data)
 {
     _message = data.ReadStruct <PortMessageStruct>();
 }