From 0fbcd630bc57885d6b94fd3c4b3546493e09059e Mon Sep 17 00:00:00 2001 From: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com> Date: Thu, 15 Dec 2022 12:07:31 -0500 Subject: Replace `DllImport` usage with `LibraryImport` (#4084) * Replace usage of `DllImport` with `LibraryImport` * Mark methods as `partial` * Marshalling * More `partial` & marshalling * More `partial` and marshalling * More partial and marshalling * Update GdiPlusHelper to LibraryImport * Unicorn * More Partial * Marshal * Specify EntryPoint * Specify EntryPoint * Change GlobalMemoryStatusEx to LibraryImport * Change RegisterClassEx to LibraryImport * Define EntryPoints * Update Ryujinx.Ava/Ui/Controls/Win32NativeInterop.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Graphics.Nvdec.FFmpeg/Native/FFmpegApi.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Move return mashal * Remove calling convention specification * Remove calling conventions * Update Ryujinx.Common/SystemInfo/WindowsSystemInfo.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx/Modules/Updater/Updater.cs Co-authored-by: Mary-nyan * Update Ryujinx.Ava/Modules/Updater/Updater.cs Co-authored-by: Mary-nyan Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> Co-authored-by: Mary-nyan --- Ryujinx.Common/SystemInfo/MacOSSystemInfo.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'Ryujinx.Common/SystemInfo/MacOSSystemInfo.cs') diff --git a/Ryujinx.Common/SystemInfo/MacOSSystemInfo.cs b/Ryujinx.Common/SystemInfo/MacOSSystemInfo.cs index 3fcb1a25..ad022bdf 100644 --- a/Ryujinx.Common/SystemInfo/MacOSSystemInfo.cs +++ b/Ryujinx.Common/SystemInfo/MacOSSystemInfo.cs @@ -8,7 +8,7 @@ using Ryujinx.Common.Logging; namespace Ryujinx.Common.SystemInfo { [SupportedOSPlatform("macos")] - class MacOSSystemInfo : SystemInfo + partial class MacOSSystemInfo : SystemInfo { internal MacOSSystemInfo() { @@ -60,8 +60,8 @@ namespace Ryujinx.Common.SystemInfo private const string SystemLibraryName = "libSystem.dylib"; - [DllImport(SystemLibraryName, CharSet = CharSet.Ansi, SetLastError = true)] - private static extern int sysctlbyname(string name, IntPtr oldValue, ref ulong oldSize, IntPtr newValue, ulong newValueSize); + [LibraryImport(SystemLibraryName, SetLastError = true)] + private static partial int sysctlbyname([MarshalAs(UnmanagedType.LPStr)] string name, IntPtr oldValue, ref ulong oldSize, IntPtr newValue, ulong newValueSize); private static int sysctlbyname(string name, IntPtr oldValue, ref ulong oldSize) { @@ -116,11 +116,11 @@ namespace Ryujinx.Common.SystemInfo return res; } - [DllImport(SystemLibraryName, CharSet = CharSet.Ansi, SetLastError = true)] - private static extern uint mach_host_self(); + [LibraryImport(SystemLibraryName, SetLastError = true)] + private static partial uint mach_host_self(); - [DllImport(SystemLibraryName, CharSet = CharSet.Ansi, SetLastError = true)] - private static extern int host_page_size(uint host, ref uint out_page_size); + [LibraryImport(SystemLibraryName, SetLastError = true)] + private static partial int host_page_size(uint host, ref uint out_page_size); [StructLayout(LayoutKind.Sequential, Pack = 8)] struct VMStatistics64 @@ -151,7 +151,7 @@ namespace Ryujinx.Common.SystemInfo public ulong TotalUncompressedPagesInCompressor; } - [DllImport(SystemLibraryName, CharSet = CharSet.Ansi, SetLastError = true)] - private static extern int host_statistics64(uint host_priv, int host_flavor, ref VMStatistics64 host_info64_out, ref uint host_info64_outCnt); + [LibraryImport(SystemLibraryName, SetLastError = true)] + private static partial int host_statistics64(uint host_priv, int host_flavor, ref VMStatistics64 host_info64_out, ref uint host_info64_outCnt); } } \ No newline at end of file -- cgit v1.2.3