3个版本
0.1.3 | 2022年10月7日 |
---|---|
0.1.2 | 2022年9月30日 |
0.1.0 | 2022年2月21日 |
#202 in Windows API
139 每月下载量
在 7 个crate中(通过 winresult)使用
1.5MB
22K SLoC
🦀 winresult - windows结果代码 🦀
Windows结果代码的调试友好类型。
为什么?
-
u32
错误码在使用dbg!(...)
时很麻烦。winresult
有出色的Debug
实现。 -
u32
错误码在调试器中查看时很麻烦。winresult
有出色的*.natvis文件。使用natvis-pdbs
! -
在
match
中使用ERROR_WHATEVER
只是一个警告。ERROR::WHATEVER
是一个硬错误。
(我仍然会用#![deny)
。) -
ERROR_INVALID_FUNCTION
==S_FALSE
(==1
)。太弱了! -
ERROR_FILE_NOT_FOUND
(2)是一团糟。一个函数或GetLastError
可能会返回标签 值 备注 ERROR_FILE_NOT_FOUND
0x00000002
不是 HRESULT
(应该是“成功的”)HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
0x80070002
hresult.info "错误地" 将 ERROR_*
标识为以下内容NTSTATUS_FROM_WIN32(ERROR_FILE_NOT_FOUND)
0xC0070002
不知道 NtStatus
值被频繁地推入GetLastError
,但我已经见过更奇怪的情况D3D10_ERROR_FILE_NOT_FOUND
0x88790002
不同的设施,相同的代码 D3D11_ERROR_FILE_NOT_FOUND
0x887C0002
不同的设施,相同的代码
许可证
根据您的选择,许可协议可以是以下之一
- Apache License, Version 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的任何有意提交以包含在作品中的贡献,都应以上述方式双许可,而不附加任何额外条款或条件。
依赖关系
~0.4–0.9MB
~19K SLoC