Sorry it took so long to respond. I was on vacation for awhile. You would want to do this: Sdl.SDL_Surface surface = (Sdl.SDL_Surface)Marshal.PtrToStructure(mySurface, typeof (Sdl.SDL_Surface)); This will give you an SDL_Surface struct