Jeremy Kuhne
Jeremy Kuhne
## Description This is coming up more and more with users porting from .NET Framework to .NET Core and looks like it might become critical for 3.0. For example: https://github.com/dotnet/corefx/issues/22101....
We've been using enums to wrap `typedef`s from Windows. For example: ``` C typedef int BOOL; ``` We're [wrapping as](https://github.com/dotnet/winforms/blob/master/src/Common/src/Interop/Interop.BOOL.cs): ``` C# public enum BOOL : int { FALSE =...
In [`Application.InitializeComCtlSupportsVisualStyles()`] we're scraping for known exports to determine the version of common controls that is available. That's error prone and why they've added `DllGetVersion` to the various shell dlls....
We have a number of collections in WinForms that are currently untyped but also attempt to disallow nulls (either in the collections themselves or in the consumers). We have an...
There are two components to this. The first is relatively easy- we need helpers and some examples to view GDI calls generated when rendering to a `Graphics` object. The second...
This issue is for tracking usage of source generators for interop. The Runtime is considering implementing P/Invoke support through source generators: https://github.com/dotnet/runtime/blob/master/docs/design/features/source-generator-pinvokes.md We should also be exploring is implementing common...
Function pointers provide better performance. Creating this issue to discuss utilizing them in Windows Forms interop. Things we should consider / look at: - Win32 callbacks - High usage COM...
There is a need to get platform specific information regarding files. Some data can be abstracted cross plat relatively easily, but other info cannot. One possibility is to add interfaces...
This turns a number of the code analyzers into warnings and fixes them. Most of the outstanding messages are fixed. It wasn't particularly easy to break this up as the...
Theory tests should preferably use the `TheoryData` pattern where possible. We have several hundred hits for the analyzer for this currently (`xUnit1042`). The analyzer is disabled in the `.editorconfig` file...