/// <summary> /// Opens the screen buffer. /// </summary> /// <returns>Returns a new <see cref="ConsoleInputBuffer"/> instance that references the /// console's input buffer.</returns> /// <remarks>This method allocates a new ConsoleInputBuffer instance. Callers should /// call Dispose on the returned instance when they're done with it.</remarks> static public ConsoleInputBuffer GetInputBuffer() { IntPtr inHandle = WinApi.CreateFile("CONIN$", WinApi.GENERIC_READ | WinApi.GENERIC_WRITE, WinApi.FILE_SHARE_READ | WinApi.FILE_SHARE_WRITE, null, WinApi.OPEN_EXISTING, 0, IntPtr.Zero); if (inHandle.ToInt32() == WinApi.INVALID_HANDLE_VALUE) { throw new IOException("Unable to open CONIN$", Marshal.GetLastWin32Error()); } ConsoleInputBuffer inputBuffer = new ConsoleInputBuffer(inHandle); inputBuffer.ownsHandle = true; return(inputBuffer); }
/// <summary> /// Opens the screen buffer. /// </summary> /// <returns>Returns a new <see cref="ConsoleInputBuffer"/> instance that references the /// console's input buffer.</returns> /// <remarks>This method allocates a new ConsoleInputBuffer instance. Callers should /// call Dispose on the returned instance when they're done with it.</remarks> public static ConsoleInputBuffer GetInputBuffer() { IntPtr inHandle = WinApi.CreateFile("CONIN$", WinApi.GENERIC_READ | WinApi.GENERIC_WRITE, WinApi.FILE_SHARE_READ | WinApi.FILE_SHARE_WRITE, null, WinApi.OPEN_EXISTING, 0, IntPtr.Zero); if (inHandle.ToInt32() == WinApi.INVALID_HANDLE_VALUE) { throw new IOException("Unable to open CONIN$", Marshal.GetLastWin32Error()); } ConsoleInputBuffer inputBuffer = new ConsoleInputBuffer(inHandle); inputBuffer.ownsHandle = true; return inputBuffer; }