First Commit.
- It can be compliled in unsafe context mode.
- It is possble to occur memory leak problem because of pinned memory allocation using Marshal.AllocHGlobal.