From e9b915dec59e5bf9fa6a759575e14d37c7a236a8 Mon Sep 17 00:00:00 2001 From: That-One-Nerd Date: Sat, 27 May 2023 16:25:04 -0400 Subject: [PATCH] Added interop types for GetConsoleScreenBufferInfo --- SrcMod/Shell/Interop/Kernel32.cs | 6 +++++- .../Shell/Interop/ObjectModels/ConsoleScreenBufferInfo.cs | 6 ++++++ SrcMod/Shell/Interop/ObjectModels/Coord.cs | 6 ++++++ SrcMod/Shell/Interop/ObjectModels/SmallRect.cs | 6 ++++++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 SrcMod/Shell/Interop/ObjectModels/ConsoleScreenBufferInfo.cs create mode 100644 SrcMod/Shell/Interop/ObjectModels/Coord.cs create mode 100644 SrcMod/Shell/Interop/ObjectModels/SmallRect.cs diff --git a/SrcMod/Shell/Interop/Kernel32.cs b/SrcMod/Shell/Interop/Kernel32.cs index 751f71c..1d32717 100644 --- a/SrcMod/Shell/Interop/Kernel32.cs +++ b/SrcMod/Shell/Interop/Kernel32.cs @@ -2,10 +2,14 @@ internal static partial class Kernel32 { + [LibraryImport("kernel32.dll", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + public static partial bool GetConsoleScreenBufferInfo(nint hConsoleOutput); + [LibraryImport("kernel32.dll", SetLastError = true)] public static partial uint GetFinalPathNameByHandleA(nint hFile, [MarshalAs(UnmanagedType.LPTStr)] string lpszFilePath, uint cchFilePath, uint dwFlags); - [LibraryImport("kernel32.dll")] + [LibraryImport("kernel32.dll", SetLastError = true)] public static partial nuint GlobalSize(nint hPtr); } diff --git a/SrcMod/Shell/Interop/ObjectModels/ConsoleScreenBufferInfo.cs b/SrcMod/Shell/Interop/ObjectModels/ConsoleScreenBufferInfo.cs new file mode 100644 index 0000000..fd0bfe8 --- /dev/null +++ b/SrcMod/Shell/Interop/ObjectModels/ConsoleScreenBufferInfo.cs @@ -0,0 +1,6 @@ +namespace SrcMod.Shell.Interop.ObjectModels; + +internal struct ConsoleScreenBufferInfo +{ + +} diff --git a/SrcMod/Shell/Interop/ObjectModels/Coord.cs b/SrcMod/Shell/Interop/ObjectModels/Coord.cs new file mode 100644 index 0000000..4ba4013 --- /dev/null +++ b/SrcMod/Shell/Interop/ObjectModels/Coord.cs @@ -0,0 +1,6 @@ +namespace SrcMod.Shell.Interop.ObjectModels; + +internal struct Coord +{ + +} diff --git a/SrcMod/Shell/Interop/ObjectModels/SmallRect.cs b/SrcMod/Shell/Interop/ObjectModels/SmallRect.cs new file mode 100644 index 0000000..d1276f8 --- /dev/null +++ b/SrcMod/Shell/Interop/ObjectModels/SmallRect.cs @@ -0,0 +1,6 @@ +namespace SrcMod.Shell.Interop.ObjectModels; + +internal struct SmallRect +{ + +}