Represents an asynchronous operation, which returns a result upon completion. This is the return type for many Windows Runtime asynchronous methods that have results but don't report progress.
public : interface IAsyncOperation<TResult> : IAsyncInfo
struct winrt::Windows::Foundation::IAsyncOperation<TResult> : IAsyncInfo
public interface IAsyncOperation<TResult> : IAsyncInfo
Public Interface IAsyncOperation<TResult> Implements IAsyncInfo
Windows 10 (introduced v10.0.10240.0)
Windows.Foundation.FoundationContract (introduced v1)
IAsyncOperation; is the return type for many Windows Runtime asynchronous methods that have a result upon completion, but don't report progress. This constitutes over 650 different Windows Runtime APIs. APIs that do report progress (and have a result) use another interface, IAsyncOperationWithProgress;.
Instead of using IAsyncOperation;, some Windows Runtime asynchronous methods use custom operation types. For example, DataReaderLoadOperation is a Windows Runtime type that implements IAsyncOperation using uint as the result type. The DataReaderLoadOperation type is then used as the custom operation/result type for the DataReader.LoadAsync method.
Notes to implementers
As with calling the existing methods, there are language-specific ways to define asynchronous methods that don't use IAsyncOperation; directly. If writing code using .NET, your method can return a Task<TResult>. For C++/CX, you can use the Concurrency runtime. However, if you're defining a component, you can use Task/task internally but you must return one of the Windows Runtime interfaces for your public methods. The language-specific asynchronous support types (and many other language-specific types you might conventionally use in code) can't be used for the public surface area of a Windows Runtime component.
|Completed Completed Completed Completed Completed||
Gets or sets the method that handles the operation completed notification.
|ErrorCode ErrorCode ErrorCode ErrorCode ErrorCode||
Gets a string that describes an error condition of the asynchronous operation.(Inherited from IAsyncInfo)
|Id Id Id Id Id||
Gets the handle of the asynchronous operation.(Inherited from IAsyncInfo)
|Status Status Status Status Status||
Gets a value that indicates the status of the asynchronous operation.(Inherited from IAsyncInfo)
|Cancel Cancel Cancel Cancel Cancel||
Cancels the asynchronous operation.(Inherited from IAsyncInfo)
|Close Close Close Close Close||
Closes the asynchronous operation.(Inherited from IAsyncInfo)
|GetResults() GetResults() GetResults() GetResults() GetResults()||
Returns the results of the operation.