2个版本
0.0.0-2024-01-05 | 2024年1月5日 |
---|---|
0.0.0-2024-01-03 | 2024年1月3日 |
#148 in Windows API
350KB
2.5K SLoC
良好的文档,偏向安全的,稳健的,低级API绑定到HWND
相关的API。
存在理由
预期用途包括
- 构建更高级API的基础模块。
- 与现有的win32消耗型C或C++代码库进行互操作(增量RIIRing?)
- 直接用于需要额外抽象/高级API的场合。
按优先级排序,服务这些用例的目标是
- API应该尽可能稳健。
- 大量单元测试和/或文档测试以尝试破坏安全API。
- 彻底记录任何必须保持
unsafe
的函数或特质的文档。
- 尽可能保持与原始Windows类型和API的一对一映射。
- 与现有的C或C++代码库实现最大兼容性。
- 避免无休止的yak shaving。
- 通常不鼓励进行额外的错误检查/调试垃圾邮件,以免用户新的边缘情况感到惊讶,除非为了避免稳健性问题。
- 尽可能使API更安全。
- 通常仍需要一些
unsafe
来实现这些API。 - 消除完全稳健的API中的
unsafe
将使审核剩余的unsafe
代码更容易。
- 通常仍需要一些
- 提供出色的文档。
- 为一切提供Rust特定示例。
- 彻底记录边缘情况、错误代码等。
- 旨在比MSDN更好。
许可证
许可方式为以下两者之一
- Apache许可证版本2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确说明,否则根据Apache-2.0许可证定义的,你故意提交给作品中的任何贡献,都将如上所述双重许可,无任何附加条款或条件。
依赖项
~0–1.2MB
~11K SLoC