Tsukikage.WinMM.MidiIO.MidiBuffer.MidiBuffer C# (CSharp) Method

MidiBuffer() public method

public MidiBuffer ( int dwSize ) : System
dwSize int
return System
        public MidiBuffer(int dwSize)
        {
            length = dwSize;
            Data = new byte[dwSize];
            dataHandle = GCHandle.Alloc(Data, GCHandleType.Pinned);
            bufferHandle = GCHandle.Alloc(this);

            Win32.MidiHeader header = new Win32.MidiHeader();
            header.lpData = dataHandle.AddrOfPinnedObject();
            header.dwBufferLength = (uint)length;
            header.dwUser = GCHandle.ToIntPtr(bufferHandle);

            pHeader = Marshal.AllocHGlobal(Win32.MidiHeader.SizeOfMidiHeader);
            Marshal.StructureToPtr(header, pHeader, true);
        }