// WARNING: Please don't edit this file. It was generated by Swift/WinRT v0.0.1

#pragma once
// Header files for imported files
#include <inspectable.h>
#include <EventToken.h>
#include <windowscontracts.h>
#include "Windows.Foundation.h"
#include "Windows.ApplicationModel.Background.h"

/* Forward Declarations */
#ifndef ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel_FWD_DEFINED__
#define ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel_FWD_DEFINED__
    typedef interface __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel;

#endif // ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel_FWD_DEFINED__

#ifndef ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult_FWD_DEFINED__
#define ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult_FWD_DEFINED__
    typedef interface __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult;

#endif // ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult_FWD_DEFINED__

#ifndef ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager_FWD_DEFINED__
#define ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager_FWD_DEFINED__
    typedef interface __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager;

#endif // ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager_FWD_DEFINED__

#ifndef ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics_FWD_DEFINED__
#define ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics_FWD_DEFINED__
    typedef interface __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics;

#endif // ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics_FWD_DEFINED__

#ifndef ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs_FWD_DEFINED__
#define ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs_FWD_DEFINED__
    typedef interface __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs;

#endif // ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

typedef struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationCreateChannelStatus __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationCreateChannelStatus;

typedef interface __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus;

typedef interface __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus;

#if !defined(____x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus;

    typedef struct __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatusVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
        __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* asyncInfo,
        enum __x_ABI_CWindows_CFoundation_CAsyncStatus asyncStatus);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatusVtbl;

    interface __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatusVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus;

    typedef struct __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatusVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* put_Progress)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
        __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* handler);
    HRESULT (STDMETHODCALLTYPE* get_Progress)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
        __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus** result);
    HRESULT (STDMETHODCALLTYPE* put_Completed)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
        __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* handler);
    HRESULT (STDMETHODCALLTYPE* get_Completed)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
        __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus** result);
    HRESULT (STDMETHODCALLTYPE* GetResults)(__x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
        __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult** result);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatusVtbl;

    interface __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatusVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus;

    typedef struct __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatusVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* This,
        __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus* asyncInfo,
        struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationCreateChannelStatus progressInfo);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatusVtbl;

    interface __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatusVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs __x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs;

    //  Declare the parameterized interface IID.
    EXTERN_C const IID IID___x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs;

    typedef struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs* This,
        __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* sender,
        __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgsVtbl;

    interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgsVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs_INTERFACE_DEFINED__
    
#ifndef ____x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskCanceledEventHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskCanceledEventHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskCanceledEventHandler __x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskCanceledEventHandler;

#endif // ____x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskCanceledEventHandler_FWD_DEFINED__

    #ifndef ____x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskDeferral_FWD_DEFINED__
#define ____x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskDeferral_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskDeferral __x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskDeferral;

#endif // ____x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskDeferral_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CFoundation_CAsyncStatus __x_ABI_CWindows_CFoundation_CAsyncStatus;

typedef struct __x_ABI_CWindows_CFoundation_CDateTime __x_ABI_CWindows_CFoundation_CDateTime;

#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;

#endif // ____x_ABI_CWindows_CFoundation_CIAsyncInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CFoundation_CIUriRuntimeClass __x_ABI_CWindows_CFoundation_CIUriRuntimeClass;

#endif // ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_FWD_DEFINED__

typedef enum __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationChannelStatus __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationChannelStatus;

enum __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationChannelStatus
    {
        __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationChannelStatus_InProgress = 0,
    __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationChannelStatus_InProgressRetry = 1,
    __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationChannelStatus_CompletedSuccess = 2,
    __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationChannelStatus_CompletedFailure = 3,
};

struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationCreateChannelStatus
    {
        enum __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationChannelStatus status;
    HRESULT extendedError;
    UINT32 retryCount;
};

#if !defined(____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel_INTERFACE_DEFINED__)
    #define ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel_INTERFACE_DEFINED__
    typedef struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannelVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Uri)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel* This,
        __x_ABI_CWindows_CFoundation_CIUriRuntimeClass** value);
    HRESULT (STDMETHODCALLTYPE* get_ExpirationTime)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel* This,
        struct __x_ABI_CWindows_CFoundation_CDateTime* value);
    HRESULT (STDMETHODCALLTYPE* Close)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel* This);

        END_INTERFACE
    } __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannelVtbl;

    interface __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel
    {
        CONST_VTBL struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannelVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel;
#endif /* !defined(____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult_INTERFACE_DEFINED__)
    #define ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult_INTERFACE_DEFINED__
    typedef struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Channel)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult* This,
        __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationChannel** value);
    HRESULT (STDMETHODCALLTYPE* get_ExtendedError)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult* This,
        HRESULT* value);
    HRESULT (STDMETHODCALLTYPE* get_Status)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult* This,
        enum __x_ABI_CMicrosoft_CWindows_CPushNotifications_CPushNotificationChannelStatus* value);

        END_INTERFACE
    } __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResultVtbl;

    interface __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult
    {
        CONST_VTBL struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResultVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult;
#endif /* !defined(____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationCreateChannelResult_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager_INTERFACE_DEFINED__)
    #define ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager_INTERFACE_DEFINED__
    typedef struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* Register)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This);
    HRESULT (STDMETHODCALLTYPE* Unregister)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This);
    HRESULT (STDMETHODCALLTYPE* UnregisterAll)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This);
    HRESULT (STDMETHODCALLTYPE* CreateChannelAsync)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This,
        GUID remoteId,
        __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelResult___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationCreateChannelStatus** operation);
    HRESULT (STDMETHODCALLTYPE* add_PushReceived)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This,
        __x_ABI_C__FITypedEventHandler_2___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationManager___x_ABI_CMicrosoft__CWindows__CPushNotifications__CPushNotificationReceivedEventArgs* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_PushReceived)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager* This,
        EventRegistrationToken token);

        END_INTERFACE
    } __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerVtbl;

    interface __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager
    {
        CONST_VTBL struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager;
#endif /* !defined(____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* IsSupported)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* get_Default)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics* This,
        __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManager** value);

        END_INTERFACE
    } __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStaticsVtbl;

    interface __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics
    {
        CONST_VTBL struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics;
#endif /* !defined(____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationManagerStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs_INTERFACE_DEFINED__
    typedef struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Payload)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs* This,
        UINT32* valueLength,
        BYTE** value);
    HRESULT (STDMETHODCALLTYPE* GetDeferral)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs* This,
        __x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskDeferral** result);
    HRESULT (STDMETHODCALLTYPE* add_Canceled)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs* This,
        __x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTaskCanceledEventHandler* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_Canceled)(__x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs* This,
        EventRegistrationToken token);

        END_INTERFACE
    } __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgsVtbl;

    interface __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs
    {
        CONST_VTBL struct __x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs;
#endif /* !defined(____x_ABI_CMicrosoft_CWindows_CPushNotifications_CIPushNotificationReceivedEventArgs_INTERFACE_DEFINED__) */
    
