Use GeneratedDllImport in Microsoft.Win32.SystemEvents (#61609)
authorElinor Fung <elfung@microsoft.com>
Mon, 15 Nov 2021 23:03:07 +0000 (15:03 -0800)
committerGitHub <noreply@github.com>
Mon, 15 Nov 2021 23:03:07 +0000 (16:03 -0700)
27 files changed:
src/libraries/Common/src/Interop/Windows/Kernel32/Interop.GetCurrentThreadId.cs
src/libraries/Common/src/Interop/Windows/Kernel32/Interop.GetModuleHandle.cs
src/libraries/Common/src/Interop/Windows/Kernel32/Interop.GetProcAddress.cs
src/libraries/Common/src/Interop/Windows/Kernel32/Interop.SetConsoleCtrlHandler.Delegate.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.CreateWindowEx.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.DefWindowProc.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.DestroyWindow.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.DispatchMessage.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.FindWindow.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.GetClassInfo.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.GetProcessWindowStation.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.GetUserObjectInformation.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.IsWindow.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.KillTimer.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.MsgWaitForMultipleObjectsEx.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.PeekMessage.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.RegisterClass.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.RegisterWindowMessage.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.SendMessage.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.SetClassLong.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.SetClassLongPtr.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.SetTimer.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.SetWindowLong.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.SetWindowLongPtr.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.TranslateMessage.cs
src/libraries/Common/src/Interop/Windows/User32/Interop.UnregisterClass.cs
src/libraries/Microsoft.Win32.SystemEvents/tests/Microsoft.Win32.SystemEvents.Tests.csproj

index e7a0ce9..651ee4a 100644 (file)
@@ -8,8 +8,8 @@ internal static partial class Interop
 {
     internal static partial class Kernel32
     {
-        [DllImport(Libraries.Kernel32, ExactSpelling = true)]
+        [GeneratedDllImport(Libraries.Kernel32, ExactSpelling = true)]
         [SuppressGCTransition]
-        public static extern int GetCurrentThreadId();
+        public static partial int GetCurrentThreadId();
     }
 }
index 99f35d7..ad1bbb9 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class Kernel32
     {
-        [DllImport(Libraries.Kernel32, EntryPoint = "GetModuleHandleW", CharSet = CharSet.Unicode, SetLastError = true)]
-        internal static extern IntPtr GetModuleHandle(string? moduleName);
+        [GeneratedDllImport(Libraries.Kernel32, EntryPoint = "GetModuleHandleW", CharSet = CharSet.Unicode, SetLastError = true)]
+        internal static partial IntPtr GetModuleHandle(string? moduleName);
     }
 }
index 2140505..cce63bf 100644 (file)
@@ -10,10 +10,10 @@ internal static partial class Interop
 {
     internal static partial class Kernel32
     {
-        [DllImport(Libraries.Kernel32, CharSet = CharSet.Ansi, BestFitMapping = false)]
-        public static extern IntPtr GetProcAddress(SafeLibraryHandle hModule, string lpProcName);
+        [GeneratedDllImport(Libraries.Kernel32, CharSet = CharSet.Ansi)]
+        public static partial IntPtr GetProcAddress(SafeLibraryHandle hModule, string lpProcName);
 
-        [DllImport(Libraries.Kernel32, CharSet = CharSet.Ansi, BestFitMapping = false)]
-        public static extern IntPtr GetProcAddress(IntPtr hModule, string lpProcName);
+        [GeneratedDllImport(Libraries.Kernel32, CharSet = CharSet.Ansi)]
+        public static partial IntPtr GetProcAddress(IntPtr hModule, string lpProcName);
     }
 }
index 159c264..64f516a 100644 (file)
@@ -11,7 +11,7 @@ internal static partial class Interop
     {
         internal delegate bool ConsoleCtrlHandlerRoutine(int controlType);
 
-        [DllImport(Libraries.Kernel32, SetLastError = true)]
-        internal static extern bool SetConsoleCtrlHandler(ConsoleCtrlHandlerRoutine handler, bool addOrRemove);
+        [GeneratedDllImport(Libraries.Kernel32, SetLastError = true)]
+        internal static partial bool SetConsoleCtrlHandler(ConsoleCtrlHandlerRoutine handler, bool addOrRemove);
     }
 }
index e68dfd5..98897d8 100644 (file)
@@ -8,8 +8,8 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true)]
-        public static extern IntPtr CreateWindowExW(
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)]
+        public static partial IntPtr CreateWindowExW(
             int exStyle,
             string lpszClassName,
             string lpszWindowName,
index 6b65400..16470a4 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
-        public static extern IntPtr DefWindowProcW(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
+        public static partial IntPtr DefWindowProcW(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);
     }
 }
index c1f6b0f..e54676b 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, ExactSpelling = true)]
-        public static extern bool DestroyWindow(IntPtr hWnd);
+        [GeneratedDllImport(Libraries.User32, ExactSpelling = true)]
+        public static partial bool DestroyWindow(IntPtr hWnd);
     }
 }
index 0ebea0e..4b3ed61 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
-        public static extern int DispatchMessageW([In] ref MSG msg);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
+        public static partial int DispatchMessageW(ref MSG msg);
     }
 }
index 550fc1f..e41de1e 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet=CharSet.Auto, ExactSpelling = true)]
-        public static extern IntPtr FindWindowW(string lpClassName, string lpWindowName);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
+        public static partial IntPtr FindWindowW(string lpClassName, string lpWindowName);
     }
 }
index 17804dc..680100d 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
-        public static extern bool GetClassInfoW(IntPtr hInst, string lpszClass, ref WNDCLASS wc);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
+        public static partial bool GetClassInfoW(IntPtr hInst, string lpszClass, ref WNDCLASS wc);
     }
 }
index d624e28..fe83921 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, ExactSpelling = true)]
-        internal static extern IntPtr GetProcessWindowStation();
+        [GeneratedDllImport(Libraries.User32, ExactSpelling = true)]
+        internal static partial IntPtr GetProcessWindowStation();
     }
 }
index 14d09b9..ad1e903 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, SetLastError = true, CharSet = CharSet.Unicode, ExactSpelling = true)]
-        public static extern unsafe bool GetUserObjectInformationW(IntPtr hObj, int nIndex, void* pvBuffer, uint nLength, ref uint lpnLengthNeeded);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)]
+        public static unsafe partial bool GetUserObjectInformationW(IntPtr hObj, int nIndex, void* pvBuffer, uint nLength, ref uint lpnLengthNeeded);
     }
 }
index 12e380c..6a179ac 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, ExactSpelling = true)]
-        public static extern bool IsWindow(IntPtr hWnd);
+        [GeneratedDllImport(Libraries.User32, ExactSpelling = true)]
+        public static partial bool IsWindow(IntPtr hWnd);
     }
 }
index 2de52e0..71fb4d2 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, ExactSpelling = true)]
-        public static extern bool KillTimer(IntPtr hwnd, IntPtr idEvent);
+        [GeneratedDllImport(Libraries.User32, ExactSpelling = true)]
+        public static partial bool KillTimer(IntPtr hwnd, IntPtr idEvent);
     }
 }
index 0b47d2b..8f1bf5d 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, ExactSpelling = true)]
-        public static extern int MsgWaitForMultipleObjectsEx(int nCount, IntPtr pHandles, int dwMilliseconds, int dwWakeMask, int dwFlags);
+        [GeneratedDllImport(Libraries.User32, ExactSpelling = true)]
+        public static partial int MsgWaitForMultipleObjectsEx(int nCount, IntPtr pHandles, int dwMilliseconds, int dwWakeMask, int dwFlags);
     }
 }
index 4571096..6bcfa14 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
-        public static extern bool PeekMessageW([In, Out] ref MSG msg, IntPtr hwnd, int msgMin, int msgMax, int remove);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
+        public static partial bool PeekMessageW(ref MSG msg, IntPtr hwnd, int msgMin, int msgMax, int remove);
     }
 }
index 270b0de..7067518 100644 (file)
@@ -7,7 +7,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true)]
-        public static extern short RegisterClassW(ref WNDCLASS wc);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)]
+        public static partial short RegisterClassW(ref WNDCLASS wc);
     }
 }
index df46561..978ccf8 100644 (file)
@@ -7,7 +7,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
-        public static extern int RegisterWindowMessageW(string msg);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
+        public static partial int RegisterWindowMessageW(string msg);
     }
 }
index aafb7c7..9fa455f 100644 (file)
@@ -8,8 +8,8 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
-        public static extern IntPtr SendMessageW(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
+        public static partial IntPtr SendMessageW(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);
 
         [DllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
         public static extern IntPtr SendMessageW(HandleRef hWnd, int msg, IntPtr wParam, IntPtr lParam);
index 1278d8b..03228c0 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
-        public static extern IntPtr SetClassLongW(IntPtr hwnd, int nIndex, IntPtr dwNewLong);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
+        public static partial IntPtr SetClassLongW(IntPtr hwnd, int nIndex, IntPtr dwNewLong);
     }
 }
index 2277ae1..5bcd1f3 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
-        public static extern IntPtr SetClassLongPtrW(IntPtr hwnd, int nIndex, IntPtr dwNewLong);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
+        public static partial IntPtr SetClassLongPtrW(IntPtr hwnd, int nIndex, IntPtr dwNewLong);
     }
 }
index 0049286..5c5f1cb 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, ExactSpelling = true)]
-        public static extern IntPtr SetTimer(IntPtr hWnd, IntPtr nIDEvent, int uElapse, IntPtr lpTimerProc);
+        [GeneratedDllImport(Libraries.User32, ExactSpelling = true)]
+        public static partial IntPtr SetTimer(IntPtr hWnd, IntPtr nIDEvent, int uElapse, IntPtr lpTimerProc);
     }
 }
index 669ff23..588270b 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
-        public static extern IntPtr SetWindowLongW(IntPtr hWnd, int nIndex, IntPtr dwNewLong);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
+        public static partial IntPtr SetWindowLongW(IntPtr hWnd, int nIndex, IntPtr dwNewLong);
     }
 }
index e9f915e..9bc08ca 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
-        public static extern IntPtr SetWindowLongPtrW(IntPtr hWnd, int nIndex, IntPtr dwNewLong);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true)]
+        public static partial IntPtr SetWindowLongPtrW(IntPtr hWnd, int nIndex, IntPtr dwNewLong);
     }
 }
index fe866df..be2a58c 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, ExactSpelling = true)]
-        public static extern bool TranslateMessage([In, Out] ref MSG msg);
+        [GeneratedDllImport(Libraries.User32, ExactSpelling = true)]
+        public static partial bool TranslateMessage(ref MSG msg);
     }
 }
index bf321d2..06a552c 100644 (file)
@@ -8,7 +8,7 @@ internal static partial class Interop
 {
     internal static partial class User32
     {
-        [DllImport(Libraries.User32, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true)]
-        public static extern short UnregisterClassW(string lpClassName, IntPtr hInstance);
+        [GeneratedDllImport(Libraries.User32, CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)]
+        public static partial short UnregisterClassW(string lpClassName, IntPtr hInstance);
     }
 }
index 9f54ccc..b74ffd4 100644 (file)
@@ -2,6 +2,8 @@
   <PropertyGroup>
     <TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetFrameworkMinimum)</TargetFrameworks>
     <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <EnableDllImportGenerator>true</EnableDllImportGenerator>
   </PropertyGroup>
   <ItemGroup>
     <Compile Include="$(CommonPath)Interop\Windows\Interop.Libraries.cs"