Comments (1)
To use this library, I need to know that it has everything I need before downloading it. As long as it isn't 100% done, I am not using it (due to the fear of something missing).
I don't see why it's crucial that it has everything you need in order to use it at all. It's hardly mutually exclusive that you can either write P/Invokes yourself or use this library. You can do both. If you had 20 P/Invoke methods you needed and this library provided some of them, then that's some of them that you don't have to write yourself.
Of course, you can then write the missing ones in your own project. But per the contribution doc, you can choose to write those extra ones in this library and consume it immediately (not even waiting for your PR to be accepted) in your own project and thus this project grows organically based on the popularity of its APIs.
In my opinion, it is a non-goal to complete user32.dll or kernel32.dll. There simply isn't a need for some of these APIs. Take gdi32.dll for example: the only reasonable consumer for the full set of APIs in it would be someone writing a graphics framework like WinForms (not even WPF would use most of them). And catering to such an odd scenario isn't a productive use of active contributors' time. Focusing on APIs folks actually use will help more folks in general. And that might mean we have an average of 20% coverage of most libraries.
I think there are some areas that are more used than others (for instance shell32.dll, kernel32.dll and user32.dll). Could we start with these?
Any contributor that wants to add methods is of course very welcome to do so. So far, the active contributors we have have tended to add methods based on what they personally consume, which I think is a good model to follow because it will naturally grow based on demand/popularity of the APIs.
In the case of small, focused libraries such as BCrypt, I'm personally interested in reaching 100% coverage because I'll use most or all of them in PCLCrypto and 100% is a nice round number so I'd be willing to reach a bit further to finish it off.
from pinvoke.
Related Issues (20)
- Request: Better exception handling or documentation for CreateFile HOT 3
- Refresh packages on NuGet HOT 1
- Change NTSTATUS/HResult FACILITY_CODE to match CsWin32 definitions HOT 3
- No release / release notes for 0.7.124 HOT 1
- User32.InvalidateRect missing
- Refactor FacilityCode bitshift op to Facility properties
- MCG0037 error release build with Kernel32 HOT 3
- Support for .NET 6 to include in Maui? HOT 2
- User32+MOUSEINPUT.cs has the wrong type for mouseData
- `User32.EnumChildWindows` has wrong typed argument HOT 1
- Dwmapi DwmIsCompositionEnabled is missing HOT 1
- Init script exception calling "DownloadFile" 404 Not Found HOT 5
- Kernel32.QueryFullProcessImageName broken on Windows 7 HOT 2
- Type of DLGTEMPLATE HOT 1
- User32.SetLayeredWindowAttributes missing HOT 2
- DirectX Video Acceleration HOT 1
- Missing user32 DeleteMenu HOT 5
- Missing user32 RegisterHotKey HOT 2
- Add mpr.dll HOT 1
- Add support for mssign32.dll HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pinvoke.