IAsyncAction inherits from IAsyncInfo as described at [1].
[1] https://docs.microsoft.com/en-us/uwp/api/windows.foundation.iasyncaction
---
.../include/windows.foundation.h | 49 +++++++++++++++++--
.../include/windows.foundation.idl | 4 +-
2 files changed, 47 insertions(+), 6 deletions(-)
diff --git a/mingw-w64-headers/include/windows.foundation.h
b/mingw-w64-headers/include/windows.foundation.h
index 607a9c49..840ec22b 100644
--- a/mingw-w64-headers/include/windows.foundation.h
+++ b/mingw-w64-headers/include/windows.foundation.h
@@ -391,7 +391,7 @@ namespace ABI {
namespace Windows {
namespace Foundation {
MIDL_INTERFACE("5a648006-843a-4da9-865b-9d26e5dfad7b")
- IASyncAction : public IInspectable
+ IASyncAction : public IAsyncInfo
{
virtual HRESULT STDMETHODCALLTYPE put_Completed(
AsyncActionCompletedHandler *handler) = 0;
@@ -440,6 +440,25 @@ typedef struct
__x_ABI_CWindows_CFoundation_CIASyncActionVtbl {
__x_ABI_CWindows_CFoundation_CIASyncAction *This,
TrustLevel *trustLevel);
+ /*** IAsyncInfo methods ***/
+ HRESULT (STDMETHODCALLTYPE *get_Id)(
+ __x_ABI_CWindows_CFoundation_CIASyncAction *This,
+ unsigned int *id);
+
+ HRESULT (STDMETHODCALLTYPE *get_Status)(
+ __x_ABI_CWindows_CFoundation_CIASyncAction *This,
+ AsyncStatus *status);
+
+ HRESULT (STDMETHODCALLTYPE *get_ErrorCode)(
+ __x_ABI_CWindows_CFoundation_CIASyncAction *This,
+ HRESULT *errorCode);
+
+ HRESULT (STDMETHODCALLTYPE *Cancel)(
+ __x_ABI_CWindows_CFoundation_CIASyncAction *This);
+
+ HRESULT (STDMETHODCALLTYPE *Close)(
+ __x_ABI_CWindows_CFoundation_CIASyncAction *This);
+
/*** IASyncAction methods ***/
HRESULT (STDMETHODCALLTYPE *put_Completed)(
__x_ABI_CWindows_CFoundation_CIASyncAction *This,
@@ -469,6 +488,12 @@ interface __x_ABI_CWindows_CFoundation_CIASyncAction {
#define __x_ABI_CWindows_CFoundation_CIASyncAction_GetIids(This,iidCount,iids)
(This)->lpVtbl->GetIids(This,iidCount,iids)
#define
__x_ABI_CWindows_CFoundation_CIASyncAction_GetRuntimeClassName(This,className)
(This)->lpVtbl->GetRuntimeClassName(This,className)
#define
__x_ABI_CWindows_CFoundation_CIASyncAction_GetTrustLevel(This,trustLevel)
(This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IAsyncInfo methods ***/
+#define __x_ABI_CWindows_CFoundation_CIASyncAction_get_Id(This,id)
(This)->lpVtbl->get_Id(This,id)
+#define __x_ABI_CWindows_CFoundation_CIASyncAction_get_Status(This,status)
(This)->lpVtbl->get_Status(This,status)
+#define
__x_ABI_CWindows_CFoundation_CIASyncAction_get_ErrorCode(This,errorCode)
(This)->lpVtbl->get_ErrorCode(This,errorCode)
+#define __x_ABI_CWindows_CFoundation_CIASyncAction_Cancel(This)
(This)->lpVtbl->Cancel(This)
+#define __x_ABI_CWindows_CFoundation_CIASyncAction_Close(This)
(This)->lpVtbl->Close(This)
/*** IASyncAction methods ***/
#define __x_ABI_CWindows_CFoundation_CIASyncAction_put_Completed(This,handler)
(This)->lpVtbl->put_Completed(This,handler)
#define __x_ABI_CWindows_CFoundation_CIASyncAction_get_Completed(This,handler)
(This)->lpVtbl->get_Completed(This,handler)
@@ -494,6 +519,22 @@ static FORCEINLINE HRESULT
__x_ABI_CWindows_CFoundation_CIASyncAction_GetRuntime
static FORCEINLINE HRESULT
__x_ABI_CWindows_CFoundation_CIASyncAction_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIASyncAction*
This,TrustLevel *trustLevel) {
return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
+/*** IAsyncInfo methods ***/
+static FORCEINLINE HRESULT
__x_ABI_CWindows_CFoundation_CIASyncAction_get_Id(__x_ABI_CWindows_CFoundation_CIASyncAction*
This,unsigned int *id) {
+ return This->lpVtbl->get_Id(This,id);
+}
+static FORCEINLINE HRESULT
__x_ABI_CWindows_CFoundation_CIASyncAction_get_Status(__x_ABI_CWindows_CFoundation_CIASyncAction*
This,AsyncStatus *status) {
+ return This->lpVtbl->get_Status(This,status);
+}
+static FORCEINLINE HRESULT
__x_ABI_CWindows_CFoundation_CIASyncAction_get_ErrorCode(__x_ABI_CWindows_CFoundation_CIASyncAction*
This,HRESULT *errorCode) {
+ return This->lpVtbl->get_ErrorCode(This,errorCode);
+}
+static FORCEINLINE HRESULT
__x_ABI_CWindows_CFoundation_CIASyncAction_Cancel(__x_ABI_CWindows_CFoundation_CIASyncAction*
This) {
+ return This->lpVtbl->Cancel(This);
+}
+static FORCEINLINE HRESULT
__x_ABI_CWindows_CFoundation_CIASyncAction_Close(__x_ABI_CWindows_CFoundation_CIASyncAction*
This) {
+ return This->lpVtbl->Close(This);
+}
/*** IASyncAction methods ***/
static FORCEINLINE HRESULT
__x_ABI_CWindows_CFoundation_CIASyncAction_put_Completed(__x_ABI_CWindows_CFoundation_CIASyncAction*
This,__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler *handler) {
return This->lpVtbl->put_Completed(This,handler);
@@ -527,7 +568,7 @@ namespace ABI {
AsyncActionCompletedHandler : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Invoke(
- IInspectable *asyncAction,
+ IAsyncAction *asyncAction,
AsyncStatus status) = 0;
};
@@ -557,7 +598,7 @@ typedef struct
__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandlerVtbl {
/*** AsyncActionCompletedHandler methods ***/
HRESULT (STDMETHODCALLTYPE *Invoke)(
__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler *This,
- IInspectable *asyncAction,
+ __x_ABI_CWindows_CFoundation_CIAsyncAction *asyncAction,
AsyncStatus status);
END_INTERFACE
@@ -587,7 +628,7 @@ static FORCEINLINE ULONG
__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandl
return This->lpVtbl->Release(This);
}
/*** AsyncActionCompletedHandler methods ***/
-static FORCEINLINE HRESULT
__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Invoke(__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler*
This,IInspectable *asyncAction,AsyncStatus status) {
+static FORCEINLINE HRESULT
__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Invoke(__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler*
This,__x_ABI_CWindows_CFoundation_CIAsyncAction *asyncAction,AsyncStatus
status) {
return This->lpVtbl->Invoke(This,asyncAction,status);
}
#endif
diff --git a/mingw-w64-headers/include/windows.foundation.idl
b/mingw-w64-headers/include/windows.foundation.idl
index 9962df91..fa76a44d 100644
--- a/mingw-w64-headers/include/windows.foundation.idl
+++ b/mingw-w64-headers/include/windows.foundation.idl
@@ -55,7 +55,7 @@ namespace Windows {
}
[uuid(5A648006-843A-4DA9-865B-9D26E5DFAD7B)]
- interface IASyncAction : IInspectable {
+ interface IASyncAction : IAsyncInfo {
[propput] HRESULT Completed(AsyncActionCompletedHandler* handler);
[propget] HRESULT Completed(AsyncActionCompletedHandler** handler);
HRESULT GetResults();
@@ -64,7 +64,7 @@ namespace Windows {
[uuid(A4ED5C81-76C9-40BD-8BE6-B1D90FB20AE7)]
interface AsyncActionCompletedHandler : IUnknown {
//FIXME: should support cyclic dependency
- HRESULT Invoke(/*IAsyncAction*/ IInspectable *asyncAction, AsyncStatus
status);
+ HRESULT Invoke(IAsyncAction *asyncAction, AsyncStatus status);
}
//FIXME: WHERE IS IT?
--
2.29.2
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public