I am looking for a way to push large amounts of data between 2 processes.
The data chunks are blobs of a managed float[] array.

Currently I am using named pipes to move the data between both processes. It works perfectly fine. But unfortunately I seem to need to copy the float[]array into a byte array before I can use the NamedPipe.Write.

The blobs are >128MB each, so I prefer to find a solution that works without an extra copying buffer.
Is there any way of achieving the same result without having to do the copy?

I was hoping for something like:

```
unsafe{
  fixed(float* fp = myfloatarray){
     pipe.UnsafeWrite(fp, ...)
  }
}

```

I did poke around to see if I could get the pipe file handle and use WriteFile pinvoke. It looks like messing around with the file handle of a live managed namedpipe instance is asking for trouble.

Any tips are very welcome!