6个版本 (重大变更)
0.6.0 | 2023年5月26日 |
---|---|
0.5.5 | 2023年3月23日 |
0.5.4 |
|
0.5.1 |
|
0.1.0 | 2021年2月13日 |
#239 in #driver
每月108次下载
1MB
19K SLoC
WinDivert 2 Rust包装器
注意:这是一个正在进行中的项目,因此,直到1.0.0版本发布之前,crates不会遵循语义版本,因此1.0.0以下版本的任何更改都可能引入API或crate使用中的重大更改。
此项目允许您从rust使用WinDivert。它由两个crates组成
windivert-sys
: 提供对WinDivert用户模式库原始绑定的crate。windivert
: (WIP) 基于windivert-sys
构建,提供更友好的Rust API和一些抽象。
构建
要构建windivert-sys
,您需要WinDivert库文件
- 建议使用
WINDIVERT_PATH
环境变量指定包含已下载dll、lib和sys文件的文件夹路径。 - 作为备用,如果启用了
vendored
功能,可以从源代码编译windivert dll和lib文件。为了避免多次编译,将WINDIVERT_DLL_OUTPUT
环境变量设置为保存生成的构建。 - 可以通过启用
static
功能编译为静态链接到windivert库。如果设置了WINDIVERT_STATIC
,也可以启用静态链接,并且它将优先于crate功能。 - 任何 vendoring 方法都只会编译库。sys文件必须始终提供。
使用方法
windivert-sys
使用与原生库相同的API。请参阅官方文档获取更多详细信息。windivert
WIP
注意:WinDivert DLL 需要相应的驱动 sys 文件位于同一文件夹中。由于从官方网站下载时 DLL lib 和 sys 文件位于同一文件夹中,windivert-sys
将在 WINDIVERT_PATH
提供的路径上搜索它。
依赖项
~132MB
~2M SLoC