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.Graphics.Nvdec.FFmpeg/Native/FFmpegApi.cs | 66 +++++++++++------------ 1 file changed, 33 insertions(+), 33 deletions(-) (limited to 'Ryujinx.Graphics.Nvdec.FFmpeg/Native') diff --git a/Ryujinx.Graphics.Nvdec.FFmpeg/Native/FFmpegApi.cs b/Ryujinx.Graphics.Nvdec.FFmpeg/Native/FFmpegApi.cs index 9bf71778..d173a412 100644 --- a/Ryujinx.Graphics.Nvdec.FFmpeg/Native/FFmpegApi.cs +++ b/Ryujinx.Graphics.Nvdec.FFmpeg/Native/FFmpegApi.cs @@ -5,7 +5,7 @@ using System.Runtime.InteropServices; namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native { - static class FFmpegApi + static partial class FFmpegApi { public const string AvCodecLibraryName = "avcodec"; public const string AvUtilLibraryName = "avutil"; @@ -78,52 +78,52 @@ namespace Ryujinx.Graphics.Nvdec.FFmpeg.Native public unsafe delegate void av_log_set_callback_callback(void* a0, AVLog level, [MarshalAs(UnmanagedType.LPUTF8Str)] string a2, byte* a3); - [DllImport(AvUtilLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern AVFrame* av_frame_alloc(); + [LibraryImport(AvUtilLibraryName)] + internal static unsafe partial AVFrame* av_frame_alloc(); - [DllImport(AvUtilLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern void av_frame_unref(AVFrame* frame); + [LibraryImport(AvUtilLibraryName)] + internal static unsafe partial void av_frame_unref(AVFrame* frame); - [DllImport(AvUtilLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern void av_free(AVFrame* frame); + [LibraryImport(AvUtilLibraryName)] + internal static unsafe partial void av_free(AVFrame* frame); - [DllImport(AvUtilLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern void av_log_set_level(AVLog level); + [LibraryImport(AvUtilLibraryName)] + internal static unsafe partial void av_log_set_level(AVLog level); - [DllImport(AvUtilLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern void av_log_set_callback(av_log_set_callback_callback callback); + [LibraryImport(AvUtilLibraryName)] + internal static unsafe partial void av_log_set_callback(av_log_set_callback_callback callback); - [DllImport(AvUtilLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern AVLog av_log_get_level(); + [LibraryImport(AvUtilLibraryName)] + internal static unsafe partial AVLog av_log_get_level(); - [DllImport(AvUtilLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern void av_log_format_line(void* ptr, AVLog level, [MarshalAs(UnmanagedType.LPUTF8Str)] string fmt, byte* vl, byte* line, int lineSize, int* printPrefix); + [LibraryImport(AvUtilLibraryName)] + internal static unsafe partial void av_log_format_line(void* ptr, AVLog level, [MarshalAs(UnmanagedType.LPUTF8Str)] string fmt, byte* vl, byte* line, int lineSize, int* printPrefix); - [DllImport(AvCodecLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern AVCodec* avcodec_find_decoder(AVCodecID id); + [LibraryImport(AvCodecLibraryName)] + internal static unsafe partial AVCodec* avcodec_find_decoder(AVCodecID id); - [DllImport(AvCodecLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern AVCodecContext* avcodec_alloc_context3(AVCodec* codec); + [LibraryImport(AvCodecLibraryName)] + internal static unsafe partial AVCodecContext* avcodec_alloc_context3(AVCodec* codec); - [DllImport(AvCodecLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern int avcodec_open2(AVCodecContext* avctx, AVCodec* codec, void **options); + [LibraryImport(AvCodecLibraryName)] + internal static unsafe partial int avcodec_open2(AVCodecContext* avctx, AVCodec* codec, void **options); - [DllImport(AvCodecLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern int avcodec_close(AVCodecContext* avctx); + [LibraryImport(AvCodecLibraryName)] + internal static unsafe partial int avcodec_close(AVCodecContext* avctx); - [DllImport(AvCodecLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern void avcodec_free_context(AVCodecContext** avctx); + [LibraryImport(AvCodecLibraryName)] + internal static unsafe partial void avcodec_free_context(AVCodecContext** avctx); - [DllImport(AvCodecLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern AVPacket* av_packet_alloc(); + [LibraryImport(AvCodecLibraryName)] + internal static unsafe partial AVPacket* av_packet_alloc(); - [DllImport(AvCodecLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern void av_packet_unref(AVPacket* pkt); + [LibraryImport(AvCodecLibraryName)] + internal static unsafe partial void av_packet_unref(AVPacket* pkt); - [DllImport(AvCodecLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern void av_packet_free(AVPacket** pkt); + [LibraryImport(AvCodecLibraryName)] + internal static unsafe partial void av_packet_free(AVPacket** pkt); - [DllImport(AvCodecLibraryName, CallingConvention = CallingConvention.Cdecl)] - internal static unsafe extern int avcodec_version(); + [LibraryImport(AvCodecLibraryName)] + internal static unsafe partial int avcodec_version(); } } -- cgit v1.2.3