#bindings #ffi #driver

windivert

围绕 windivert-sys 的包装库

6个版本 (重大变更)

0.6.0 2023年5月26日
0.5.5 2023年3月23日
0.5.4 2023年1月7日
0.5.1 2022年12月21日
0.1.0 2021年2月13日

#239 in #driver

Download history 29/week @ 2024-03-31 12/week @ 2024-04-07 40/week @ 2024-04-14 215/week @ 2024-04-21 36/week @ 2024-04-28 1/week @ 2024-05-05 42/week @ 2024-05-12 2/week @ 2024-05-19 31/week @ 2024-05-26 13/week @ 2024-06-02 5/week @ 2024-06-09 1/week @ 2024-06-16 34/week @ 2024-06-23 67/week @ 2024-06-30 5/week @ 2024-07-07

每月108次下载

LGPL-3.0-or-later

1MB
19K SLoC

C 16K SLoC // 0.1% comments Rust 2.5K SLoC // 0.1% comments Visual Studio Project 448 SLoC // 0.5% comments Shell 215 SLoC // 0.3% comments Batch 98 SLoC // 0.4% comments Bitbake 8 SLoC

WinDivert 2 Rust包装器

GitHub

注意:这是一个正在进行中的项目,因此,直到1.0.0版本发布之前,crates不会遵循语义版本,因此1.0.0以下版本的任何更改都可能引入API或crate使用中的重大更改。

此项目允许您从rust使用WinDivert。它由两个crates组成

  • windivert-sys crates.io docs dependency status: 提供对WinDivert用户模式库原始绑定的crate。
  • windivert crates.io docs dependency status: (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