9个版本 (5个破坏性版本)
0.10.0 | 2023年5月26日 |
---|---|
0.9.2 | 2023年3月23日 |
0.9.0 |
|
0.8.0 | 2022年1月29日 |
0.5.2 | 2021年2月7日 |
#370 在 #driver
每月120 次下载
在 windivert 中使用
785KB
18K SLoC
WinDivert 2 Rust包装器
注意:这是一个进行中的工作,因此直到1.0.0版本发布,crates将不会遵循语义版本控制,因此1.0.0以下版本的变化可能会在API或crates的一般使用中引入破坏性更改。
此项目允许您从rust中使用WinDivert。它包含两个crates
windivert-sys
: 提供对WinDivert用户模式库原始绑定的crates。windivert
: (WIP) 基于windivert-sys
构建,提供更友好的Rust API和一些抽象。
构建
为了构建windivert-sys
,您需要WinDivert库文件
- 建议使用
WINDIVERT_PATH
环境变量指定包含下载的dll、lib和sys文件的文件夹路径。 - 作为备用,如果启用了
vendored
功能,可以编译windivert的dll和lib文件。为了避免多次编译,将WINDIVERT_DLL_OUTPUT
环境变量设置为保存生成的构建。 - 可以通过启用 静态 功能来编译为与 windivert 库静态链接。如果设置了
WINDIVERT_STATIC
,也可以启用静态链接,并且它比 crate 特性具有更高的优先级。 - 任何 vendoring 方法都只会编译库。必须始终提供 sys 文件。
用法
windivert-sys
使用与原生库相同的 API。阅读官方文档获取更多详细信息。windivert
WIP
注意:WinDivert dll 预期相应的驱动 sys 文件位于同一文件夹中。由于从官方网页下载时 dll lib 和 sys 文件位于同一文件夹,因此 windivert-sys
将在 WINDIVERT_PATH
提供的路径上搜索它。
依赖关系
~129MB
~2M SLoC