Since widl cannot generate templated variants (and it would need to know the
UUID of each variant) we can generate an equivalent of the template result.
---
 mingw-w64-headers/include/windows.storage.h   | 344 ++++++++++++++++--
 mingw-w64-headers/include/windows.storage.idl |  45 ++-
 2 files changed, 341 insertions(+), 48 deletions(-)

diff --git a/mingw-w64-headers/include/windows.storage.h 
b/mingw-w64-headers/include/windows.storage.h
index f5917b79..7ffc8136 100644
--- a/mingw-w64-headers/include/windows.storage.h
+++ b/mingw-w64-headers/include/windows.storage.h
@@ -18,6 +18,34 @@
 
 /* Forward declarations */
 
+#ifndef 
____x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_FWD_DEFINED__
+typedef interface 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            interface IAsyncOperationCompletedHandler_IStorageFile;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef ____x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_FWD_DEFINED__
+#define ____x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            interface IAsyncOperation_IStorageFile;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
 #define ____x_ABI_CWindows_CStorage_CIStorageItem_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CIStorageItem 
__x_ABI_CWindows_CStorage_CIStorageItem;
@@ -196,6 +224,7 @@ namespace ABI {
 extern "C" {
 #endif
 
+/* TODO: map custom template names to MSVC ones */
 #ifndef ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
 #define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CFoundation_CIAsyncAction 
__x_ABI_CWindows_CFoundation_CIAsyncAction;
@@ -410,6 +439,34 @@ namespace ABI {
 #endif /* __cplusplus */
 #endif
 
+#ifndef ____x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_FWD_DEFINED__
+#define ____x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            interface IAsyncOperation_IStorageFile;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef 
____x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_FWD_DEFINED__
+typedef interface 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            interface IAsyncOperationCompletedHandler_IStorageFile;
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 typedef enum NameCollisionoption {
     NameCollisionoption_GenerateUniqueName = 0,
     NameCollisionoption_ReplaceExisting = 1,
@@ -450,6 +507,221 @@ typedef enum FileAccessMode {
     FileAccessMode_Read = 0,
     FileAccessMode_ReadWrite = 1
 } FileAccessMode;
+/*****************************************************************************
+ * IAsyncOperationCompletedHandler_IStorageFile interface
+ */
+#ifndef 
____x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_INTERFACE_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile,
 0xe521c894, 0x2c26, 0x5946, 0x9e,0x61, 0x2b,0x5e,0x18,0x8d,0x01,0xed);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            MIDL_INTERFACE("e521c894-2c26-5946-9e61-2b5e188d01ed")
+            IAsyncOperationCompletedHandler_IStorageFile : public IUnknown
+            {
+                virtual HRESULT STDMETHODCALLTYPE Invoke(
+                    IStorageFile *asyncInfo,
+                    AsyncStatus asyncStatus) = 0;
+
+            };
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ABI::Windows::Storage::IAsyncOperationCompletedHandler_IStorageFile,
 0xe521c894, 0x2c26, 0x5946, 0x9e,0x61, 0x2b,0x5e,0x18,0x8d,0x01,0xed)
+#endif
+#else
+typedef struct 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFileVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile *This);
+
+    /*** IAsyncOperationCompletedHandler_IStorageFile methods ***/
+    HRESULT (STDMETHODCALLTYPE *Invoke)(
+        
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile *This,
+        __x_ABI_CWindows_CStorage_CIStorageFile *asyncInfo,
+        AsyncStatus asyncStatus);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFileVtbl;
+
+interface 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile {
+    CONST_VTBL 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFileVtbl* 
lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_QueryInterface(This,riid,ppvObject)
 (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_AddRef(This)
 (This)->lpVtbl->AddRef(This)
+#define 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_Release(This)
 (This)->lpVtbl->Release(This)
+/*** IAsyncOperationCompletedHandler_IStorageFile methods ***/
+#define 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_Invoke(This,asyncInfo,asyncStatus)
 (This)->lpVtbl->Invoke(This,asyncInfo,asyncStatus)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_QueryInterface(__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile*
 This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_AddRef(__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile*
 This) {
+    return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_Release(__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile*
 This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IAsyncOperationCompletedHandler_IStorageFile methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_Invoke(__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile*
 This,__x_ABI_CWindows_CStorage_CIStorageFile *asyncInfo,AsyncStatus 
asyncStatus) {
+    return This->lpVtbl->Invoke(This,asyncInfo,asyncStatus);
+}
+#endif
+#endif
+
+#endif
+
+#endif  /* 
____x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile_INTERFACE_DEFINED__
 */
+
+/*****************************************************************************
+ * IAsyncOperation_IStorageFile interface
+ */
+#ifndef 
____x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_INTERFACE_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            interface IAsyncOperation_IStorageFile : public IInspectable
+            {
+                virtual HRESULT STDMETHODCALLTYPE put_Completed(
+                    IAsyncOperationCompletedHandler_IStorageFile *handler) = 0;
+
+                virtual HRESULT STDMETHODCALLTYPE get_Completed(
+                    IAsyncOperationCompletedHandler_IStorageFile **handler) = 
0;
+
+                virtual HRESULT STDMETHODCALLTYPE GetResults(
+                    IStorageFile **result) = 0;
+
+            };
+        }
+    }
+}
+extern "C" {
+#else
+typedef struct __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFileVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile *This,
+        TrustLevel *trustLevel);
+
+    /*** IAsyncOperation_IStorageFile methods ***/
+    HRESULT (STDMETHODCALLTYPE *put_Completed)(
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile *This,
+        
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile 
*handler);
+
+    HRESULT (STDMETHODCALLTYPE *get_Completed)(
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile *This,
+        
__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile 
**handler);
+
+    HRESULT (STDMETHODCALLTYPE *GetResults)(
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile *This,
+        __x_ABI_CWindows_CStorage_CIStorageFile **result);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFileVtbl;
+
+interface __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile {
+    CONST_VTBL __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFileVtbl* 
lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_QueryInterface(This,riid,ppvObject)
 (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_AddRef(This) 
(This)->lpVtbl->AddRef(This)
+#define __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_Release(This) 
(This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_GetIids(This,iidCount,iids)
 (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_GetRuntimeClassName(This,className)
 (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_GetTrustLevel(This,trustLevel)
 (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IAsyncOperation_IStorageFile methods ***/
+#define 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_put_Completed(This,handler)
 (This)->lpVtbl->put_Completed(This,handler)
+#define 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_get_Completed(This,handler)
 (This)->lpVtbl->get_Completed(This,handler)
+#define 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_GetResults(This,result) 
(This)->lpVtbl->GetResults(This,result)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_QueryInterface(__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile*
 This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_AddRef(__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile*
 This) {
+    return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_Release(__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile*
 This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_GetIids(__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile*
 This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile*
 This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_GetTrustLevel(__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile*
 This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IAsyncOperation_IStorageFile methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_put_Completed(__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile*
 This,__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile 
*handler) {
+    return This->lpVtbl->put_Completed(This,handler);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_get_Completed(__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile*
 This,__x_ABI_CWindows_CStorage_CIAsyncOperationCompletedHandler_IStorageFile 
**handler) {
+    return This->lpVtbl->get_Completed(This,handler);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_GetResults(__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile*
 This,__x_ABI_CWindows_CStorage_CIStorageFile **result) {
+    return This->lpVtbl->GetResults(This,result);
+}
+#endif
+#endif
+
+#endif
+
+#endif  /* 
____x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile_INTERFACE_DEFINED__ */
+
 /*****************************************************************************
  * IStorageItem interface
  */
@@ -866,35 +1138,35 @@ namespace ABI {
             {
                 virtual HRESULT STDMETHODCALLTYPE GetFileFromPathAsync(
                     HSTRING path,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE 
GetFileFromApplicationUriAsync(
                     IInspectable *uri,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE CreateStreamedFileAsync(
                     HSTRING displayNameWithExtension,
                     StreamedFileDataRequestedHandler *dataRequested,
                     IInspectable *thumbnail,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE ReplaceWithStreamedFileAsync(
                     IStorageFile *fileToReplace,
                     StreamedFileDataRequestedHandler *dataRequested,
                     IInspectable *thumbnail,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE 
CreateStreamedFileFromUriAsync(
                     HSTRING displayNameWithExtension,
                     IInspectable *uri,
                     IInspectable *thumbnail,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE 
ReplaceWithStreamedFileFromUriAsync(
                     IStorageFile *fileToReplace,
                     IInspectable *uri,
                     IInspectable *thumbnail,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
             };
         }
@@ -938,40 +1210,40 @@ typedef struct 
__x_ABI_CWindows_CStorage_CIStorageFileStaticsVtbl {
     HRESULT (STDMETHODCALLTYPE *GetFileFromPathAsync)(
         __x_ABI_CWindows_CStorage_CIStorageFileStatics *This,
         HSTRING path,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     HRESULT (STDMETHODCALLTYPE *GetFileFromApplicationUriAsync)(
         __x_ABI_CWindows_CStorage_CIStorageFileStatics *This,
         IInspectable *uri,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     HRESULT (STDMETHODCALLTYPE *CreateStreamedFileAsync)(
         __x_ABI_CWindows_CStorage_CIStorageFileStatics *This,
         HSTRING displayNameWithExtension,
         __x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler 
*dataRequested,
         IInspectable *thumbnail,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     HRESULT (STDMETHODCALLTYPE *ReplaceWithStreamedFileAsync)(
         __x_ABI_CWindows_CStorage_CIStorageFileStatics *This,
         __x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace,
         __x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler 
*dataRequested,
         IInspectable *thumbnail,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     HRESULT (STDMETHODCALLTYPE *CreateStreamedFileFromUriAsync)(
         __x_ABI_CWindows_CStorage_CIStorageFileStatics *This,
         HSTRING displayNameWithExtension,
         IInspectable *uri,
         IInspectable *thumbnail,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     HRESULT (STDMETHODCALLTYPE *ReplaceWithStreamedFileFromUriAsync)(
         __x_ABI_CWindows_CStorage_CIStorageFileStatics *This,
         __x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace,
         IInspectable *uri,
         IInspectable *thumbnail,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     END_INTERFACE
 } __x_ABI_CWindows_CStorage_CIStorageFileStaticsVtbl;
@@ -1019,22 +1291,22 @@ static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_GetTru
     return This->lpVtbl->GetTrustLevel(This,trustLevel);
 }
 /*** IStorageFileStatics methods ***/
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_GetFileFromPathAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,HSTRING path,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_GetFileFromPathAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,HSTRING path,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile 
**operation) {
     return This->lpVtbl->GetFileFromPathAsync(This,path,operation);
 }
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_GetFileFromApplicationUriAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,IInspectable *uri,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_GetFileFromApplicationUriAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,IInspectable *uri,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile 
**operation) {
     return This->lpVtbl->GetFileFromApplicationUriAsync(This,uri,operation);
 }
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_CreateStreamedFileAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,HSTRING 
displayNameWithExtension,__x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler
 *dataRequested,IInspectable *thumbnail,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_CreateStreamedFileAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,HSTRING 
displayNameWithExtension,__x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler
 *dataRequested,IInspectable 
*thumbnail,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation) 
{
     return 
This->lpVtbl->CreateStreamedFileAsync(This,displayNameWithExtension,dataRequested,thumbnail,operation);
 }
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_ReplaceWithStreamedFileAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,__x_ABI_CWindows_CStorage_CIStorageFile 
*fileToReplace,__x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler 
*dataRequested,IInspectable *thumbnail,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_ReplaceWithStreamedFileAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,__x_ABI_CWindows_CStorage_CIStorageFile 
*fileToReplace,__x_ABI_CWindows_CStorage_CStreamedFileDataRequestedHandler 
*dataRequested,IInspectable 
*thumbnail,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation) 
{
     return 
This->lpVtbl->ReplaceWithStreamedFileAsync(This,fileToReplace,dataRequested,thumbnail,operation);
 }
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_CreateStreamedFileFromUriAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,HSTRING displayNameWithExtension,IInspectable *uri,IInspectable 
*thumbnail,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_CreateStreamedFileFromUriAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,HSTRING displayNameWithExtension,IInspectable *uri,IInspectable 
*thumbnail,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation) 
{
     return 
This->lpVtbl->CreateStreamedFileFromUriAsync(This,displayNameWithExtension,uri,thumbnail,operation);
 }
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_ReplaceWithStreamedFileFromUriAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,__x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace,IInspectable 
*uri,IInspectable *thumbnail,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFileStatics_ReplaceWithStreamedFileFromUriAsync(__x_ABI_CWindows_CStorage_CIStorageFileStatics*
 This,__x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace,IInspectable 
*uri,IInspectable 
*thumbnail,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation) 
{
     return 
This->lpVtbl->ReplaceWithStreamedFileFromUriAsync(This,fileToReplace,uri,thumbnail,operation);
 }
 #endif
@@ -1074,18 +1346,18 @@ namespace ABI {
 
                 virtual HRESULT STDMETHODCALLTYPE 
CopyOverloadDefaultNameAndOptions(
                     IStorageFolder *destinationFolder,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE CopyOverloadDefaultOptions(
                     IStorageFolder *destinationFolder,
                     HSTRING desiredNewName,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE CopyOverload(
                     IStorageFolder *destinationFolder,
                     HSTRING desiredNewName,
                     NameCollisionOption option,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE CopyAndReplaceAsync(
                     IStorageFile *fileToReplace,
@@ -1169,20 +1441,20 @@ typedef struct 
__x_ABI_CWindows_CStorage_CIStorageFileVtbl {
     HRESULT (STDMETHODCALLTYPE *CopyOverloadDefaultNameAndOptions)(
         __x_ABI_CWindows_CStorage_CIStorageFile *This,
         __x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     HRESULT (STDMETHODCALLTYPE *CopyOverloadDefaultOptions)(
         __x_ABI_CWindows_CStorage_CIStorageFile *This,
         __x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,
         HSTRING desiredNewName,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     HRESULT (STDMETHODCALLTYPE *CopyOverload)(
         __x_ABI_CWindows_CStorage_CIStorageFile *This,
         __x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,
         HSTRING desiredNewName,
         NameCollisionOption option,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     HRESULT (STDMETHODCALLTYPE *CopyAndReplaceAsync)(
         __x_ABI_CWindows_CStorage_CIStorageFile *This,
@@ -1276,13 +1548,13 @@ static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFile_OpenAsync(__x
 static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFile_OpenTransactedWriteAsync(__x_ABI_CWindows_CStorage_CIStorageFile*
 This,IInspectable **operation) {
     return This->lpVtbl->OpenTransactedWriteAsync(This,operation);
 }
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFile_CopyOverloadDefaultNameAndOptions(__x_ABI_CWindows_CStorage_CIStorageFile*
 This,__x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,IInspectable 
**operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFile_CopyOverloadDefaultNameAndOptions(__x_ABI_CWindows_CStorage_CIStorageFile*
 This,__x_ABI_CWindows_CStorage_CIStorageFolder 
*destinationFolder,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile 
**operation) {
     return 
This->lpVtbl->CopyOverloadDefaultNameAndOptions(This,destinationFolder,operation);
 }
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFile_CopyOverloadDefaultOptions(__x_ABI_CWindows_CStorage_CIStorageFile*
 This,__x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,HSTRING 
desiredNewName,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFile_CopyOverloadDefaultOptions(__x_ABI_CWindows_CStorage_CIStorageFile*
 This,__x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,HSTRING 
desiredNewName,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile 
**operation) {
     return 
This->lpVtbl->CopyOverloadDefaultOptions(This,destinationFolder,desiredNewName,operation);
 }
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFile_CopyOverload(__x_ABI_CWindows_CStorage_CIStorageFile*
 This,__x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,HSTRING 
desiredNewName,NameCollisionOption option,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFile_CopyOverload(__x_ABI_CWindows_CStorage_CIStorageFile*
 This,__x_ABI_CWindows_CStorage_CIStorageFolder *destinationFolder,HSTRING 
desiredNewName,NameCollisionOption 
option,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation) {
     return 
This->lpVtbl->CopyOverload(This,destinationFolder,desiredNewName,option,operation);
 }
 static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFile_CopyAndReplaceAsync(__x_ABI_CWindows_CStorage_CIStorageFile*
 This,__x_ABI_CWindows_CStorage_CIStorageFile *fileToReplace,IInspectable 
**operation) {
@@ -1324,12 +1596,12 @@ namespace ABI {
             {
                 virtual HRESULT STDMETHODCALLTYPE 
CreateFileAsyncOverloadDefaultOptions(
                     HSTRING desiredName,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE CreateFileAsync(
                     HSTRING desiredName,
                     CreationCollisionOption options,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE 
CreateFolderAsyncOverloadDefaultOptions(
                     HSTRING desiredName,
@@ -1342,7 +1614,7 @@ namespace ABI {
 
                 virtual HRESULT STDMETHODCALLTYPE GetFileAsync(
                     HSTRING name,
-                    IInspectable **operation) = 0;
+                    IAsyncOperation_IStorageFile **operation) = 0;
 
                 virtual HRESULT STDMETHODCALLTYPE GetFolderAsync(
                     HSTRING name,
@@ -1403,13 +1675,13 @@ typedef struct 
__x_ABI_CWindows_CStorage_CIStorageFolderVtbl {
     HRESULT (STDMETHODCALLTYPE *CreateFileAsyncOverloadDefaultOptions)(
         __x_ABI_CWindows_CStorage_CIStorageFolder *This,
         HSTRING desiredName,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     HRESULT (STDMETHODCALLTYPE *CreateFileAsync)(
         __x_ABI_CWindows_CStorage_CIStorageFolder *This,
         HSTRING desiredName,
         CreationCollisionOption options,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     HRESULT (STDMETHODCALLTYPE *CreateFolderAsyncOverloadDefaultOptions)(
         __x_ABI_CWindows_CStorage_CIStorageFolder *This,
@@ -1425,7 +1697,7 @@ typedef struct 
__x_ABI_CWindows_CStorage_CIStorageFolderVtbl {
     HRESULT (STDMETHODCALLTYPE *GetFileAsync)(
         __x_ABI_CWindows_CStorage_CIStorageFolder *This,
         HSTRING name,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation);
 
     HRESULT (STDMETHODCALLTYPE *GetFolderAsync)(
         __x_ABI_CWindows_CStorage_CIStorageFolder *This,
@@ -1499,10 +1771,10 @@ static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFolder_GetTrustLev
     return This->lpVtbl->GetTrustLevel(This,trustLevel);
 }
 /*** IStorageFolder methods ***/
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsyncOverloadDefaultOptions(__x_ABI_CWindows_CStorage_CIStorageFolder*
 This,HSTRING desiredName,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsyncOverloadDefaultOptions(__x_ABI_CWindows_CStorage_CIStorageFolder*
 This,HSTRING 
desiredName,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile 
**operation) {
     return 
This->lpVtbl->CreateFileAsyncOverloadDefaultOptions(This,desiredName,operation);
 }
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsync(__x_ABI_CWindows_CStorage_CIStorageFolder*
 This,HSTRING desiredName,CreationCollisionOption options,IInspectable 
**operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFolder_CreateFileAsync(__x_ABI_CWindows_CStorage_CIStorageFolder*
 This,HSTRING desiredName,CreationCollisionOption 
options,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile **operation) {
     return This->lpVtbl->CreateFileAsync(This,desiredName,options,operation);
 }
 static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFolder_CreateFolderAsyncOverloadDefaultOptions(__x_ABI_CWindows_CStorage_CIStorageFolder*
 This,HSTRING desiredName,IInspectable **operation) {
@@ -1511,7 +1783,7 @@ static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFolder_CreateFolde
 static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFolder_CreateFolderAsync(__x_ABI_CWindows_CStorage_CIStorageFolder*
 This,HSTRING desiredName,CreationCollisionOption options,IInspectable 
**operation) {
     return This->lpVtbl->CreateFolderAsync(This,desiredName,options,operation);
 }
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFolder_GetFileAsync(__x_ABI_CWindows_CStorage_CIStorageFolder*
 This,HSTRING name,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFolder_GetFileAsync(__x_ABI_CWindows_CStorage_CIStorageFolder*
 This,HSTRING name,__x_ABI_CWindows_CStorage_CIAsyncOperation_IStorageFile 
**operation) {
     return This->lpVtbl->GetFileAsync(This,name,operation);
 }
 static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CIStorageFolder_GetFolderAsync(__x_ABI_CWindows_CStorage_CIStorageFolder*
 This,HSTRING name,IInspectable **operation) {
diff --git a/mingw-w64-headers/include/windows.storage.idl 
b/mingw-w64-headers/include/windows.storage.idl
index 15e74084..383f1c22 100644
--- a/mingw-w64-headers/include/windows.storage.idl
+++ b/mingw-w64-headers/include/windows.storage.idl
@@ -12,6 +12,8 @@ import "inspectable.idl";
 import "hstring.idl";
 import "windows.foundation.idl";
 
+cpp_quote("/* TODO: map custom template names to MSVC ones */")
+
 namespace Windows {
   namespace Foundation {
     interface IAsyncAction;
@@ -36,6 +38,9 @@ namespace Windows {
     interface IStorageFile;
     interface IStorageFileStatics;
     interface StreamedFileDataRequestedHandler; // delegate
+
+    interface IAsyncOperation_IStorageFile; // IAsyncOperation<StorageFile*>
+    interface IAsyncOperationCompletedHandler_IStorageFile; // delegate  
AsyncOperationCompletedHandler<StorageFile*>
   }
 }
 
@@ -89,6 +94,22 @@ namespace Windows {
       ReadWrite
     } FileAccessMode;
 
+    [uuid("e521c894-2c26-5946-9e61-2b5e188d01ed")]
+    interface IAsyncOperationCompletedHandler_IStorageFile : IUnknown 
+    // non template version of AsyncActionCompletedHandler<StorageFile*>
+    {
+      HRESULT Invoke(IStorageFile* asyncInfo, Windows.Foundation.AsyncStatus 
asyncStatus);
+    }
+
+    []
+    interface IAsyncOperation_IStorageFile : IInspectable 
+    // non template version of IAsyncInfo<StorageFile*>
+    {
+      [propput] HRESULT 
Completed(IAsyncOperationCompletedHandler_IStorageFile* handler);
+      [propget] HRESULT 
Completed(IAsyncOperationCompletedHandler_IStorageFile** handler);
+      HRESULT GetResults(IStorageFile** result);
+    }
+
     [uuid(4207A996-CA2F-42F7-BDE8-8B10457A7F30)]
     interface IStorageItem : IInspectable
     {
@@ -119,12 +140,12 @@ namespace Windows {
     [uuid(5984C710-DAF2-43C8-8BB4-A4D3EACFD03F)]
     interface IStorageFileStatics : IInspectable
     {
-        HRESULT GetFileFromPathAsync(HSTRING path, /* 
IAsyncOperation<StorageFile> ** */ IInspectable** operation);
-        HRESULT GetFileFromApplicationUriAsync(/* Uri* */ IInspectable* uri, 
/* IAsyncOperation<StorageFile> ** */ IInspectable** operation);
-        HRESULT CreateStreamedFileAsync(HSTRING displayNameWithExtension, 
StreamedFileDataRequestedHandler* dataRequested, 
/*IRandomAccessStreamReference* */ IInspectable* thumbnail, /* 
IAsyncOperation<StorageFile> ** */ IInspectable** operation);
-        HRESULT ReplaceWithStreamedFileAsync(IStorageFile* fileToReplace, 
StreamedFileDataRequestedHandler* dataRequested, 
/*IRandomAccessStreamReference* */ IInspectable* thumbnail, /* 
IAsyncOperation<StorageFile> ** */ IInspectable** operation);
-        HRESULT CreateStreamedFileFromUriAsync(HSTRING 
displayNameWithExtension, /* Uri* */ IInspectable* uri, 
/*IRandomAccessStreamReference* */ IInspectable* thumbnail, /* 
IAsyncOperation<StorageFile> ** */ IInspectable** operation);
-        HRESULT ReplaceWithStreamedFileFromUriAsync(IStorageFile* 
fileToReplace, /* Uri* */ IInspectable* uri, /*IRandomAccessStreamReference* */ 
IInspectable* thumbnail, /* IAsyncOperation<StorageFile> ** */ IInspectable** 
operation);
+        HRESULT GetFileFromPathAsync(HSTRING path, 
IAsyncOperation_IStorageFile** operation);
+        HRESULT GetFileFromApplicationUriAsync(/* Uri* */ IInspectable* uri, 
IAsyncOperation_IStorageFile** operation);
+        HRESULT CreateStreamedFileAsync(HSTRING displayNameWithExtension, 
StreamedFileDataRequestedHandler* dataRequested, 
/*IRandomAccessStreamReference* */ IInspectable* thumbnail, 
IAsyncOperation_IStorageFile** operation);
+        HRESULT ReplaceWithStreamedFileAsync(IStorageFile* fileToReplace, 
StreamedFileDataRequestedHandler* dataRequested, 
/*IRandomAccessStreamReference* */ IInspectable* thumbnail, 
IAsyncOperation_IStorageFile** operation);
+        HRESULT CreateStreamedFileFromUriAsync(HSTRING 
displayNameWithExtension, /* Uri* */ IInspectable* uri, 
/*IRandomAccessStreamReference* */ IInspectable* thumbnail, 
IAsyncOperation_IStorageFile** operation);
+        HRESULT ReplaceWithStreamedFileFromUriAsync(IStorageFile* 
fileToReplace, /* Uri* */ IInspectable* uri, /*IRandomAccessStreamReference* */ 
IInspectable* thumbnail, IAsyncOperation_IStorageFile** operation);
     }
 
     [uuid(FA3F6186-4214-428C-A64C-14C9AC7315EA)]
@@ -135,9 +156,9 @@ namespace Windows {
         [propget] HRESULT ContentType(HSTRING *value);
         HRESULT OpenAsync(FileAccessMode accessMode, 
/*IAsyncOperation<IRandomAccessStream*>*/IInspectable** operation);
         HRESULT 
OpenTransactedWriteAsync(/*IAsyncOperation<StorageStreamTransaction*>*/IInspectable**
 operation);
-        HRESULT CopyOverloadDefaultNameAndOptions(IStorageFolder 
*destinationFolder, /* IAsyncOperation<StorageFile> ** */ IInspectable** 
operation);
-        HRESULT CopyOverloadDefaultOptions(IStorageFolder *destinationFolder, 
HSTRING desiredNewName, /* IAsyncOperation<StorageFile> ** */ IInspectable** 
operation);
-        HRESULT CopyOverload(IStorageFolder *destinationFolder, HSTRING 
desiredNewName, NameCollisionOption option, /* IAsyncOperation<StorageFile> ** 
*/ IInspectable** operation);
+        HRESULT CopyOverloadDefaultNameAndOptions(IStorageFolder 
*destinationFolder, IAsyncOperation_IStorageFile** operation);
+        HRESULT CopyOverloadDefaultOptions(IStorageFolder *destinationFolder, 
HSTRING desiredNewName, IAsyncOperation_IStorageFile** operation);
+        HRESULT CopyOverload(IStorageFolder *destinationFolder, HSTRING 
desiredNewName, NameCollisionOption option, IAsyncOperation_IStorageFile** 
operation);
         HRESULT CopyAndReplaceAsync(IStorageFile *fileToReplace, /* 
IAsyncAction** */ IInspectable** operation);
         HRESULT MoveOverloadDefaultNameAndOptions(IStorageFolder 
*destinationFolder, /* IAsyncAction** */ IInspectable** operation);
         HRESULT MoveOverloadDefaultOptions(IStorageFolder *destinationFolder, 
HSTRING desiredNewName, /* IAsyncAction** */ IInspectable** operation);
@@ -148,11 +169,11 @@ namespace Windows {
     [uuid(72D1CB78-B3EF-4F75-A80B-6FD9DAE2944B)]
     interface IStorageFolder : IInspectable
     {
-      HRESULT CreateFileAsyncOverloadDefaultOptions(HSTRING desiredName, 
/*IAsyncOperation<IStorageFile*>*/IInspectable** operation);
-      HRESULT CreateFileAsync(HSTRING desiredName, CreationCollisionOption 
options, /*IAsyncOperation<IStorageFile*>*/IInspectable** operation);
+      HRESULT CreateFileAsyncOverloadDefaultOptions(HSTRING desiredName, 
IAsyncOperation_IStorageFile** operation);
+      HRESULT CreateFileAsync(HSTRING desiredName, CreationCollisionOption 
options, IAsyncOperation_IStorageFile** operation);
       HRESULT CreateFolderAsyncOverloadDefaultOptions(HSTRING desiredName, 
/*IAsyncOperation<IStorageFolder*>*/IInspectable** operation);
       HRESULT CreateFolderAsync(HSTRING desiredName, CreationCollisionOption 
options, /*IAsyncOperation<StorageFolder*>*/IInspectable** operation);
-      HRESULT GetFileAsync(HSTRING name, 
/*IAsyncOperation<StorageFile*>*/IInspectable** operation);
+      HRESULT GetFileAsync(HSTRING name, IAsyncOperation_IStorageFile** 
operation);
       HRESULT GetFolderAsync(HSTRING name, 
/*IAsyncOperation<StorageFolder*>*/IInspectable** operation);
       HRESULT GetItemAsync(HSTRING name, 
/*IAsyncOperation<StorageItem*>*/IInspectable** operation);
       HRESULT 
GetFilesAsyncOverloadDefaultOptionsStartAndCount(/*IAsyncOperation<IVectorView<StorageFile*>*>*/IInspectable**
 operation);
-- 
2.29.2




_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to