SaaSHub helps you find the best software and product alternatives Learn more →
Top 4 Rust Winapi Projects
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
solar-screen-brightness
Automatically adjust monitor / screen brightness at night using sunrise/sunset times
Project mention: Improving Interoperability Between Rust and C++ | news.ycombinator.com | 2024-02-05Vtables are pretty solved as well. I do a lot of Windows COM interop. Using the `windows` crate, vtables for COM interfaces are relegated to an implementation detail - instead you simply implement a (typically safe!) trait:
https://microsoft.github.io/windows-docs-rs/doc/windows/Win3...
Which can then be converted to a refcounted smart pointer:
https://microsoft.github.io/windows-docs-rs/doc/windows/Win3...
All driven by win32 sdk parsing and metadata.
But suppose we want to roll our own, because we tend to prefer `winapi` but it lacks definition. That's not too terrible either:
• https://github.com/MaulingMonkey/thindx-xaudio2/blob/master/...
• https://github.com/MaulingMonkey/thindx-xaudio2/blob/master/...
• https://github.com/MaulingMonkey/thindx-xaudio2/blob/master/...
I could more heavily lean on my macros ala `windows`, but I went the route of manual control for better doc comments, more explicit control of thread safety traits to match the existing C++ codebase, etc.
Is there some pointer casting? Yes. Is it annoying or likely to be what breaks? No. What is annoying?
• Stacked borrows and narrowing spatial provenance ( https://github.com/retep998/winapi-rs/issues/1025 - this can be "solved" by sticking to pointers ala `windows`, or by choosing a different provenance model like rustc might be doing?)
• Guarding against panics unwinding over an FFI boundary. This is at least being worked on, but remains unfinished ( https://rust-lang.github.io/rfcs/2945-c-unwind-abi.html )
• Edge case ABI weirdness specific to C++ methods ( https://devblogs.microsoft.com/oldnewthing/20220113-00/?p=10... , https://github.com/retep998/winapi-rs/issues/523 )
Rust Winapi related posts
- Rookie: extract every cookie
- I seen people say that () is similar to void in C. But what is similar to void*?
- Kernel Headers for Windows could soon make it into windows-rs
- More malware is shifting to Rust
- Your first Rust project: How bad was the first working version in the context of what you know about the language today? If given the ability to change those early days of learning Rust, what changes would you make?
- Noob question - Can I see what my used cargo crate has inside?
- Rust project recommendations
-
A note from our sponsor - SaaSHub
www.saashub.com | 25 Apr 2024
Index
What are some of the best open-source Winapi projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | winapi-rs | 1,786 |
2 | rookie | 86 |
3 | solar-screen-brightness | 52 |
4 | flac-lame-frontend | 11 |
Sponsored