include/windows.foundation.idl: Add IAsyncAction interface.

Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Bernhard Kölbl 2022-01-31 13:51:46 +01:00 committed by Alexandre Julliard
parent d3f51b1d28
commit f89774a79f
1 changed files with 24 additions and 0 deletions

View File

@ -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,18 @@ namespace Windows {
{
HRESULT Close();
}
[
contract(Windows.Foundation.FoundationContract, 1.0),
uuid(5a648006-843a-4da9-865b-9d26e5dfad7b)
]
interface IAsyncAction : IInspectable
requires IAsyncInfo
{
[propput] HRESULT Completed([in] Windows.Foundation.AsyncActionCompletedHandler *handler);
[propget] HRESULT Completed([out, retval] Windows.Foundation.AsyncActionCompletedHandler **handler);
HRESULT GetResults();
}
}
}