Ejemplo n.º 1
0
        internal unsafe void Write(byte[] data, int offset, int size)
        {
            int  numBytesWritten = 0;
            bool status          = false;

            // pin the buffer and write data
            fixed(byte *p = data)
            {
                status = NativePipe.WriteFile(_handle, p + offset, size, ref numBytesWritten, IntPtr.Zero);
            }

            if (!status)
            {
                int error = Marshal.GetLastWin32Error();
                throw new RemotingException(String.Format(CultureInfo.CurrentCulture, CoreChannel.GetResourceString("Remoting_Ipc_WriteFailure"), GetMessage(error)));
            }
        }