From: "Bernhard Kölbl" Subject: [PATCH 02/11] include/windows.foundation.idl: Add IAsyncAction interface. Message-Id: <20220119132819.18340-3-besentv@gmail.com> Date: Wed, 19 Jan 2022 14:28:10 +0100 In-Reply-To: <20220119132819.18340-1-besentv@gmail.com> References: <20220119132819.18340-1-besentv@gmail.com> Signed-off-by: Bernhard Kölbl --- include/windows.foundation.idl | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/include/windows.foundation.idl b/include/windows.foundation.idl index 292522f2c49..0fa86ec315c 100644 --- a/include/windows.foundation.idl +++ b/include/windows.foundation.idl @@ -27,6 +27,12 @@ import "windowscontracts.idl"; /* import "ivectorchangedeventargs.idl"; */ import "windows.foundation.collections.idl"; +namespace Windows { + namespace Foundation { + interface IAsyncAction; + } +} + namespace Windows { namespace Foundation { typedef enum PropertyType PropertyType; @@ -36,6 +42,12 @@ namespace Windows { typedef struct DateTime DateTime; typedef struct TimeSpan TimeSpan; + [ + contract(Windows.Foundation.FoundationContract, 1.0), + uuid(a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7) + ] + delegate HRESULT AsyncActionCompletedHandler([in] Windows.Foundation.IAsyncAction *action, [in] AsyncStatus status); + [contract(Windows.Foundation.FoundationContract, 1.0)] enum PropertyType { Empty = 0, @@ -128,6 +140,17 @@ namespace Windows { { HRESULT Close(); } + + [ + contract(Windows.Foundation.FoundationContract, 1.0), + uuid(5a648006-843a-4da9-865b-9d26e5dfad7b) + ] + interface IAsyncAction : IInspectable + { + [propput] HRESULT Completed([in] Windows.Foundation.AsyncActionCompletedHandler *handler); + [propget] HRESULT Completed([out, retval] Windows.Foundation.AsyncActionCompletedHandler **handler); + HRESULT GetResults(); + } } } -- 2.34.1