headers: fix IAsyncAction definition in windows.foundation
diff --git a/mingw-w64-headers/include/windows.foundation.h b/mingw-w64-headers/include/windows.foundation.h
index d5eb590..0cc7bd2 100644
--- a/mingw-w64-headers/include/windows.foundation.h
+++ b/mingw-w64-headers/include/windows.foundation.h
@@ -381,7 +381,7 @@
     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;
@@ -430,6 +430,25 @@
         __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,
+        enum __x_ABI_CWindows_CFoundation_CAsyncStatus *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,
@@ -459,6 +478,12 @@
 #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)
@@ -484,6 +509,22 @@
 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,enum __x_ABI_CWindows_CFoundation_CAsyncStatus *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);
@@ -518,7 +559,7 @@
             AsyncActionCompletedHandler : public IUnknown
             {
                 virtual HRESULT STDMETHODCALLTYPE Invoke(
-                    IInspectable *asyncAction,
+                    IAsyncAction *asyncAction,
                     enum AsyncStatus status) = 0;
 
             };
@@ -548,7 +589,7 @@
     /*** AsyncActionCompletedHandler methods ***/
     HRESULT (STDMETHODCALLTYPE *Invoke)(
         __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler *This,
-        IInspectable *asyncAction,
+        __x_ABI_CWindows_CFoundation_CIAsyncAction *asyncAction,
         enum __x_ABI_CWindows_CFoundation_CAsyncStatus status);
 
     END_INTERFACE
@@ -578,7 +619,7 @@
     return This->lpVtbl->Release(This);
 }
 /*** AsyncActionCompletedHandler methods ***/
-static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Invoke(__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler* This,IInspectable *asyncAction,enum __x_ABI_CWindows_CFoundation_CAsyncStatus status) {
+static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Invoke(__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler* This,__x_ABI_CWindows_CFoundation_CIAsyncAction *asyncAction,enum __x_ABI_CWindows_CFoundation_CAsyncStatus 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 9962df9..fa76a44 100644
--- a/mingw-w64-headers/include/windows.foundation.idl
+++ b/mingw-w64-headers/include/windows.foundation.idl
@@ -55,7 +55,7 @@
     }
 
     [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 @@
     [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?