From ccda6c47128d2b056067f2e1f40771b0b9076743 Mon Sep 17 00:00:00 2001 From: Clemens Wasser Date: Fri, 14 Apr 2023 18:56:24 +0200 Subject: [PATCH] Fix winapi type definition change --- src/timer/windows_timer.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/timer/windows_timer.rs b/src/timer/windows_timer.rs index 97e12f3..84ffac5 100644 --- a/src/timer/windows_timer.rs +++ b/src/timer/windows_timer.rs @@ -48,12 +48,14 @@ pub struct CPUTimer { impl CPUTimer { pub unsafe fn start_suspended_process(child: &process::Child) -> Self { + let child_handle = child.as_raw_handle().cast(); + // SAFETY: Creating a new job object is safe let job_object = unsafe { CreateJobObjectW(ptr::null_mut(), ptr::null_mut()) }; assert!(!job_object.is_null(), "CreateJobObjectW failed"); // SAFETY: The job object handle is valid - let ret = unsafe { AssignProcessToJobObject(job_object, child.as_raw_handle()) }; + let ret = unsafe { AssignProcessToJobObject(job_object, child_handle) }; assert!(ret != 0, "AssignProcessToJobObject failed"); #[cfg(windows_process_extensions_main_thread_handle)] @@ -70,7 +72,7 @@ impl CPUTimer { // resume a process by it's handle. // SAFETY: The process handle is valid - let ret = unsafe { NtResumeProcess(child.as_raw_handle()) }; + let ret = unsafe { NtResumeProcess(child_handle) }; assert!(ret == STATUS_SUCCESS, "NtResumeProcess failed"); }