Ejemplo n.º 1
0
        private void CopyToBuffer <T>(CopyToBufferHandler handler, T[] buffer) where T : unmanaged
        {
            unsafe
            {
                fixed(T *bufferPtr = buffer)
                {
                    handler(mpPtr, (IntPtr)bufferPtr, buffer.Length).Assert();
                }
            }

            GC.KeepAlive(this);
        }
Ejemplo n.º 2
0
        private T[] CopyToBuffer <T>(CopyToBufferHandler handler, int bufferSize) where T : unmanaged
        {
            var buffer = new T[bufferSize];

            unsafe
            {
                fixed(T *bufferPtr = buffer)
                {
                    handler(mpPtr, (IntPtr)bufferPtr, bufferSize).Assert();
                }
            }

            GC.KeepAlive(this);
            return(buffer);
        }