// 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.Networking.Sockets.h"
#include "Windows.Security.Credentials.h"
#include "Windows.Security.Cryptography.Certificates.h"
#include "Windows.System.h"
#include "Windows.Web.Http.h"
// Importing Collections header
#include "Windows.Foundation.Collections.h"

/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2 __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3 __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4 __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5 __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

#ifndef ____x_ABI_CWindows_CWeb_CHttp_CIHttpResponseMessage_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CIHttpResponseMessage_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CIHttpResponseMessage __x_ABI_CWindows_CWeb_CHttp_CIHttpResponseMessage;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CIHttpResponseMessage_FWD_DEFINED__

typedef struct __x_ABI_CWindows_CWeb_CHttp_CHttpProgress __x_ABI_CWindows_CWeb_CHttp_CHttpProgress;

typedef interface __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress;

typedef interface __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress;

#if !defined(____x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress;

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

    typedef struct __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgressVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgressVtbl;

    interface __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgressVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationWithProgressCompletedHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress;

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

    typedef struct __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgressVtbl
    {
        BEGIN_INTERFACE

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

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgressVtbl;

    interface __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgressVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress;

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

    typedef struct __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgressVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress* This,
        __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress* asyncInfo,
        struct __x_ABI_CWindows_CWeb_CHttp_CHttpProgress progressInfo);

        END_INTERFACE
    } __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgressVtbl;

    interface __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress
    {
        CONST_VTBL struct __x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgressVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIAsyncOperationProgressHandler_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress_INTERFACE_DEFINED__
    
#ifndef ____x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate;

#endif // ____x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate_FWD_DEFINED__

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificateVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
        __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate** result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
        UINT32 itemsLength,
        __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificateVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificateVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificateVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificateVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificateVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult;

#if !defined(____x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult;

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

    typedef struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_Current)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult* result);
    HRESULT (STDMETHODCALLTYPE* get_HasCurrent)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* MoveNext)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl;

    interface __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult
    {
        CONST_VTBL struct __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult;

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

    typedef struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* First)(__x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        __x_ABI_C__FIIterator_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult** result);

        END_INTERFACE
    } __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl;

    interface __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult
    {
        CONST_VTBL struct __x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIIterable_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate;

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

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificateVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
        UINT32 index,
        __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate** result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
        __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate* value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate** items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificateVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificateVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult;

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

    typedef struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        UINT32 index,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult* items,
        UINT32* result);

        END_INTERFACE
    } __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl;

    interface __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult
    {
        CONST_VTBL struct __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult __x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult;

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

    typedef struct __x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* GetAt)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        UINT32 index,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult* result);
    HRESULT (STDMETHODCALLTYPE* get_Size)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* GetView)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult** result);
    HRESULT (STDMETHODCALLTYPE* IndexOf)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult value,
        UINT32* index,
        boolean* result);
    HRESULT (STDMETHODCALLTYPE* SetAt)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        UINT32 index,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult value);
    HRESULT (STDMETHODCALLTYPE* InsertAt)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        UINT32 index,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult value);
    HRESULT (STDMETHODCALLTYPE* RemoveAt)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        UINT32 index);
    HRESULT (STDMETHODCALLTYPE* Append)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult value);
    HRESULT (STDMETHODCALLTYPE* RemoveAtEnd)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This);
    HRESULT (STDMETHODCALLTYPE* Clear)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This);
    HRESULT (STDMETHODCALLTYPE* GetMany)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        UINT32 startIndex,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult* items,
        UINT32* result);
    HRESULT (STDMETHODCALLTYPE* ReplaceAll)(__x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult* This,
        UINT32 itemsLength,
        enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult* items);

        END_INTERFACE
    } __x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl;

    interface __x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult
    {
        CONST_VTBL struct __x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResultVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult_INTERFACE_DEFINED__
    
#if !defined(____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__

    typedef interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgs __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgs;

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

    typedef struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* Invoke)(__x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgs* This,
        __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* sender,
        __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* args);

        END_INTERFACE
    } __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgsVtbl;

    interface __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgs
    {
        CONST_VTBL struct __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgsVtbl* lpVtbl;
    };

    
    #endif // ____x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__
    
typedef enum __x_ABI_CWindows_CFoundation_CAsyncStatus __x_ABI_CWindows_CFoundation_CAsyncStatus;

#ifndef ____x_ABI_CWindows_CFoundation_CIDeferral_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIDeferral_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CFoundation_CIDeferral __x_ABI_CWindows_CFoundation_CIDeferral;

#endif // ____x_ABI_CWindows_CFoundation_CIDeferral_FWD_DEFINED__

#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_CIClosable_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CFoundation_CIClosable __x_ABI_CWindows_CFoundation_CIClosable;

#endif // ____x_ABI_CWindows_CFoundation_CIClosable_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CSocketSslErrorSeverity __x_ABI_CWindows_CNetworking_CSockets_CSocketSslErrorSeverity;

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential;

#endif // ____x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CSystem_CIUser_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIUser_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CSystem_CIUser __x_ABI_CWindows_CSystem_CIUser;

#endif // ____x_ABI_CWindows_CSystem_CIUser_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CWeb_CHttp_CIHttpCookieManager_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CIHttpCookieManager_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CIHttpCookieManager __x_ABI_CWindows_CWeb_CHttp_CIHttpCookieManager;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CIHttpCookieManager_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CWeb_CHttp_CIHttpRequestMessage_FWD_DEFINED__
#define ____x_ABI_CWindows_CWeb_CHttp_CIHttpRequestMessage_FWD_DEFINED__
    typedef interface __x_ABI_CWindows_CWeb_CHttp_CIHttpRequestMessage __x_ABI_CWindows_CWeb_CHttp_CIHttpRequestMessage;

#endif // ____x_ABI_CWindows_CWeb_CHttp_CIHttpRequestMessage_FWD_DEFINED__

typedef enum __x_ABI_CWindows_CWeb_CHttp_CHttpVersion __x_ABI_CWindows_CWeb_CHttp_CHttpVersion;

typedef enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheReadBehavior __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheReadBehavior;

typedef enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheWriteBehavior __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheWriteBehavior;

typedef enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCookieUsageBehavior __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCookieUsageBehavior;

enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheReadBehavior
    {
        __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheReadBehavior_Default = 0,
    __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheReadBehavior_MostRecent = 1,
    __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheReadBehavior_OnlyFromCache = 2,
    __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheReadBehavior_NoCache = 3,
};

enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheWriteBehavior
    {
        __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheWriteBehavior_Default = 0,
    __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheWriteBehavior_NoCache = 1,
};

enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCookieUsageBehavior
    {
        __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCookieUsageBehavior_Default = 0,
    __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCookieUsageBehavior_NoCookies = 1,
};

#if !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_AllowAutoRedirect)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_AllowAutoRedirect)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_AllowUI)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_AllowUI)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_AutomaticDecompression)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_AutomaticDecompression)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        boolean value);
    HRESULT (STDMETHODCALLTYPE* get_CacheControl)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl** value);
    HRESULT (STDMETHODCALLTYPE* get_CookieManager)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        __x_ABI_CWindows_CWeb_CHttp_CIHttpCookieManager** value);
    HRESULT (STDMETHODCALLTYPE* get_ClientCertificate)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate** value);
    HRESULT (STDMETHODCALLTYPE* put_ClientCertificate)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate* value);
    HRESULT (STDMETHODCALLTYPE* get_IgnorableServerCertificateErrors)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        __x_ABI_C__FIVector_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult** value);
    HRESULT (STDMETHODCALLTYPE* get_MaxConnectionsPerServer)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        UINT32* value);
    HRESULT (STDMETHODCALLTYPE* put_MaxConnectionsPerServer)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        UINT32 value);
    HRESULT (STDMETHODCALLTYPE* get_ProxyCredential)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential** value);
    HRESULT (STDMETHODCALLTYPE* put_ProxyCredential)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential* value);
    HRESULT (STDMETHODCALLTYPE* get_ServerCredential)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential** value);
    HRESULT (STDMETHODCALLTYPE* put_ServerCredential)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential* value);
    HRESULT (STDMETHODCALLTYPE* get_UseProxy)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        boolean* value);
    HRESULT (STDMETHODCALLTYPE* put_UseProxy)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter* This,
        boolean value);

        END_INTERFACE
    } __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterVtbl;

    interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter
    {
        CONST_VTBL struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter;
#endif /* !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_MaxVersion)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2* This,
        enum __x_ABI_CWindows_CWeb_CHttp_CHttpVersion* value);
    HRESULT (STDMETHODCALLTYPE* put_MaxVersion)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2* This,
        enum __x_ABI_CWindows_CWeb_CHttp_CHttpVersion value);

        END_INTERFACE
    } __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2Vtbl;

    interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2
    {
        CONST_VTBL struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2;
#endif /* !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter2_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_CookieUsageBehavior)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3* This,
        enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCookieUsageBehavior* value);
    HRESULT (STDMETHODCALLTYPE* put_CookieUsageBehavior)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3* This,
        enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCookieUsageBehavior value);

        END_INTERFACE
    } __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3Vtbl;

    interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3
    {
        CONST_VTBL struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3;
#endif /* !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter3_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* add_ServerCustomValidationRequested)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4* This,
        __x_ABI_C__FITypedEventHandler_2___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpBaseProtocolFilter___x_ABI_CWindows__CWeb__CHttp__CFilters__CHttpServerCustomValidationRequestedEventArgs* handler,
        EventRegistrationToken* token);
    HRESULT (STDMETHODCALLTYPE* remove_ServerCustomValidationRequested)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4* This,
        EventRegistrationToken token);
    HRESULT (STDMETHODCALLTYPE* ClearAuthenticationCache)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4* This);

        END_INTERFACE
    } __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4Vtbl;

    interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4
    {
        CONST_VTBL struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4;
#endif /* !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter4_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5Vtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_User)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5* This,
        __x_ABI_CWindows_CSystem_CIUser** value);

        END_INTERFACE
    } __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5Vtbl;

    interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5
    {
        CONST_VTBL struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5Vtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5;
#endif /* !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter5_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStaticsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* CreateForUser)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics* This,
        __x_ABI_CWindows_CSystem_CIUser* user,
        __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilter** result);

        END_INTERFACE
    } __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStaticsVtbl;

    interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStaticsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics;
#endif /* !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpBaseProtocolFilterStatics_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControlVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_ReadBehavior)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl* This,
        enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheReadBehavior* value);
    HRESULT (STDMETHODCALLTYPE* put_ReadBehavior)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl* This,
        enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheReadBehavior value);
    HRESULT (STDMETHODCALLTYPE* get_WriteBehavior)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl* This,
        enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheWriteBehavior* value);
    HRESULT (STDMETHODCALLTYPE* put_WriteBehavior)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl* This,
        enum __x_ABI_CWindows_CWeb_CHttp_CFilters_CHttpCacheWriteBehavior value);

        END_INTERFACE
    } __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControlVtbl;

    interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControlVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl;
#endif /* !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpCacheControl_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilterVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* SendRequestAsync)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter* This,
        __x_ABI_CWindows_CWeb_CHttp_CIHttpRequestMessage* request,
        __x_ABI_C__FIAsyncOperationWithProgress_2___x_ABI_CWindows__CWeb__CHttp__CHttpResponseMessage___x_ABI_CWindows__CWeb__CHttp__CHttpProgress** operation);

        END_INTERFACE
    } __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilterVtbl;

    interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter
    {
        CONST_VTBL struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilterVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter;
#endif /* !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpFilter_INTERFACE_DEFINED__) */
    
#if !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__)
    #define ____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__
    typedef struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE

        HRESULT (STDMETHODCALLTYPE* QueryInterface)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This,
            REFIID riid,
            void** ppvObject);
        ULONG (STDMETHODCALLTYPE* AddRef)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This);
        ULONG (STDMETHODCALLTYPE* Release)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This);
        HRESULT (STDMETHODCALLTYPE* GetIids)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This,
            ULONG* iidCount,
            IID** iids);
        HRESULT (STDMETHODCALLTYPE* GetRuntimeClassName)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This,
            HSTRING* className);
        HRESULT (STDMETHODCALLTYPE* GetTrustLevel)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This,
            TrustLevel* trustLevel);
        HRESULT (STDMETHODCALLTYPE* get_RequestMessage)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This,
        __x_ABI_CWindows_CWeb_CHttp_CIHttpRequestMessage** value);
    HRESULT (STDMETHODCALLTYPE* get_ServerCertificate)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This,
        __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate** value);
    HRESULT (STDMETHODCALLTYPE* get_ServerCertificateErrorSeverity)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This,
        enum __x_ABI_CWindows_CNetworking_CSockets_CSocketSslErrorSeverity* value);
    HRESULT (STDMETHODCALLTYPE* get_ServerCertificateErrors)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CChainValidationResult** value);
    HRESULT (STDMETHODCALLTYPE* get_ServerIntermediateCertificates)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This,
        __x_ABI_C__FIVectorView_1___x_ABI_CWindows__CSecurity__CCryptography__CCertificates__CCertificate** value);
    HRESULT (STDMETHODCALLTYPE* Reject)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This);
    HRESULT (STDMETHODCALLTYPE* GetDeferral)(__x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs* This,
        __x_ABI_CWindows_CFoundation_CIDeferral** result);

        END_INTERFACE
    } __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgsVtbl;

    interface __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgsVtbl* lpVtbl;
    };

    
    EXTERN_C const IID IID___x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs;
#endif /* !defined(____x_ABI_CWindows_CWeb_CHttp_CFilters_CIHttpServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__) */
    
