3个版本
0.1.2 | 2024年7月29日 |
---|---|
0.1.1 | 2024年7月28日 |
0.1.0 | 2024年7月28日 |
#58 在 Windows API
每月下载量 328次
24KB
289 行
Sambrs
围绕 WNetAddConnection2A
和 WNetCancelConnection2A
的小巧便捷包装。目标是提供一个易于使用的接口,以连接到Windows上的SMB网络共享。
Sam -> SMB -> Rust -> Samba 已被占用? -> sambrs
特性
- 连接到SMB网络共享的简单且便捷的接口。
- 支持指定本地Windows挂载点。
- 选项以持久连接跨用户登录会话。
- 交互模式用于密码提示。
安装
将以下内容添加到您的 Cargo.toml
[dependencies]
sambrs = "0.1"
用法
使用可选的本地Windows挂载点实例化一个 SmbShare
并建立连接。
在调用连接方法时,您可以选择在用户登录会话之间持久连接并启用交互模式。交互模式将阻塞,直到用户提供正确的密码或取消,导致 Canceled
错误。
use sambrs::SmbShare;
fn main() {
let share = SmbShare::new(r"\\server\share", "user", "pass", Some('D'));
match share.connect(false, false) {
Ok(()) => println!("Connected successfully!"),
Err(e) => eprintln!("Failed to connect: {}", e),
}
// use std::fs as if D:\ was a local directory
dbg!(std::fs::metadata(r"D:\").unwrap().is_dir());
}
许可证
本项目采用MIT许可证。有关更多详细信息,请参阅LICENSE 文件。
特别感谢
特别感谢 Christian Visintin 对其有关在Windows上使用Rust访问SMB共享的博客文章的信息。如果您需要跨多个协议工作的功能齐全的远程文件访问解决方案,您绝对应该查看他的项目remotefs。
依赖项
~13–21MB
~272K SLoC