public void CmdSetScissor(UInt32 firstScissor, MgRect2D[] pScissors) { var scissorHandle = GCHandle.Alloc(pScissors, GCHandleType.Pinned); try { unsafe { var count = (UInt32)pScissors.Length; var pinnedObject = scissorHandle.AddrOfPinnedObject(); var scissors = (MgRect2D *)pinnedObject.ToPointer(); Interops.vkCmdSetScissor(this.Handle, firstScissor, count, scissors); } } finally { scissorHandle.Free(); } }