13个版本
0.0.11 | 2020年2月22日 |
---|---|
0.0.10 | 2020年2月22日 |
0.0.9 | 2020年1月31日 |
0.0.3 | 2019年8月18日 |
0.0.2 | 2019年7月22日 |
#109 in Windows API
每月下载量 44
用于vanadium
89KB
2K SLoC
fenestroj
为winapi提供更易用的封装。
所有封装都保持在与winapi
相同的方式中,使用功能门控模块。
约定
- 名称
- 蛇形函数名:
GetLastError
变为get_last_error
- 如果某个
winapi
函数有A和W变体,则使用W变体,不包含"_w"后缀:GetMessageW
变为get_message
- 一些函数是此crate的新工具,它们的名称不与任何
winapi
名称冲突。
- 蛇形函数名:
- 参数
- 尽可能使用枚举。
- 如果有“明显”的默认值供用户计算,则有时使用
Option
,它将为您执行计算。 - 具有大量参数的函数被转换为接受单个结构体,其中每个参数都有一个字段,这样您就不必完美地记住顺序。
- 返回值
- 尽可能使用
bool
、Option
或Result
。 - 尽可能将数值代码封装为newtype:例如,错误值
u32
被封装在pub struct ErrorCode(pub u32)
- 尽可能使用
- 安全性
- 所有内容都仍然是
unsafe
,直到可以进行关于涉及到的安全性的仔细调查。 - 调查过程通常是“询问WinBun并希望他们不会太忙而无法回答”。
- 所有内容都仍然是
依赖项
~235KB