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.
---
 .../include/windows.storage.streams.h         | 579 +++++++++++++++++-
 .../include/windows.storage.streams.idl       |  39 +-
 2 files changed, 610 insertions(+), 8 deletions(-)

diff --git a/mingw-w64-headers/include/windows.storage.streams.h 
b/mingw-w64-headers/include/windows.storage.streams.h
index ef21f709..a4442312 100644
--- a/mingw-w64-headers/include/windows.storage.streams.h
+++ b/mingw-w64-headers/include/windows.storage.streams.h
@@ -82,6 +82,38 @@ namespace ABI {
 #endif /* __cplusplus */
 #endif
 
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_FWD_DEFINED__
+typedef interface 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType
 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                interface 
IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_FWD_DEFINED__
+typedef interface 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                interface IAsyncOperation_IRandomAccessStreamWithContentType;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____x_ABI_CWindows_CStorage_CStreams_CIInputStream_FWD_DEFINED__
 #define ____x_ABI_CWindows_CStorage_CStreams_CIInputStream_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CStreams_CIInputStream 
__x_ABI_CWindows_CStorage_CStreams_CIInputStream;
@@ -114,6 +146,38 @@ namespace ABI {
 #endif /* __cplusplus */
 #endif
 
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_FWD_DEFINED__
+typedef interface 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                interface IAsyncOperationCompletedHandler_UINT32;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                interface IAsyncOperation_UINT32;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 #ifndef ____x_ABI_CWindows_CStorage_CStreams_CIDataReader_FWD_DEFINED__
 #define ____x_ABI_CWindows_CStorage_CStreams_CIDataReader_FWD_DEFINED__
 typedef interface __x_ABI_CWindows_CStorage_CStreams_CIDataReader 
__x_ABI_CWindows_CStorage_CStreams_CIDataReader;
@@ -149,6 +213,7 @@ namespace ABI {
 /* Headers for imported files */
 
 #include <inspectable.h>
+#include <windows.foundation.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -282,6 +347,70 @@ namespace ABI {
 #endif /* __cplusplus */
 #endif
 
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_FWD_DEFINED__
+typedef interface 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                interface IAsyncOperation_IRandomAccessStreamWithContentType;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_FWD_DEFINED__
+typedef interface 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType
 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                interface 
IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_FWD_DEFINED__
+typedef interface __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                interface IAsyncOperation_UINT32;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_FWD_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_FWD_DEFINED__
+typedef interface 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32;
+#ifdef __cplusplus
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                interface IAsyncOperationCompletedHandler_UINT32;
+            }
+        }
+    }
+}
+#endif /* __cplusplus */
+#endif
+
 typedef enum InputStreamOptions {
     InputStreamOptions_None = 0x0,
     InputStreamOptions_Partial = 0x1,
@@ -665,7 +794,7 @@ namespace ABI {
                 IRandomAccessStreamReference : public IInspectable
                 {
                     virtual HRESULT STDMETHODCALLTYPE OpenReadAsync(
-                        IInspectable **operation) = 0;
+                        IAsyncOperation_IRandomAccessStreamWithContentType 
**operation) = 0;
 
                 };
             }
@@ -709,7 +838,7 @@ typedef struct 
__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReferenceV
     /*** IRandomAccessStreamReference methods ***/
     HRESULT (STDMETHODCALLTYPE *OpenReadAsync)(
         __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference *This,
-        IInspectable **operation);
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 **operation);
 
     END_INTERFACE
 } __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReferenceVtbl;
@@ -752,7 +881,7 @@ static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStre
     return This->lpVtbl->GetTrustLevel(This,trustLevel);
 }
 /*** IRandomAccessStreamReference methods ***/
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference_OpenReadAsync(__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference*
 This,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference_OpenReadAsync(__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference*
 
This,__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 **operation) {
     return This->lpVtbl->OpenReadAsync(This,operation);
 }
 #endif
@@ -762,6 +891,225 @@ static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStre
 
 #endif  /* 
____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamReference_INTERFACE_DEFINED__
 */
 
+/*****************************************************************************
+ * IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType interface
+ */
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_INTERFACE_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType,
 0x3dddecf4, 0x1d39, 0x58e8, 0x83,0xb1, 0xdb,0xed,0x54,0x1c,0x7f,0x35);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                MIDL_INTERFACE("3dddecf4-1d39-58e8-83b1-dbed541c7f35")
+                
IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType : public 
IUnknown
+                {
+                    virtual HRESULT STDMETHODCALLTYPE Invoke(
+                        IRandomAccessStreamWithContentType *asyncInfo,
+                        AsyncStatus asyncStatus) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ABI::Windows::Storage::Streams::IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType,
 0x3dddecf4, 0x1d39, 0x58e8, 0x83,0xb1, 0xdb,0xed,0x54,0x1c,0x7f,0x35)
+#endif
+#else
+typedef struct 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentTypeVtbl
 {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType
 *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType
 *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType
 *This);
+
+    /*** IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType 
methods ***/
+    HRESULT (STDMETHODCALLTYPE *Invoke)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType
 *This,
+        __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType 
*asyncInfo,
+        AsyncStatus asyncStatus);
+
+    END_INTERFACE
+} 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentTypeVtbl;
+
+interface 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType
 {
+    CONST_VTBL 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentTypeVtbl*
 lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_QueryInterface(This,riid,ppvObject)
 (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_AddRef(This)
 (This)->lpVtbl->AddRef(This)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_Release(This)
 (This)->lpVtbl->Release(This)
+/*** IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType 
methods ***/
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_Invoke(This,asyncInfo,asyncStatus)
 (This)->lpVtbl->Invoke(This,asyncInfo,asyncStatus)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_QueryInterface(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType*
 This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_AddRef(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType*
 This) {
+    return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_Release(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType*
 This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType 
methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_Invoke(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType*
 This,__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType 
*asyncInfo,AsyncStatus asyncStatus) {
+    return This->lpVtbl->Invoke(This,asyncInfo,asyncStatus);
+}
+#endif
+#endif
+
+#endif
+
+#endif  /* 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType_INTERFACE_DEFINED__
 */
+
+/*****************************************************************************
+ * IAsyncOperation_IRandomAccessStreamWithContentType interface
+ */
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_INTERFACE_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                interface IAsyncOperation_IRandomAccessStreamWithContentType : 
public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE put_Completed(
+                        
IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType *handler) = 
0;
+
+                    virtual HRESULT STDMETHODCALLTYPE get_Completed(
+                        
IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType **handler) = 
0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetResults(
+                        IRandomAccessStreamWithContentType **result) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#else
+typedef struct 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentTypeVtbl
 {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 *This,
+        TrustLevel *trustLevel);
+
+    /*** IAsyncOperation_IRandomAccessStreamWithContentType methods ***/
+    HRESULT (STDMETHODCALLTYPE *put_Completed)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 *This,
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType
 *handler);
+
+    HRESULT (STDMETHODCALLTYPE *get_Completed)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 *This,
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType
 **handler);
+
+    HRESULT (STDMETHODCALLTYPE *GetResults)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 *This,
+        __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType 
**result);
+
+    END_INTERFACE
+} 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentTypeVtbl;
+
+interface 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType
 {
+    CONST_VTBL 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentTypeVtbl*
 lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_QueryInterface(This,riid,ppvObject)
 (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_AddRef(This)
 (This)->lpVtbl->AddRef(This)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_Release(This)
 (This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_GetIids(This,iidCount,iids)
 (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_GetRuntimeClassName(This,className)
 (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_GetTrustLevel(This,trustLevel)
 (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IAsyncOperation_IRandomAccessStreamWithContentType methods ***/
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_put_Completed(This,handler)
 (This)->lpVtbl->put_Completed(This,handler)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_get_Completed(This,handler)
 (This)->lpVtbl->get_Completed(This,handler)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_GetResults(This,result)
 (This)->lpVtbl->GetResults(This,result)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_QueryInterface(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType*
 This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_AddRef(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType*
 This) {
+    return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_Release(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType*
 This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_GetIids(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType*
 This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType*
 This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_GetTrustLevel(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType*
 This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IAsyncOperation_IRandomAccessStreamWithContentType methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_put_Completed(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType*
 
This,__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType
 *handler) {
+    return This->lpVtbl->put_Completed(This,handler);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_get_Completed(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType*
 
This,__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType
 **handler) {
+    return This->lpVtbl->get_Completed(This,handler);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_GetResults(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType*
 This,__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType 
**result) {
+    return This->lpVtbl->GetResults(This,result);
+}
+#endif
+#endif
+
+#endif
+
+#endif  /* 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_IRandomAccessStreamWithContentType_INTERFACE_DEFINED__
 */
+
 /*****************************************************************************
  * IInputStream interface
  */
@@ -1098,6 +1446,225 @@ static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStre
 
 #endif  /* 
____x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStream_INTERFACE_DEFINED__ */
 
+/*****************************************************************************
+ * IAsyncOperationCompletedHandler_UINT32 interface
+ */
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_INTERFACE_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID___x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32,
 0x9343b6e7, 0xe3d2, 0x5e4a, 0xab,0x2d, 0x2b,0xce,0x49,0x19,0xa6,0xa4);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                MIDL_INTERFACE("9343b6e7-e3d2-5e4a-ab2d-2bce4919a6a4")
+                IAsyncOperationCompletedHandler_UINT32 : public IUnknown
+                {
+                    virtual HRESULT STDMETHODCALLTYPE Invoke(
+                        UINT32 asyncInfo,
+                        AsyncStatus asyncStatus) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ABI::Windows::Storage::Streams::IAsyncOperationCompletedHandler_UINT32,
 0x9343b6e7, 0xe3d2, 0x5e4a, 0xab,0x2d, 0x2b,0xce,0x49,0x19,0xa6,0xa4)
+#endif
+#else
+typedef struct 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32Vtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32 
*This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32 
*This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32 
*This);
+
+    /*** IAsyncOperationCompletedHandler_UINT32 methods ***/
+    HRESULT (STDMETHODCALLTYPE *Invoke)(
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32 
*This,
+        UINT32 asyncInfo,
+        AsyncStatus asyncStatus);
+
+    END_INTERFACE
+} 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32Vtbl;
+
+interface 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32 {
+    CONST_VTBL 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32Vtbl* 
lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_QueryInterface(This,riid,ppvObject)
 (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_AddRef(This)
 (This)->lpVtbl->AddRef(This)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_Release(This)
 (This)->lpVtbl->Release(This)
+/*** IAsyncOperationCompletedHandler_UINT32 methods ***/
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_Invoke(This,asyncInfo,asyncStatus)
 (This)->lpVtbl->Invoke(This,asyncInfo,asyncStatus)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_QueryInterface(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32*
 This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_AddRef(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32*
 This) {
+    return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_Release(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32*
 This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IAsyncOperationCompletedHandler_UINT32 methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_Invoke(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32*
 This,UINT32 asyncInfo,AsyncStatus asyncStatus) {
+    return This->lpVtbl->Invoke(This,asyncInfo,asyncStatus);
+}
+#endif
+#endif
+
+#endif
+
+#endif  /* 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32_INTERFACE_DEFINED__
 */
+
+/*****************************************************************************
+ * IAsyncOperation_UINT32 interface
+ */
+#ifndef 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_INTERFACE_DEFINED__
+#define 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+} /* extern "C" */
+namespace ABI {
+    namespace Windows {
+        namespace Storage {
+            namespace Streams {
+                interface IAsyncOperation_UINT32 : public IInspectable
+                {
+                    virtual HRESULT STDMETHODCALLTYPE put_Completed(
+                        IAsyncOperationCompletedHandler_UINT32 *handler) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE get_Completed(
+                        IAsyncOperationCompletedHandler_UINT32 **handler) = 0;
+
+                    virtual HRESULT STDMETHODCALLTYPE GetResults(
+                        UINT32 *result) = 0;
+
+                };
+            }
+        }
+    }
+}
+extern "C" {
+#else
+typedef struct __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32Vtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 *This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 *This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 *This);
+
+    /*** IInspectable methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetIids)(
+        __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 *This,
+        ULONG *iidCount,
+        IID **iids);
+
+    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
+        __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 *This,
+        HSTRING *className);
+
+    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
+        __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 *This,
+        TrustLevel *trustLevel);
+
+    /*** IAsyncOperation_UINT32 methods ***/
+    HRESULT (STDMETHODCALLTYPE *put_Completed)(
+        __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 *This,
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32 
*handler);
+
+    HRESULT (STDMETHODCALLTYPE *get_Completed)(
+        __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 *This,
+        
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32 
**handler);
+
+    HRESULT (STDMETHODCALLTYPE *GetResults)(
+        __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 *This,
+        UINT32 *result);
+
+    END_INTERFACE
+} __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32Vtbl;
+
+interface __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 {
+    CONST_VTBL __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32Vtbl* 
lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_QueryInterface(This,riid,ppvObject)
 (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_AddRef(This) 
(This)->lpVtbl->AddRef(This)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_Release(This) 
(This)->lpVtbl->Release(This)
+/*** IInspectable methods ***/
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_GetIids(This,iidCount,iids)
 (This)->lpVtbl->GetIids(This,iidCount,iids)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_GetRuntimeClassName(This,className)
 (This)->lpVtbl->GetRuntimeClassName(This,className)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_GetTrustLevel(This,trustLevel)
 (This)->lpVtbl->GetTrustLevel(This,trustLevel)
+/*** IAsyncOperation_UINT32 methods ***/
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_put_Completed(This,handler)
 (This)->lpVtbl->put_Completed(This,handler)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_get_Completed(This,handler)
 (This)->lpVtbl->get_Completed(This,handler)
+#define 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_GetResults(This,result)
 (This)->lpVtbl->GetResults(This,result)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_QueryInterface(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32*
 This,REFIID riid,void **ppvObject) {
+    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_AddRef(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32*
 This) {
+    return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_Release(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32*
 This) {
+    return This->lpVtbl->Release(This);
+}
+/*** IInspectable methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_GetIids(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32*
 This,ULONG *iidCount,IID **iids) {
+    return This->lpVtbl->GetIids(This,iidCount,iids);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_GetRuntimeClassName(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32*
 This,HSTRING *className) {
+    return This->lpVtbl->GetRuntimeClassName(This,className);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_GetTrustLevel(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32*
 This,TrustLevel *trustLevel) {
+    return This->lpVtbl->GetTrustLevel(This,trustLevel);
+}
+/*** IAsyncOperation_UINT32 methods ***/
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_put_Completed(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32*
 
This,__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32 
*handler) {
+    return This->lpVtbl->put_Completed(This,handler);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_get_Completed(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32*
 
This,__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperationCompletedHandler_UINT32 
**handler) {
+    return This->lpVtbl->get_Completed(This,handler);
+}
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_GetResults(__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32*
 This,UINT32 *result) {
+    return This->lpVtbl->GetResults(This,result);
+}
+#endif
+#endif
+
+#endif
+
+#endif  /* 
____x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32_INTERFACE_DEFINED__
 */
+
 /*****************************************************************************
  * IDataReader interface
  */
@@ -1188,7 +1755,7 @@ namespace ABI {
 
                     virtual HRESULT STDMETHODCALLTYPE LoadAsync(
                         UINT32 count,
-                        IInspectable **operation) = 0;
+                        IAsyncOperation_UINT32 **operation) = 0;
 
                     virtual HRESULT STDMETHODCALLTYPE DetachBuffer(
                         IBuffer **buffer) = 0;
@@ -1334,7 +1901,7 @@ typedef struct 
__x_ABI_CWindows_CStorage_CStreams_CIDataReaderVtbl {
     HRESULT (STDMETHODCALLTYPE *LoadAsync)(
         __x_ABI_CWindows_CStorage_CStreams_CIDataReader *This,
         UINT32 count,
-        IInspectable **operation);
+        __x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 
**operation);
 
     HRESULT (STDMETHODCALLTYPE *DetachBuffer)(
         __x_ABI_CWindows_CStorage_CStreams_CIDataReader *This,
@@ -1479,7 +2046,7 @@ static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIDataReader_ReadD
 static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIDataReader_ReadTimeSpan(__x_ABI_CWindows_CStorage_CStreams_CIDataReader*
 This,UINT64 *value) {
     return This->lpVtbl->ReadTimeSpan(This,value);
 }
-static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIDataReader_LoadAsync(__x_ABI_CWindows_CStorage_CStreams_CIDataReader*
 This,UINT32 count,IInspectable **operation) {
+static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIDataReader_LoadAsync(__x_ABI_CWindows_CStorage_CStreams_CIDataReader*
 This,UINT32 count,__x_ABI_CWindows_CStorage_CStreams_CIAsyncOperation_UINT32 
**operation) {
     return This->lpVtbl->LoadAsync(This,count,operation);
 }
 static FORCEINLINE HRESULT 
__x_ABI_CWindows_CStorage_CStreams_CIDataReader_DetachBuffer(__x_ABI_CWindows_CStorage_CStreams_CIDataReader*
 This,__x_ABI_CWindows_CStorage_CStreams_CIBuffer **buffer) {
diff --git a/mingw-w64-headers/include/windows.storage.streams.idl 
b/mingw-w64-headers/include/windows.storage.streams.idl
index a14742ad..eed3ae25 100644
--- a/mingw-w64-headers/include/windows.storage.streams.idl
+++ b/mingw-w64-headers/include/windows.storage.streams.idl
@@ -9,6 +9,7 @@
 #endif
 
 import "inspectable.idl";
+import "windows.foundation.idl";
 
 namespace Windows {
   namespace Storage {
@@ -21,6 +22,12 @@ namespace Windows {
       interface IRandomAccessStream;
       interface IRandomAccessStreamReference;
       interface IRandomAccessStreamWithContentType;
+
+      interface IAsyncOperation_IRandomAccessStreamWithContentType; // 
IAsyncOperation<IRandomAccessStreamWithContentType*>
+      interface 
IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType; // delegate 
 AsyncOperationCompletedHandler<IRandomAccessStreamWithContentType*>
+
+      interface IAsyncOperation_UINT32; // IAsyncOperation<UINT32>
+      interface IAsyncOperationCompletedHandler_UINT32; // delegate  
AsyncOperationCompletedHandler<UINT32>
     }
   }
 }
@@ -66,7 +73,21 @@ namespace Windows {
       [uuid(33EE3134-1DD6-4E3A-8067-D1C162E8642B)]
       interface IRandomAccessStreamReference : IInspectable
       {
-          HRESULT 
OpenReadAsync(/*IAsyncOperation<IRandomAccessStreamWithContentType*>*/ 
IInspectable** operation);
+          HRESULT 
OpenReadAsync(IAsyncOperation_IRandomAccessStreamWithContentType** operation);
+      }
+
+      [uuid(3DDDECF4-1D39-58E8-83B1-DBED541C7F35)]
+      interface 
IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType : IUnknown {
+        HRESULT Invoke(IRandomAccessStreamWithContentType* asyncInfo, 
Windows.Foundation.AsyncStatus asyncStatus);
+      }
+
+      []
+      interface IAsyncOperation_IRandomAccessStreamWithContentType : 
IInspectable 
+      // also IAsyncInfo
+      {
+        [propput] HRESULT 
Completed(IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType* 
handler);
+        [propget] HRESULT 
Completed(IAsyncOperationCompletedHandler_IRandomAccessStreamWithContentType** 
handler);
+        HRESULT GetResults(IRandomAccessStreamWithContentType** result);
       }
 
       [uuid(905A0FE2-BC53-11DF-8C49-001E4FC686DA)]
@@ -92,6 +113,20 @@ namespace Windows {
           [propget] HRESULT CanWrite(boolean* value);
       }
 
+      [uuid(9343B6E7-E3D2-5E4A-AB2D-2BCE4919A6A4)]
+      interface IAsyncOperationCompletedHandler_UINT32 : IUnknown {
+        HRESULT Invoke(UINT32 asyncInfo, Windows.Foundation.AsyncStatus 
asyncStatus);
+      }
+
+      []
+      interface IAsyncOperation_UINT32 : IInspectable
+      // also IAsyncInfo
+      {
+        [propput] HRESULT Completed(IAsyncOperationCompletedHandler_UINT32* 
handler);
+        [propget] HRESULT Completed(IAsyncOperationCompletedHandler_UINT32** 
handler);
+        HRESULT GetResults(UINT32* result);
+      }
+
       [uuid(E2B50029-B4C1-4314-A4B8-FB813A2F275E)]
       interface IDataReader : IInspectable
       {
@@ -118,7 +153,7 @@ namespace Windows {
           HRESULT ReadString(UINT32 codeUnitCount, HSTRING* value);
           HRESULT ReadDateTime(/*DateTime* */ UINT64* value);
           HRESULT ReadTimeSpan(/*TimeSpan* */ UINT64* value);
-          HRESULT LoadAsync(UINT32 count, /*IAsyncOperation<UINT32>*/ 
IInspectable** operation);
+          HRESULT LoadAsync(UINT32 count, IAsyncOperation_UINT32** operation);
           HRESULT DetachBuffer(IBuffer** buffer);
           HRESULT DetachStream(IInputStream** stream);
       }
-- 
2.29.2




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

Reply via email to