/*** Autogenerated by WIDL 6.3 from include/windows.foundation.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __windows_foundation_h__
#define __windows_foundation_h__

/* Forward declarations */

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIAsyncInfo __x_ABI_CWindows_CFoundation_CIAsyncInfo;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo ABI::Windows::Foundation::IAsyncInfo
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IAsyncInfo;
        }
    }
}
#endif /* __cplusplus */
#endif

#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;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIASyncAction ABI::Windows::Foundation::IASyncAction
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IASyncAction;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler ABI::Windows::Foundation::AsyncActionCompletedHandler
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface AsyncActionCompletedHandler;
        }
    }
}
#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
#define __x_ABI_CWindows_CFoundation_CIAsyncOperation ABI::Windows::Foundation::IAsyncOperation
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IAsyncOperation;
        }
    }
}
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <inspectable.h>
#include <windowscontracts.h>
#include <windows.foundation.collections.h>

#ifdef __cplusplus
extern "C" {
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIAsyncInfo __x_ABI_CWindows_CFoundation_CIAsyncInfo;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo ABI::Windows::Foundation::IAsyncInfo
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IAsyncInfo;
        }
    }
}
#endif /* __cplusplus */
#endif

#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;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CIAsyncAction ABI::Windows::Foundation::IAsyncAction
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IAsyncAction;
        }
    }
}
#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
#define __x_ABI_CWindows_CFoundation_CIAsyncOperation ABI::Windows::Foundation::IAsyncOperation
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IAsyncOperation;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler ABI::Windows::Foundation::AsyncActionCompletedHandler
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface AsyncActionCompletedHandler;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CTypedEventHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CTypedEventHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CTypedEventHandler __x_ABI_CWindows_CFoundation_CTypedEventHandler;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CTypedEventHandler ABI::Windows::Foundation::TypedEventHandler
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface TypedEventHandler;
        }
    }
}
#endif /* __cplusplus */
#endif

#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            struct DateTime;
        }
    }
}
extern "C" {
#else
struct __x_ABI_CWindows_CFoundation_CDateTime;
#ifdef WIDL_using_Windows_Foundation
#define DateTime __x_ABI_CWindows_CFoundation_CDateTime
#endif /* WIDL_using_Windows_Foundation */
#endif

#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            struct EventRegistrationToken;
        }
    }
}
extern "C" {
#else
struct __x_ABI_CWindows_CFoundation_CEventRegistrationToken;
#ifdef WIDL_using_Windows_Foundation
#define EventRegistrationToken __x_ABI_CWindows_CFoundation_CEventRegistrationToken
#endif /* WIDL_using_Windows_Foundation */
#endif

#ifndef ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CCollections_CIPropertySet_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet;
#ifdef __cplusplus
#define __x_ABI_CWindows_CFoundation_CCollections_CIPropertySet ABI::Windows::Foundation::Collections::IPropertySet
namespace ABI {
    namespace Windows {
        namespace Foundation {
            namespace Collections {
                interface IPropertySet;
            }
        }
    }
}
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * IAsyncInfo interface
 */
#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncInfo_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncInfo_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("00000036-0000-0000-c000-000000000046")
            IAsyncInfo : public IInspectable
            {
                virtual HRESULT STDMETHODCALLTYPE get_Id(
                    unsigned int *id) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_Status(
                    enum AsyncStatus *status) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_ErrorCode(
                    HRESULT *errorCode) = 0;

                virtual HRESULT STDMETHODCALLTYPE Cancel(
                    ) = 0;

                virtual HRESULT STDMETHODCALLTYPE Close(
                    ) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIAsyncInfo, 0x00000036, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIAsyncInfoVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CFoundation_CIAsyncInfo *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CFoundation_CIAsyncInfo *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CFoundation_CIAsyncInfo *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CFoundation_CIAsyncInfo *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CFoundation_CIAsyncInfo *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CFoundation_CIAsyncInfo *This,
        TrustLevel *trustLevel);

    /*** IAsyncInfo methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Id)(
        __x_ABI_CWindows_CFoundation_CIAsyncInfo *This,
        unsigned int *id);

    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CFoundation_CIAsyncInfo *This,
        enum __x_ABI_CWindows_CFoundation_CAsyncStatus *status);

    HRESULT (STDMETHODCALLTYPE *get_ErrorCode)(
        __x_ABI_CWindows_CFoundation_CIAsyncInfo *This,
        HRESULT *errorCode);

    HRESULT (STDMETHODCALLTYPE *Cancel)(
        __x_ABI_CWindows_CFoundation_CIAsyncInfo *This);

    HRESULT (STDMETHODCALLTYPE *Close)(
        __x_ABI_CWindows_CFoundation_CIAsyncInfo *This);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIAsyncInfoVtbl;

interface __x_ABI_CWindows_CFoundation_CIAsyncInfo {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIAsyncInfoVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncInfo methods ***/
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_Status(This,status) (This)->lpVtbl->get_Status(This,status)
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode)
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo_Cancel(This) (This)->lpVtbl->Cancel(This)
#define __x_ABI_CWindows_CFoundation_CIAsyncInfo_Close(This) (This)->lpVtbl->Close(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncInfo_QueryInterface(__x_ABI_CWindows_CFoundation_CIAsyncInfo* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncInfo_AddRef(__x_ABI_CWindows_CFoundation_CIAsyncInfo* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIAsyncInfo_Release(__x_ABI_CWindows_CFoundation_CIAsyncInfo* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetIids(__x_ABI_CWindows_CFoundation_CIAsyncInfo* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIAsyncInfo* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIAsyncInfo* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncInfo methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_Id(__x_ABI_CWindows_CFoundation_CIAsyncInfo* This,unsigned int *id) {
    return This->lpVtbl->get_Id(This,id);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_Status(__x_ABI_CWindows_CFoundation_CIAsyncInfo* This,enum __x_ABI_CWindows_CFoundation_CAsyncStatus *status) {
    return This->lpVtbl->get_Status(This,status);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_ErrorCode(__x_ABI_CWindows_CFoundation_CIAsyncInfo* This,HRESULT *errorCode) {
    return This->lpVtbl->get_ErrorCode(This,errorCode);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncInfo_Cancel(__x_ABI_CWindows_CFoundation_CIAsyncInfo* This) {
    return This->lpVtbl->Cancel(This);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIAsyncInfo_Close(__x_ABI_CWindows_CFoundation_CIAsyncInfo* This) {
    return This->lpVtbl->Close(This);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncInfo IID___x_ABI_CWindows_CFoundation_CIAsyncInfo
#define IAsyncInfoVtbl __x_ABI_CWindows_CFoundation_CIAsyncInfoVtbl
#define IAsyncInfo __x_ABI_CWindows_CFoundation_CIAsyncInfo
#define IAsyncInfo_QueryInterface __x_ABI_CWindows_CFoundation_CIAsyncInfo_QueryInterface
#define IAsyncInfo_AddRef __x_ABI_CWindows_CFoundation_CIAsyncInfo_AddRef
#define IAsyncInfo_Release __x_ABI_CWindows_CFoundation_CIAsyncInfo_Release
#define IAsyncInfo_GetIids __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetIids
#define IAsyncInfo_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetRuntimeClassName
#define IAsyncInfo_GetTrustLevel __x_ABI_CWindows_CFoundation_CIAsyncInfo_GetTrustLevel
#define IAsyncInfo_get_Id __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_Id
#define IAsyncInfo_get_Status __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_Status
#define IAsyncInfo_get_ErrorCode __x_ABI_CWindows_CFoundation_CIAsyncInfo_get_ErrorCode
#define IAsyncInfo_Cancel __x_ABI_CWindows_CFoundation_CIAsyncInfo_Cancel
#define IAsyncInfo_Close __x_ABI_CWindows_CFoundation_CIAsyncInfo_Close
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CFoundation_CIAsyncInfo_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IASyncAction interface
 */
#ifndef ____x_ABI_CWindows_CFoundation_CIASyncAction_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIASyncAction_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CIASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("5a648006-843a-4da9-865b-9d26e5dfad7b")
            IASyncAction : public IAsyncInfo
            {
                virtual HRESULT STDMETHODCALLTYPE put_Completed(
                    ABI::Windows::Foundation::AsyncActionCompletedHandler *handler) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_Completed(
                    ABI::Windows::Foundation::AsyncActionCompletedHandler **handler) = 0;

                virtual HRESULT STDMETHODCALLTYPE GetResults(
                    ) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIASyncAction, 0x5a648006, 0x843a, 0x4da9, 0x86,0x5b, 0x9d,0x26,0xe5,0xdf,0xad,0x7b)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CIASyncActionVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This);

    /*** IInspectable methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIids)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This,
        ULONG *iidCount,
        IID **iids);

    HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This,
        HSTRING *className);

    HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This,
        TrustLevel *trustLevel);

    /*** IAsyncInfo methods ***/
    HRESULT (STDMETHODCALLTYPE *get_Id)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This,
        unsigned int *id);

    HRESULT (STDMETHODCALLTYPE *get_Status)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This,
        enum __x_ABI_CWindows_CFoundation_CAsyncStatus *status);

    HRESULT (STDMETHODCALLTYPE *get_ErrorCode)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This,
        HRESULT *errorCode);

    HRESULT (STDMETHODCALLTYPE *Cancel)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This);

    HRESULT (STDMETHODCALLTYPE *Close)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This);

    /*** IASyncAction methods ***/
    HRESULT (STDMETHODCALLTYPE *put_Completed)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This,
        __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler *handler);

    HRESULT (STDMETHODCALLTYPE *get_Completed)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This,
        __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler **handler);

    HRESULT (STDMETHODCALLTYPE *GetResults)(
        __x_ABI_CWindows_CFoundation_CIASyncAction *This);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CIASyncActionVtbl;

interface __x_ABI_CWindows_CFoundation_CIASyncAction {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CIASyncActionVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CIASyncAction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CIASyncAction_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CIASyncAction_Release(This) (This)->lpVtbl->Release(This)
/*** IInspectable methods ***/
#define __x_ABI_CWindows_CFoundation_CIASyncAction_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
#define __x_ABI_CWindows_CFoundation_CIASyncAction_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
#define __x_ABI_CWindows_CFoundation_CIASyncAction_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
/*** IAsyncInfo methods ***/
#define __x_ABI_CWindows_CFoundation_CIASyncAction_get_Id(This,id) (This)->lpVtbl->get_Id(This,id)
#define __x_ABI_CWindows_CFoundation_CIASyncAction_get_Status(This,status) (This)->lpVtbl->get_Status(This,status)
#define __x_ABI_CWindows_CFoundation_CIASyncAction_get_ErrorCode(This,errorCode) (This)->lpVtbl->get_ErrorCode(This,errorCode)
#define __x_ABI_CWindows_CFoundation_CIASyncAction_Cancel(This) (This)->lpVtbl->Cancel(This)
#define __x_ABI_CWindows_CFoundation_CIASyncAction_Close(This) (This)->lpVtbl->Close(This)
/*** IASyncAction methods ***/
#define __x_ABI_CWindows_CFoundation_CIASyncAction_put_Completed(This,handler) (This)->lpVtbl->put_Completed(This,handler)
#define __x_ABI_CWindows_CFoundation_CIASyncAction_get_Completed(This,handler) (This)->lpVtbl->get_Completed(This,handler)
#define __x_ABI_CWindows_CFoundation_CIASyncAction_GetResults(This) (This)->lpVtbl->GetResults(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_QueryInterface(__x_ABI_CWindows_CFoundation_CIASyncAction* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIASyncAction_AddRef(__x_ABI_CWindows_CFoundation_CIASyncAction* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CIASyncAction_Release(__x_ABI_CWindows_CFoundation_CIASyncAction* This) {
    return This->lpVtbl->Release(This);
}
/*** IInspectable methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_GetIids(__x_ABI_CWindows_CFoundation_CIASyncAction* This,ULONG *iidCount,IID **iids) {
    return This->lpVtbl->GetIids(This,iidCount,iids);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_GetRuntimeClassName(__x_ABI_CWindows_CFoundation_CIASyncAction* This,HSTRING *className) {
    return This->lpVtbl->GetRuntimeClassName(This,className);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_GetTrustLevel(__x_ABI_CWindows_CFoundation_CIASyncAction* This,TrustLevel *trustLevel) {
    return This->lpVtbl->GetTrustLevel(This,trustLevel);
}
/*** IAsyncInfo methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_get_Id(__x_ABI_CWindows_CFoundation_CIASyncAction* This,unsigned int *id) {
    return This->lpVtbl->get_Id(This,id);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_get_Status(__x_ABI_CWindows_CFoundation_CIASyncAction* This,enum __x_ABI_CWindows_CFoundation_CAsyncStatus *status) {
    return This->lpVtbl->get_Status(This,status);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_get_ErrorCode(__x_ABI_CWindows_CFoundation_CIASyncAction* This,HRESULT *errorCode) {
    return This->lpVtbl->get_ErrorCode(This,errorCode);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_Cancel(__x_ABI_CWindows_CFoundation_CIASyncAction* This) {
    return This->lpVtbl->Cancel(This);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_Close(__x_ABI_CWindows_CFoundation_CIASyncAction* This) {
    return This->lpVtbl->Close(This);
}
/*** IASyncAction methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_put_Completed(__x_ABI_CWindows_CFoundation_CIASyncAction* This,__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler *handler) {
    return This->lpVtbl->put_Completed(This,handler);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_get_Completed(__x_ABI_CWindows_CFoundation_CIASyncAction* This,__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler **handler) {
    return This->lpVtbl->get_Completed(This,handler);
}
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CIASyncAction_GetResults(__x_ABI_CWindows_CFoundation_CIASyncAction* This) {
    return This->lpVtbl->GetResults(This);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_IASyncAction IID___x_ABI_CWindows_CFoundation_CIASyncAction
#define IASyncActionVtbl __x_ABI_CWindows_CFoundation_CIASyncActionVtbl
#define IASyncAction __x_ABI_CWindows_CFoundation_CIASyncAction
#define IASyncAction_QueryInterface __x_ABI_CWindows_CFoundation_CIASyncAction_QueryInterface
#define IASyncAction_AddRef __x_ABI_CWindows_CFoundation_CIASyncAction_AddRef
#define IASyncAction_Release __x_ABI_CWindows_CFoundation_CIASyncAction_Release
#define IASyncAction_GetIids __x_ABI_CWindows_CFoundation_CIASyncAction_GetIids
#define IASyncAction_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIASyncAction_GetRuntimeClassName
#define IASyncAction_GetTrustLevel __x_ABI_CWindows_CFoundation_CIASyncAction_GetTrustLevel
#define IASyncAction_get_Id __x_ABI_CWindows_CFoundation_CIASyncAction_get_Id
#define IASyncAction_get_Status __x_ABI_CWindows_CFoundation_CIASyncAction_get_Status
#define IASyncAction_get_ErrorCode __x_ABI_CWindows_CFoundation_CIASyncAction_get_ErrorCode
#define IASyncAction_Cancel __x_ABI_CWindows_CFoundation_CIASyncAction_Cancel
#define IASyncAction_Close __x_ABI_CWindows_CFoundation_CIASyncAction_Close
#define IASyncAction_put_Completed __x_ABI_CWindows_CFoundation_CIASyncAction_put_Completed
#define IASyncAction_get_Completed __x_ABI_CWindows_CFoundation_CIASyncAction_get_Completed
#define IASyncAction_GetResults __x_ABI_CWindows_CFoundation_CIASyncAction_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CFoundation_CIASyncAction_INTERFACE_DEFINED__ */

/*****************************************************************************
 * AsyncActionCompletedHandler interface
 */
#ifndef ____x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_INTERFACE_DEFINED__

DEFINE_GUID(IID___x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7);
#if defined(__cplusplus) && !defined(CINTERFACE)
} /* extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            MIDL_INTERFACE("a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7")
            AsyncActionCompletedHandler : public IUnknown
            {
                virtual HRESULT STDMETHODCALLTYPE Invoke(
                    ABI::Windows::Foundation::IAsyncAction *asyncAction,
                    enum AsyncStatus status) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler, 0xa4ed5c81, 0x76c9, 0x40bd, 0x8b,0xe6, 0xb1,0xd9,0x0f,0xb2,0x0a,0xe7)
#endif
#else
typedef struct __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandlerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler *This);

    /*** AsyncActionCompletedHandler methods ***/
    HRESULT (STDMETHODCALLTYPE *Invoke)(
        __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler *This,
        __x_ABI_CWindows_CFoundation_CIAsyncAction *asyncAction,
        enum __x_ABI_CWindows_CFoundation_CAsyncStatus status);

    END_INTERFACE
} __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandlerVtbl;

interface __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler {
    CONST_VTBL __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandlerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Release(This) (This)->lpVtbl->Release(This)
/*** AsyncActionCompletedHandler methods ***/
#define __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Invoke(This,asyncAction,status) (This)->lpVtbl->Invoke(This,asyncAction,status)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_QueryInterface(__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_AddRef(__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Release(__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler* This) {
    return This->lpVtbl->Release(This);
}
/*** AsyncActionCompletedHandler methods ***/
static FORCEINLINE HRESULT __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Invoke(__x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler* This,__x_ABI_CWindows_CFoundation_CIAsyncAction *asyncAction,enum __x_ABI_CWindows_CFoundation_CAsyncStatus status) {
    return This->lpVtbl->Invoke(This,asyncAction,status);
}
#endif
#ifdef WIDL_using_Windows_Foundation
#define IID_AsyncActionCompletedHandler IID___x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler
#define AsyncActionCompletedHandlerVtbl __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandlerVtbl
#define AsyncActionCompletedHandler __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler
#define AsyncActionCompletedHandler_QueryInterface __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_QueryInterface
#define AsyncActionCompletedHandler_AddRef __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_AddRef
#define AsyncActionCompletedHandler_Release __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Release
#define AsyncActionCompletedHandler_Invoke __x_ABI_CWindows_CFoundation_CAsyncActionCompletedHandler_Invoke
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#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(
                    ABI::Windows::Foundation::AsyncActionCompletedHandler *handler) = 0;

                virtual HRESULT STDMETHODCALLTYPE get_Completed(
                    ABI::Windows::Foundation::AsyncActionCompletedHandler **handler) = 0;

                virtual IInspectable * STDMETHODCALLTYPE GetResults(
                    ) = 0;

            };
        }
    }
}
extern "C" {
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(__x_ABI_CWindows_CFoundation_CIAsyncOperation, 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,
        enum __x_ABI_CWindows_CFoundation_CAsyncStatus *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,enum __x_ABI_CWindows_CFoundation_CAsyncStatus *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
#ifdef WIDL_using_Windows_Foundation
#define IID_IAsyncOperation IID___x_ABI_CWindows_CFoundation_CIAsyncOperation
#define IAsyncOperationVtbl __x_ABI_CWindows_CFoundation_CIAsyncOperationVtbl
#define IAsyncOperation __x_ABI_CWindows_CFoundation_CIAsyncOperation
#define IAsyncOperation_QueryInterface __x_ABI_CWindows_CFoundation_CIAsyncOperation_QueryInterface
#define IAsyncOperation_AddRef __x_ABI_CWindows_CFoundation_CIAsyncOperation_AddRef
#define IAsyncOperation_Release __x_ABI_CWindows_CFoundation_CIAsyncOperation_Release
#define IAsyncOperation_GetIids __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetIids
#define IAsyncOperation_GetRuntimeClassName __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetRuntimeClassName
#define IAsyncOperation_GetTrustLevel __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetTrustLevel
#define IAsyncOperation_get_Id __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Id
#define IAsyncOperation_get_Status __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Status
#define IAsyncOperation_get_ErrorCode __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_ErrorCode
#define IAsyncOperation_Cancel __x_ABI_CWindows_CFoundation_CIAsyncOperation_Cancel
#define IAsyncOperation_Close __x_ABI_CWindows_CFoundation_CIAsyncOperation_Close
#define IAsyncOperation_put_Completed __x_ABI_CWindows_CFoundation_CIAsyncOperation_put_Completed
#define IAsyncOperation_get_Completed __x_ABI_CWindows_CFoundation_CIAsyncOperation_get_Completed
#define IAsyncOperation_GetResults __x_ABI_CWindows_CFoundation_CIAsyncOperation_GetResults
#endif /* WIDL_using_Windows_Foundation */
#endif

#endif

#endif  /* ____x_ABI_CWindows_CFoundation_CIAsyncOperation_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __windows_foundation_h__ */
