Condividi tramite


IAsyncInfo Interfaccia

Definizione

Supporta azioni e operazioni asincrone. IAsyncInfo è un'interfaccia di base per IAsyncAction, IAsyncActionWithProgress<TProgress>, IAsyncOperation<<TResult> e IAsyncOperationWithProgress<TResult,TProgress>, ognuno dei quali supporta combinazioni di tipo restituito e stato di avanzamento per un metodo asincrono.

public interface class IAsyncInfo
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(54, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70)]
struct IAsyncInfo
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(54, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70)]
public interface IAsyncInfo
Public Interface IAsyncInfo
Derivato
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (è stato introdotto in v1.0)

Commenti

IAsyncInfo è un'interfaccia ereditata per ognuna delle 4 interfacce di Windows Runtime usate per il supporto asincrono dei metodi. Di seguito sono riportati i seguenti:

Quando usi metodi asincroni nel codice dell'app, in genere non vedi alcuna di queste interfacce come valore restituito. Ciò è dovuto al fatto che si usa quasi sempre la sintassi awaitable specifica del linguaggio, che gestisce internamente le interfacce. Per altre informazioni, vedere Programmazione asincronao una delle guide specifiche del linguaggio alla programmazione asincrona di Windows Runtime (Chiamare API asincrone in C# o Visual Basic, C++, JavaScript).

Per la maggior parte del codice dell'app, non è raro usare IAsyncInfo come API anche se non si usa una sintassi awaitable. Ogni linguaggio include punti di estensione che sono in genere più facili da usare rispetto all'interfaccia Windows RuntimeIAsyncInfo. JavaScript ha la sintassi successiva. .NET dispone del metodo di estensione AsTask e, dopo che l' IAsyncAction viene convertito in un Task, è più facile annullare, ricevere notifiche al completamento e così via. Per C++/CX, è possibile eseguire il wrapping delle chiamate usando il runtime di concorrenza . In altre parole, IAsyncInfo è un'infrastruttura a livello di runtime, che ogni linguaggio usa come framework per supportare la sintassi awaitable nel proprio modo.

Se si implementa un'azione personalizzata o un'operazione personalizzata (uno scenario avanzato) non implementare direttamente IAsyncA ction. Implementare invece una delle 4 interfacce elencate in precedenza.

Proprietà

ErrorCode

Ottiene una stringa che descrive una condizione di errore dell'operazione asincrona.

Id

Ottiene l'handle dell'operazione asincrona.

Status

Ottiene un valore che indica lo stato dell'operazione asincrona.

Metodi

Cancel()

Annulla l'operazione asincrona.

Close()

Chiude l'operazione asincrona.

Si applica a

Vedi anche