diff --git a/Cargo.lock b/Cargo.lock index 7aa9c7448..49e5b19b4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6368,7 +6368,7 @@ name = "sysevent-winevent" version = "0.0.0" dependencies = [ "sysevent", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] diff --git a/crates/sysevent-winevent/Cargo.toml b/crates/sysevent-winevent/Cargo.toml index 029a8d7e5..db747e68a 100644 --- a/crates/sysevent-winevent/Cargo.toml +++ b/crates/sysevent-winevent/Cargo.toml @@ -10,9 +10,10 @@ publish = false [dependencies] sysevent.path = "../sysevent" -windows-sys = { version = "0.52", features = [ +windows-sys = { version = "0.61", features = [ "Win32_System_EventLog", - "Win32_Foundation" + "Win32_Foundation", + "Win32_Security", ] } [lints] diff --git a/crates/sysevent-winevent/src/lib.rs b/crates/sysevent-winevent/src/lib.rs index 5e720f6ef..1ba2d7718 100644 --- a/crates/sysevent-winevent/src/lib.rs +++ b/crates/sysevent-winevent/src/lib.rs @@ -6,7 +6,7 @@ use std::sync::Arc; use sysevent::{Entry, Severity, SysEventError, SystemEventSink}; use windows_sys::Win32::System::EventLog; -type EventLogHandle = windows_sys::Win32::Foundation::HANDLE; +type EventLogHandle = usize; /// Windows Event Log backend implementation. #[derive(Debug)] @@ -32,7 +32,7 @@ impl WinEvent { } Ok(Self { - handle: Arc::new(handle), + handle: Arc::new(handle as EventLogHandle), }) } @@ -97,7 +97,7 @@ impl WinEvent { // - binary data pointer is null with size 0 let success = unsafe { EventLog::ReportEventW( - *self.handle, + *self.handle as windows_sys::Win32::Foundation::HANDLE, event_type, 0, // category event_id, @@ -132,10 +132,10 @@ impl SystemEventSink for WinEvent { impl Drop for WinEvent { fn drop(&mut self) { - if *self.handle != windows_sys::Win32::Foundation::INVALID_HANDLE_VALUE { + if *self.handle != windows_sys::Win32::Foundation::INVALID_HANDLE_VALUE as EventLogHandle { // SAFETY: DeregisterEventSource is thread-safe and idempotent. unsafe { - EventLog::DeregisterEventSource(*self.handle); + EventLog::DeregisterEventSource(*self.handle as windows_sys::Win32::Foundation::HANDLE); } } }