[package]
edition = "2024"
rust-version = "1.90"
name = "windows-erg"
version = "0.1.0"
authors = ["Samuel Garces <samuel.garces@protonmail.com>"]
build = false
include = [
"src/**",
"examples/**",
"README.md",
"LICENSE",
"Cargo.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ergonomic, idiomatic Rust wrappers for Windows APIs"
documentation = "https://docs.rs/windows-erg"
readme = "README.md"
keywords = [
"windows",
"api",
"ergonomic",
"system",
"process",
]
categories = [
"os::windows-apis",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/secsamdev/windows-erg"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = [
"x86_64-pc-windows-msvc",
"aarch64-pc-windows-msvc",
]
[features]
default = []
full = ["serde"]
serde = ["dep:serde"]
[lib]
name = "windows_erg"
path = "src/lib.rs"
[[example]]
name = "desktop_tray_notification"
path = "examples/desktop_tray_notification.rs"
[[example]]
name = "desktop_windows"
path = "examples/desktop_windows.rs"
[[example]]
name = "etw_decoded_events"
path = "examples/etw_decoded_events.rs"
[[example]]
name = "etw_multi_provider"
path = "examples/etw_multi_provider.rs"
[[example]]
name = "etw_network_monitor"
path = "examples/etw_network_monitor.rs"
[[example]]
name = "etw_process_monitor"
path = "examples/etw_process_monitor.rs"
[[example]]
name = "etw_registry_monitor"
path = "examples/etw_registry_monitor.rs"
[[example]]
name = "etw_stop_with_wait"
path = "examples/etw_stop_with_wait.rs"
[[example]]
name = "etw_user_mode_provider"
path = "examples/etw_user_mode_provider.rs"
[[example]]
name = "evt_custom_parsing"
path = "examples/evt_custom_parsing.rs"
[[example]]
name = "evt_filter"
path = "examples/evt_filter.rs"
[[example]]
name = "evt_query_basic"
path = "examples/evt_query_basic.rs"
[[example]]
name = "evt_serde"
path = "examples/evt_serde.rs"
[[example]]
name = "evt_streaming"
path = "examples/evt_streaming.rs"
[[example]]
name = "pipes_list"
path = "examples/pipes_list.rs"
[[example]]
name = "process_basics"
path = "examples/process_basics.rs"
[[example]]
name = "process_metrics"
path = "examples/process_metrics.rs"
[[example]]
name = "process_mitigation"
path = "examples/process_mitigation.rs"
[[example]]
name = "process_monitoring"
path = "examples/process_monitoring.rs"
[[example]]
name = "process_spawn_parented"
path = "examples/process_spawn_parented.rs"
[[example]]
name = "process_tree"
path = "examples/process_tree.rs"
[[example]]
name = "process_wait_any"
path = "examples/process_wait_any.rs"
[[example]]
name = "proxy_for_url"
path = "examples/proxy_for_url.rs"
[[example]]
name = "proxy_system"
path = "examples/proxy_system.rs"
[[example]]
name = "raw_file_copy"
path = "examples/raw_file_copy.rs"
[[example]]
name = "registry_basics"
path = "examples/registry_basics.rs"
[[example]]
name = "registry_convenience"
path = "examples/registry_convenience.rs"
[[example]]
name = "registry_enumerate"
path = "examples/registry_enumerate.rs"
[[example]]
name = "registry_operations"
path = "examples/registry_operations.rs"
[[example]]
name = "registry_safe_access"
path = "examples/registry_safe_access.rs"
[[example]]
name = "registry_write"
path = "examples/registry_write.rs"
[[example]]
name = "security_permissions"
path = "examples/security_permissions.rs"
[[example]]
name = "service_basics"
path = "examples/service_basics.rs"
[[example]]
name = "service_enumerate"
path = "examples/service_enumerate.rs"
[[example]]
name = "system_snapshot"
path = "examples/system_snapshot.rs"
[[example]]
name = "wait_multi_object"
path = "examples/wait_multi_object.rs"
[dependencies.quick-xml]
version = "0.39"
features = ["serialize"]
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.windows]
version = "0.58"
features = [
"Win32_System_Threading",
"Win32_System_Diagnostics_Debug",
"Win32_System_Diagnostics_ToolHelp",
"Win32_System_Environment",
"Win32_System_ProcessStatus",
"Win32_System_Memory",
"Win32_System_SystemInformation",
"Win32_System_Registry",
"Win32_System_Kernel",
"Win32_System_Pipes",
"Win32_System_SystemServices",
"Win32_System_Services",
"Win32_System_IO",
"Win32_System_Ioctl",
"Win32_System_LibraryLoader",
"Wdk_Foundation",
"Wdk_Storage_FileSystem",
"Wdk_System_Threading",
"Win32_Security",
"Win32_Security_Authorization",
"Win32_System_EventLog",
"Win32_System_Diagnostics_Etw",
"Win32_System_Time",
"Win32_Storage_FileSystem",
"Win32_NetworkManagement_IpHelper",
"Win32_NetworkManagement_Ndis",
"Win32_NetworkManagement_WindowsFirewall",
"Win32_Networking_WinSock",
"Win32_Networking_WinInet",
"Win32_Networking_WinHttp",
"Win32_Foundation",
"Win32_UI_Shell",
"Win32_UI_WindowsAndMessaging",
"Win32_Graphics_Gdi",
"Win32_Graphics_Dwm",
"Win32_System_Com",
]
[dev-dependencies.tempfile]
version = "3.8"
[profile.dev]
opt-level = 0
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true