IAsyncOperation is a template interface [1]. widl doesn't handle template interfaces yet.
The UUID doesn't even correspond to a IAsyncOperation template. Each IAsyncOperation<> template version should be defined in the namespace of the class it's a template of. [1] https://docs.microsoft.com/en-us/uwp/api/windows.foundation.iasyncoperation-1 --- .../include/windows.foundation.h | 188 ------------------ .../include/windows.foundation.idl | 11 - 2 files changed, 199 deletions(-) diff --git a/mingw-w64-headers/include/windows.foundation.h b/mingw-w64-headers/include/windows.foundation.h index 840ec22b..6824757d 100644 --- a/mingw-w64-headers/include/windows.foundation.h +++ b/mingw-w64-headers/include/windows.foundation.h @@ -60,20 +60,6 @@ namespace ABI { #endif /* __cplusplus */ #endif -#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncOperation_FWD_DEFINED__ -#define ____x_ABI_CWindows_CFoundation_CIAsyncOperation_FWD_DEFINED__ -typedef interface __x_ABI_CWindows_CFoundation_CIAsyncOperation __x_ABI_CWindows_CFoundation_CIAsyncOperation; -#ifdef __cplusplus -namespace ABI { - namespace Windows { - namespace Foundation { - interface IAsyncOperation; - } - } -} -#endif /* __cplusplus */ -#endif - /* Headers for imported files */ #include <inspectable.h> @@ -638,180 +624,6 @@ static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHan #endif /* ____x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_INTERFACE_DEFINED__ */ -/***************************************************************************** - * IAsyncOperation interface - */ -#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncOperation_INTERFACE_DEFINED__ -#define ____x_ABI_CWindows_CFoundation_CIAsyncOperation_INTERFACE_DEFINED__ - -DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2); -#if defined(__cplusplus) && !defined(CINTERFACE) -} /* extern "C" */ -namespace ABI { - namespace Windows { - namespace Foundation { - MIDL_INTERFACE("9fc2b0bb-e446-44e2-aa61-9cab8f636af2") - IAsyncOperation : public IAsyncInfo - { - virtual HRESULT STDMETHODCALLTYPE put_Completed( - AsyncActionCompletedHandler *handler) = 0; - - virtual HRESULT STDMETHODCALLTYPE get_Completed( - AsyncActionCompletedHandler **handler) = 0; - - virtual IInspectable * STDMETHODCALLTYPE GetResults( - ) = 0; - - }; - } - } -} -extern "C" { -#ifdef __CRT_UUID_DECL -__CRT_UUID_DECL(ABI::Windows::Foundation::IAsyncOperation, 0x9fc2b0bb, 0xe446, 0x44e2, 0xaa,0x61, 0x9c,0xab,0x8f,0x63,0x6a,0xf2) -#endif -#else -typedef struct __x_ABI_CWindows_CFoundation_CIAsyncOperationVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This, - REFIID riid, - void **ppvObject); - - ULONG (STDMETHODCALLTYPE *AddRef)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This); - - ULONG (STDMETHODCALLTYPE *Release)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This); - - /*** IInspectable methods ***/ - HRESULT (STDMETHODCALLTYPE *GetIids)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This, - ULONG *iidCount, - IID **iids); - - HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This, - HSTRING *className); - - HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This, - TrustLevel *trustLevel); - - /*** IAsyncInfo methods ***/ - HRESULT (STDMETHODCALLTYPE *get_Id)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This, - unsigned int *id); - - HRESULT (STDMETHODCALLTYPE *get_Status)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This, - AsyncStatus *status); - - HRESULT (STDMETHODCALLTYPE *get_ErrorCode)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This, - HRESULT *errorCode); - - HRESULT (STDMETHODCALLTYPE *Cancel)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This); - - HRESULT (STDMETHODCALLTYPE *Close)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This); - - /*** IAsyncOperation methods ***/ - HRESULT (STDMETHODCALLTYPE *put_Completed)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This, - __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler *handler); - - HRESULT (STDMETHODCALLTYPE *get_Completed)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This, - __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler **handler); - - IInspectable * (STDMETHODCALLTYPE *GetResults)( - __x_ABI_CWindows_CFoundation_CIAsyncOperation *This); - - END_INTERFACE -} __x_ABI_CWindows_CFoundation_CIAsyncOperationVtbl; - -interface __x_ABI_CWindows_CFoundation_CIAsyncOperation { - CONST_VTBL __x_ABI_CWindows_CFoundation_CIAsyncOperationVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -#ifndef WIDL_C_INLINE_WRAPPERS -/*** IUnknown methods ***/ -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_AddRef(This) (This)->lpVtbl->AddRef(This) -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_Release(This) (This)->lpVtbl->Release(This) -/*** IInspectable methods ***/ -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) -/*** IAsyncInfo methods ***/ -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Status(This,status) (This)->lpVtbl->get_Status(This,status) -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode) -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_Cancel(This) (This)->lpVtbl->Cancel(This) -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_Close(This) (This)->lpVtbl->Close(This) -/*** IAsyncOperation methods ***/ -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler) -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler) -#define __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetResults(This) (This)->lpVtbl->GetResults(This) -#else -/*** IUnknown methods ***/ -static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncOperation_QueryInterface(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This,REFIID riid,void **ppvObject) { - return This->lpVtbl->QueryInterface(This,riid,ppvObject); -} -static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncOperation_AddRef(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This) { - return This->lpVtbl->AddRef(This); -} -static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncOperation_Release(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This) { - return This->lpVtbl->Release(This); -} -/*** IInspectable methods ***/ -static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetIids(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This,ULONG *iidCount,IID **iids) { - return This->lpVtbl->GetIids(This,iidCount,iids); -} -static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This,HSTRING *className) { - return This->lpVtbl->GetRuntimeClassName(This,className); -} -static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This,TrustLevel *trustLevel) { - return This->lpVtbl->GetTrustLevel(This,trustLevel); -} -/*** IAsyncInfo methods ***/ -static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Id(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This,unsigned int *id) { - return This->lpVtbl->get_Id(This,id); -} -static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Status(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This,AsyncStatus *status) { - return This->lpVtbl->get_Status(This,status); -} -static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_ErrorCode(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This,HRESULT *errorCode) { - return This->lpVtbl->get_ErrorCode(This,errorCode); -} -static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncOperation_Cancel(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This) { - return This->lpVtbl->Cancel(This); -} -static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncOperation_Close(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This) { - return This->lpVtbl->Close(This); -} -/*** IAsyncOperation methods ***/ -static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncOperation_put_Completed(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This,__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler *handler) { - return This->lpVtbl->put_Completed(This,handler); -} -static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Completed(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This,__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler **handler) { - return This->lpVtbl->get_Completed(This,handler); -} -static FORCEINLINE IInspectable * __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetResults(__x_ABI_CWindows_CFoundation_CIAsyncOperation* This) { - return This->lpVtbl->GetResults(This); -} -#endif -#endif - -#endif - -#endif /* ____x_ABI_CWindows_CFoundation_CIAsyncOperation_INTERFACE_DEFINED__ */ - /* Begin additional prototypes for all interfaces */ diff --git a/mingw-w64-headers/include/windows.foundation.idl b/mingw-w64-headers/include/windows.foundation.idl index fa76a44d..c3c66079 100644 --- a/mingw-w64-headers/include/windows.foundation.idl +++ b/mingw-w64-headers/include/windows.foundation.idl @@ -67,17 +67,6 @@ namespace Windows { HRESULT Invoke(IAsyncAction *asyncAction, AsyncStatus status); } - //FIXME: WHERE IS IT? - //generic <typename TResult> - [uuid("9fc2b0bb-e446-44e2-aa61-9cab8f636af2")] - interface IAsyncOperation : IAsyncInfo { - [propput] HRESULT Completed(AsyncActionCompletedHandler* handler); - [propget] HRESULT Completed(AsyncActionCompletedHandler** handler); - //FIXME: implement generics - /*TResult*/ IInspectable* GetResults(); - } - - namespace Collections { //interface IVectorView; /*[uuid(8A43ED9F-F4E6-4421-ACF9-1DAB2986820C)] -- 2.29.2 _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
