diff --git a/Cargo.lock b/Cargo.lock index 19a8062..11a9c2c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -38,7 +38,6 @@ version = "0.1.0" dependencies = [ "rand", "windows", - "windows-future", "windows-numerics", ] @@ -125,9 +124,9 @@ dependencies = [ [[package]] name = "windows" -version = "0.60.0" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf874e74c7a99773e62b1c671427abf01a425e77c3d3fb9fb1e4883ea934529" +checksum = "9579d0e6970fd5250aa29aba5994052385ff55cf7b28a059e484bb79ea842e42" dependencies = [ "windows-collections", "windows-core", @@ -138,18 +137,18 @@ dependencies = [ [[package]] name = "windows-collections" -version = "0.1.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5467f79cc1ba3f52ebb2ed41dbb459b8e7db636cc3429458d9a852e15bc24dec" +checksum = "a90dd7a7b86859ec4cdf864658b311545ef19dbcf17a672b52ab7cefe80c336f" dependencies = [ "windows-core", ] [[package]] name = "windows-core" -version = "0.60.1" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca21a92a9cae9bf4ccae5cf8368dce0837100ddf6e6d57936749e85f152f6247" +checksum = "57fe7168f7de578d2d8a05b07fd61870d2e73b4020e9f49aa00da8471723497c" dependencies = [ "windows-implement", "windows-interface", @@ -160,19 +159,20 @@ dependencies = [ [[package]] name = "windows-future" -version = "0.1.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a787db4595e7eb80239b74ce8babfb1363d8e343ab072f2ffe901400c03349f0" +checksum = "b2194dee901458cb79e1148a4e9aac2b164cc95fa431891e7b296ff0b2f1d8a6" dependencies = [ "windows-core", "windows-link", + "windows-threading", ] [[package]] name = "windows-implement" -version = "0.59.0" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83577b051e2f49a058c308f17f273b570a6a758386fc291b5f6a934dd84e48c1" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", @@ -181,9 +181,9 @@ dependencies = [ [[package]] name = "windows-interface" -version = "0.59.0" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb26fd936d991781ea39e87c3a27285081e3c0da5ca0fcbc02d368cc6f52ff01" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", @@ -192,15 +192,15 @@ dependencies = [ [[package]] name = "windows-link" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" +checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" [[package]] name = "windows-numerics" -version = "0.1.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "005dea54e2f6499f2cee279b8f703b3cf3b5734a2d8d21867c8f44003182eeed" +checksum = "2ce3498fe0aba81e62e477408383196b4b0363db5e0c27646f932676283b43d8" dependencies = [ "windows-core", "windows-link", @@ -208,18 +208,18 @@ dependencies = [ [[package]] name = "windows-result" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06374efe858fab7e4f881500e6e86ec8bc28f9462c47e5a9941a0142ad86b189" +checksum = "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f" dependencies = [ "windows-link", ] [[package]] name = "windows-strings" -version = "0.3.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" +checksum = "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda" dependencies = [ "windows-link", ] @@ -240,6 +240,15 @@ dependencies = [ "windows_x86_64_msvc", ] +[[package]] +name = "windows-threading" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab47f085ad6932defa48855254c758cdd0e2f2d48e62a34118a268d8f345e118" +dependencies = [ + "windows-link", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.5" diff --git a/Cargo.toml b/Cargo.toml index d6cf9c2..2b32a4d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,11 +6,10 @@ edition = "2021" [dependencies] rand = "0.9" -windows-numerics = "0.1" -windows-future = "0.1" +windows-numerics = "0.3" [dependencies.windows] -version = "0.60.0" +version = "0.62.0" features = [ "Graphics", "System", diff --git a/src/interop.rs b/src/interop.rs index aa23e32..653244c 100644 --- a/src/interop.rs +++ b/src/interop.rs @@ -12,7 +12,6 @@ use windows::{ }, }, }; -use windows_future::AsyncActionCompletedHandler; pub fn create_dispatcher_queue_controller( thread_type: DISPATCHERQUEUE_THREAD_TYPE, @@ -35,13 +34,9 @@ pub fn shutdown_dispatcher_queue_controller_and_wait( controller: &DispatcherQueueController, exit_code: i32, ) -> Result { - let async_action = controller.ShutdownQueueAsync()?; - async_action.SetCompleted(&AsyncActionCompletedHandler::new( - move |_, _| -> Result<()> { - unsafe { PostQuitMessage(exit_code) }; - Ok(()) - }, - ))?; + controller + .ShutdownQueueAsync()? + .when(move |_| unsafe { PostQuitMessage(exit_code) })?; let mut message = MSG::default(); unsafe {