Crate windows_future

Source
Expand description

§Windows async types

The windows-future crate provides stock async support for Windows APIs.

Start by adding the following to your Cargo.toml file:

[dependencies.windows-future]
version = "0.1"

Use the Windows async types as needed:

use windows_future::*;
use windows_result::*;

fn main() -> Result<()> {
    // This result will be available immediately.
    let ready = IAsyncOperation::ready(Ok(123));
    assert_eq!(ready.get()?, 123);

    let ready = IAsyncOperation::spawn(|| {
        // Some lengthy operation goes here...
        Ok(456)
    });

    assert_eq!(ready.get()?, 456);

    Ok(())
}

Structs§

AsyncActionCompletedHandler
AsyncActionCompletedHandler_Vtbl
AsyncActionProgressHandler
AsyncActionProgressHandler_Vtbl
AsyncActionWithProgressCompletedHandler
AsyncActionWithProgressCompletedHandler_Vtbl
AsyncOperationCompletedHandler
AsyncOperationCompletedHandler_Vtbl
AsyncOperationProgressHandler
AsyncOperationProgressHandler_Vtbl
AsyncOperationWithProgressCompletedHandler
AsyncOperationWithProgressCompletedHandler_Vtbl
AsyncStatus
IAsyncAction
IAsyncActionWithProgress
IAsyncActionWithProgress_Vtbl
IAsyncAction_Vtbl
IAsyncInfo
IAsyncInfo_Vtbl
IAsyncOperation
IAsyncOperationWithProgress
IAsyncOperationWithProgress_Vtbl
IAsyncOperation_Vtbl

Traits§

IAsyncActionWithProgress_Impl
IAsyncAction_Impl
IAsyncInfo_Impl
IAsyncOperationWithProgress_Impl
IAsyncOperation_Impl