/* Header file automatically generated from windows.networking.vpn.idl */
/*
 * File built with Microsoft(R) MIDLRT Compiler Engine Version 10.00.0223 
 */

#pragma warning( disable: 4049 )  /* more than 64k source lines */

/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif

/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#endif

#include <rpc.h>
#include <rpcndr.h>

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif /*COM_NO_WINDOWS_H*/
#ifndef __windows2Enetworking2Evpn_h__
#define __windows2Enetworking2Evpn_h__
#ifndef __windows2Enetworking2Evpn_p_h__
#define __windows2Enetworking2Evpn_p_h__


#pragma once

//
// Deprecated attribute support
//

#pragma push_macro("DEPRECATED")
#undef DEPRECATED

#if !defined(DISABLE_WINRT_DEPRECATION)
#if defined(__cplusplus)
#if __cplusplus >= 201402
#define DEPRECATED(x) [[deprecated(x)]]
#define DEPRECATEDENUMERATOR(x) [[deprecated(x)]]
#elif defined(_MSC_VER)
#if _MSC_VER >= 1900
#define DEPRECATED(x) [[deprecated(x)]]
#define DEPRECATEDENUMERATOR(x) [[deprecated(x)]]
#else
#define DEPRECATED(x) __declspec(deprecated(x))
#define DEPRECATEDENUMERATOR(x)
#endif // _MSC_VER >= 1900
#else // Not Standard C++ or MSVC, ignore the construct.
#define DEPRECATED(x)
#define DEPRECATEDENUMERATOR(x)
#endif  // C++ deprecation
#else // C - disable deprecation
#define DEPRECATED(x)
#define DEPRECATEDENUMERATOR(x)
#endif
#else // Deprecation is disabled
#define DEPRECATED(x)
#define DEPRECATEDENUMERATOR(x)
#endif  /* DEPRECATED */

// Disable Deprecation for this header, MIDL verifies that cross-type access is acceptable
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
#else
#pragma warning(push)
#pragma warning(disable: 4996)
#endif

// Ensure that the setting of the /ns_prefix command line switch is consistent for all headers.
// If you get an error from the compiler indicating "warning C4005: 'CHECK_NS_PREFIX_STATE': macro redefinition", this
// indicates that you have included two different headers with different settings for the /ns_prefix MIDL command line switch
#if !defined(DISABLE_NS_PREFIX_CHECKS)
#define CHECK_NS_PREFIX_STATE "always"
#endif // !defined(DISABLE_NS_PREFIX_CHECKS)


#pragma push_macro("MIDL_CONST_ID")
#undef MIDL_CONST_ID
#define MIDL_CONST_ID const __declspec(selectany)


//  API Contract Inclusion Definitions
#if !defined(SPECIFIC_API_CONTRACT_DEFINITIONS)
#if !defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATEDEVENTSCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATEDEVENTSCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATEDEVENTSCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATIONCAMERASETTINGSCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATIONCAMERASETTINGSCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_ACTIVATIONCAMERASETTINGSCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_CONTACTACTIVATEDEVENTSCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_ACTIVATION_CONTACTACTIVATEDEVENTSCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_CONTACTACTIVATEDEVENTSCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_WEBUISEARCHACTIVATEDEVENTSCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_ACTIVATION_WEBUISEARCHACTIVATEDEVENTSCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_ACTIVATION_WEBUISEARCHACTIVATEDEVENTSCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_BACKGROUND_BACKGROUNDALARMAPPLICATIONCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_BACKGROUND_BACKGROUNDALARMAPPLICATIONCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_BACKGROUND_BACKGROUNDALARMAPPLICATIONCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_CALLS_BACKGROUND_CALLSBACKGROUNDCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_CALLS_BACKGROUND_CALLSBACKGROUNDCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_CALLS_BACKGROUND_CALLSBACKGROUNDCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION 0x40000
#endif // defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSVOIPCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_CALLS_CALLSVOIPCONTRACT_VERSION 0x40000
#endif // defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSVOIPCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_CALLS_LOCKSCREENCALLCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_CALLS_LOCKSCREENCALLCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_CALLS_LOCKSCREENCALLCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_COMMUNICATIONBLOCKING_COMMUNICATIONBLOCKINGCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_COMMUNICATIONBLOCKING_COMMUNICATIONBLOCKINGCONTRACT_VERSION 0x20000
#endif // defined(WINDOWS_APPLICATIONMODEL_COMMUNICATIONBLOCKING_COMMUNICATIONBLOCKINGCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_FULLTRUSTAPPCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_FULLTRUSTAPPCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_FULLTRUSTAPPCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_SEARCH_SEARCHCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_SEARCH_SEARCHCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_SEARCH_SEARCHCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_STARTUPTASKCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_STARTUPTASKCONTRACT_VERSION 0x30000
#endif // defined(WINDOWS_APPLICATIONMODEL_STARTUPTASKCONTRACT_VERSION)

#if !defined(WINDOWS_APPLICATIONMODEL_WALLET_WALLETCONTRACT_VERSION)
#define WINDOWS_APPLICATIONMODEL_WALLET_WALLETCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_APPLICATIONMODEL_WALLET_WALLETCONTRACT_VERSION)

#if !defined(WINDOWS_DEVICES_PRINTERS_EXTENSIONS_EXTENSIONSCONTRACT_VERSION)
#define WINDOWS_DEVICES_PRINTERS_EXTENSIONS_EXTENSIONSCONTRACT_VERSION 0x20000
#endif // defined(WINDOWS_DEVICES_PRINTERS_EXTENSIONS_EXTENSIONSCONTRACT_VERSION)

#if !defined(WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION)
#define WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION 0x30000
#endif // defined(WINDOWS_DEVICES_SMARTCARDS_SMARTCARDBACKGROUNDTRIGGERCONTRACT_VERSION)

#if !defined(WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION)
#define WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION 0x60000
#endif // defined(WINDOWS_DEVICES_SMARTCARDS_SMARTCARDEMULATORCONTRACT_VERSION)

#if !defined(WINDOWS_DEVICES_SMS_LEGACYSMSAPICONTRACT_VERSION)
#define WINDOWS_DEVICES_SMS_LEGACYSMSAPICONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_DEVICES_SMS_LEGACYSMSAPICONTRACT_VERSION)

#if !defined(WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION)
#define WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION 0x30000
#endif // defined(WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION)

#if !defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION)
#define WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION 0x70000
#endif // defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION)

#if !defined(WINDOWS_GAMING_INPUT_GAMINGINPUTPREVIEWCONTRACT_VERSION)
#define WINDOWS_GAMING_INPUT_GAMINGINPUTPREVIEWCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_GAMING_INPUT_GAMINGINPUTPREVIEWCONTRACT_VERSION)

#if !defined(WINDOWS_GLOBALIZATION_GLOBALIZATIONJAPANESEPHONETICANALYZERCONTRACT_VERSION)
#define WINDOWS_GLOBALIZATION_GLOBALIZATIONJAPANESEPHONETICANALYZERCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_GLOBALIZATION_GLOBALIZATIONJAPANESEPHONETICANALYZERCONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_CAPTURE_APPBROADCASTCONTRACT_VERSION)
#define WINDOWS_MEDIA_CAPTURE_APPBROADCASTCONTRACT_VERSION 0x20000
#endif // defined(WINDOWS_MEDIA_CAPTURE_APPBROADCASTCONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_CAPTURE_APPCAPTURECONTRACT_VERSION)
#define WINDOWS_MEDIA_CAPTURE_APPCAPTURECONTRACT_VERSION 0x40000
#endif // defined(WINDOWS_MEDIA_CAPTURE_APPCAPTURECONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_CAPTURE_APPCAPTUREMETADATACONTRACT_VERSION)
#define WINDOWS_MEDIA_CAPTURE_APPCAPTUREMETADATACONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_CAPTURE_APPCAPTUREMETADATACONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_CAPTURE_CAMERACAPTUREUICONTRACT_VERSION)
#define WINDOWS_MEDIA_CAPTURE_CAMERACAPTUREUICONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_CAPTURE_CAMERACAPTUREUICONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_CAPTURE_GAMEBARCONTRACT_VERSION)
#define WINDOWS_MEDIA_CAPTURE_GAMEBARCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_CAPTURE_GAMEBARCONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_DEVICES_CALLCONTROLCONTRACT_VERSION)
#define WINDOWS_MEDIA_DEVICES_CALLCONTROLCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_DEVICES_CALLCONTROLCONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_MEDIACONTROLCONTRACT_VERSION)
#define WINDOWS_MEDIA_MEDIACONTROLCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_MEDIACONTROLCONTRACT_VERSION)

#if !defined(WINDOWS_MEDIA_PROTECTION_PROTECTIONRENEWALCONTRACT_VERSION)
#define WINDOWS_MEDIA_PROTECTION_PROTECTIONRENEWALCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_MEDIA_PROTECTION_PROTECTIONRENEWALCONTRACT_VERSION)

#if !defined(WINDOWS_NETWORKING_CONNECTIVITY_WWANCONTRACT_VERSION)
#define WINDOWS_NETWORKING_CONNECTIVITY_WWANCONTRACT_VERSION 0x20000
#endif // defined(WINDOWS_NETWORKING_CONNECTIVITY_WWANCONTRACT_VERSION)

#if !defined(WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION)
#define WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION 0x30000
#endif // defined(WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION)

#if !defined(WINDOWS_PHONE_PHONECONTRACT_VERSION)
#define WINDOWS_PHONE_PHONECONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_PHONE_PHONECONTRACT_VERSION)

#if !defined(WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION)
#define WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION)

#if !defined(WINDOWS_SECURITY_ENTERPRISEDATA_ENTERPRISEDATACONTRACT_VERSION)
#define WINDOWS_SECURITY_ENTERPRISEDATA_ENTERPRISEDATACONTRACT_VERSION 0x50000
#endif // defined(WINDOWS_SECURITY_ENTERPRISEDATA_ENTERPRISEDATACONTRACT_VERSION)

#if !defined(WINDOWS_STORAGE_PROVIDER_CLOUDFILESCONTRACT_VERSION)
#define WINDOWS_STORAGE_PROVIDER_CLOUDFILESCONTRACT_VERSION 0x30000
#endif // defined(WINDOWS_STORAGE_PROVIDER_CLOUDFILESCONTRACT_VERSION)

#if !defined(WINDOWS_SYSTEM_ANDROMEDAPLACEHOLDERCONTRACT_VERSION)
#define WINDOWS_SYSTEM_ANDROMEDAPLACEHOLDERCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_SYSTEM_ANDROMEDAPLACEHOLDERCONTRACT_VERSION)

#if !defined(WINDOWS_SYSTEM_SYSTEMMANAGEMENTCONTRACT_VERSION)
#define WINDOWS_SYSTEM_SYSTEMMANAGEMENTCONTRACT_VERSION 0x60000
#endif // defined(WINDOWS_SYSTEM_SYSTEMMANAGEMENTCONTRACT_VERSION)

#if !defined(WINDOWS_UI_CORE_COREWINDOWDIALOGSCONTRACT_VERSION)
#define WINDOWS_UI_CORE_COREWINDOWDIALOGSCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_UI_CORE_COREWINDOWDIALOGSCONTRACT_VERSION)

#if !defined(WINDOWS_UI_VIEWMANAGEMENT_VIEWMANAGEMENTVIEWSCALINGCONTRACT_VERSION)
#define WINDOWS_UI_VIEWMANAGEMENT_VIEWMANAGEMENTVIEWSCALINGCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_UI_VIEWMANAGEMENT_VIEWMANAGEMENTVIEWSCALINGCONTRACT_VERSION)

#if !defined(WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION)
#define WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION 0x10000
#endif // defined(WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION)

#endif // defined(SPECIFIC_API_CONTRACT_DEFINITIONS)


// Header files for imported files
#include "inspectable.h"
#include "AsyncInfo.h"
#include "EventToken.h"
#include "windowscontracts.h"
#include "Windows.Foundation.h"
#include "Windows.Networking.h"
#include "Windows.Networking.Sockets.h"
#include "Windows.Security.Credentials.h"
#include "Windows.Security.Cryptography.Certificates.h"
#include "Windows.Storage.Streams.h"
// Importing Collections header
#include <windows.foundation.collections.h>

#if defined(__cplusplus) && !defined(CINTERFACE)
/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnAppId;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId ABI::Windows::Networking::Vpn::IVpnAppId

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnAppIdFactory;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory ABI::Windows::Networking::Vpn::IVpnAppIdFactory

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannel;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel ABI::Windows::Networking::Vpn::IVpnChannel

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannel2;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 ABI::Windows::Networking::Vpn::IVpnChannel2

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannel4;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 ABI::Windows::Networking::Vpn::IVpnChannel4

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannelActivityEventArgs;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs ABI::Windows::Networking::Vpn::IVpnChannelActivityEventArgs

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannelActivityStateChangedArgs;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs ABI::Windows::Networking::Vpn::IVpnChannelActivityStateChangedArgs

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannelConfiguration;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration ABI::Windows::Networking::Vpn::IVpnChannelConfiguration

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannelConfiguration2;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2 ABI::Windows::Networking::Vpn::IVpnChannelConfiguration2

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannelStatics;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics ABI::Windows::Networking::Vpn::IVpnChannelStatics

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCredential;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential ABI::Windows::Networking::Vpn::IVpnCredential

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomCheckBox;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox ABI::Windows::Networking::Vpn::IVpnCustomCheckBox

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomComboBox;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox ABI::Windows::Networking::Vpn::IVpnCustomComboBox

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomEditBox;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox ABI::Windows::Networking::Vpn::IVpnCustomEditBox

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomErrorBox;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox ABI::Windows::Networking::Vpn::IVpnCustomErrorBox

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPrompt;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt ABI::Windows::Networking::Vpn::IVpnCustomPrompt

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPromptBooleanInput;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput ABI::Windows::Networking::Vpn::IVpnCustomPromptBooleanInput

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPromptElement;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement ABI::Windows::Networking::Vpn::IVpnCustomPromptElement

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPromptOptionSelector;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector ABI::Windows::Networking::Vpn::IVpnCustomPromptOptionSelector

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPromptText;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText ABI::Windows::Networking::Vpn::IVpnCustomPromptText

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPromptTextInput;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput ABI::Windows::Networking::Vpn::IVpnCustomPromptTextInput

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomTextBox;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox ABI::Windows::Networking::Vpn::IVpnCustomTextBox

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnDomainNameAssignment;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment ABI::Windows::Networking::Vpn::IVpnDomainNameAssignment

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnDomainNameInfo;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo ABI::Windows::Networking::Vpn::IVpnDomainNameInfo

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnDomainNameInfo2;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2 ABI::Windows::Networking::Vpn::IVpnDomainNameInfo2

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnDomainNameInfoFactory;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory ABI::Windows::Networking::Vpn::IVpnDomainNameInfoFactory

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnInterfaceId;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId ABI::Windows::Networking::Vpn::IVpnInterfaceId

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnInterfaceIdFactory;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory ABI::Windows::Networking::Vpn::IVpnInterfaceIdFactory

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnManagementAgent;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent ABI::Windows::Networking::Vpn::IVpnManagementAgent

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnNamespaceAssignment;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment ABI::Windows::Networking::Vpn::IVpnNamespaceAssignment

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnNamespaceInfo;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo ABI::Windows::Networking::Vpn::IVpnNamespaceInfo

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnNamespaceInfoFactory;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory ABI::Windows::Networking::Vpn::IVpnNamespaceInfoFactory

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnNativeProfile;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile ABI::Windows::Networking::Vpn::IVpnNativeProfile

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnNativeProfile2;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2 ABI::Windows::Networking::Vpn::IVpnNativeProfile2

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPacketBuffer;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer ABI::Windows::Networking::Vpn::IVpnPacketBuffer

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPacketBuffer2;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2 ABI::Windows::Networking::Vpn::IVpnPacketBuffer2

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPacketBuffer3;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3 ABI::Windows::Networking::Vpn::IVpnPacketBuffer3

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPacketBufferFactory;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory ABI::Windows::Networking::Vpn::IVpnPacketBufferFactory

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPacketBufferList;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList ABI::Windows::Networking::Vpn::IVpnPacketBufferList

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPacketBufferList2;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 ABI::Windows::Networking::Vpn::IVpnPacketBufferList2

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPickedCredential;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential ABI::Windows::Networking::Vpn::IVpnPickedCredential

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPlugIn;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn ABI::Windows::Networking::Vpn::IVpnPlugIn

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPlugInProfile;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile ABI::Windows::Networking::Vpn::IVpnPlugInProfile

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPlugInProfile2;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2 ABI::Windows::Networking::Vpn::IVpnPlugInProfile2

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnProfile;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile ABI::Windows::Networking::Vpn::IVpnProfile

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnRoute;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute ABI::Windows::Networking::Vpn::IVpnRoute

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnRouteAssignment;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment ABI::Windows::Networking::Vpn::IVpnRouteAssignment

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnRouteFactory;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory ABI::Windows::Networking::Vpn::IVpnRouteFactory

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnSystemHealth;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth ABI::Windows::Networking::Vpn::IVpnSystemHealth

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnTrafficFilter;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter ABI::Windows::Networking::Vpn::IVpnTrafficFilter

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnTrafficFilterAssignment;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment ABI::Windows::Networking::Vpn::IVpnTrafficFilterAssignment

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnTrafficFilterFactory;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory ABI::Windows::Networking::Vpn::IVpnTrafficFilterFactory

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_FWD_DEFINED__

// Parameterized interface forward declarations (C++)

// Collection interface definitions

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("6fc7cfe8-1882-5ba1-8e5e-4c5e3a4fa86d"))
IIterator<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> : IIterator_impl<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Networking.Vpn.IVpnCustomPrompt>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t;
#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*>
//#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("8bac695c-70cb-54d6-8606-af6e3a25e3a1"))
IIterable<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> : IIterable_impl<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Networking.Vpn.IVpnCustomPrompt>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t;
#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*>
//#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("ee23ff21-51ba-5cc4-9856-625c79c28080"))
IIterator<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> : IIterator_impl<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Networking.Vpn.IVpnCustomPromptElement>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t;
#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*>
//#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("437d3693-00c4-50b4-989a-938f1016a230"))
IIterable<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> : IIterable_impl<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Networking.Vpn.IVpnCustomPromptElement>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t;
#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*>
//#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("91ccb492-ec28-530b-b45e-c431744ca9b5"))
IIterator<ABI::Windows::Networking::Vpn::IVpnProfile*> : IIterator_impl<ABI::Windows::Networking::Vpn::IVpnProfile*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Networking.Vpn.IVpnProfile>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Networking::Vpn::IVpnProfile*> __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_t;
#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnProfile*>
//#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnProfile*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("db35f6b1-f266-5c87-8862-9dd87d9df18f"))
IIterable<ABI::Windows::Networking::Vpn::IVpnProfile*> : IIterable_impl<ABI::Windows::Networking::Vpn::IVpnProfile*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Networking.Vpn.IVpnProfile>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Networking::Vpn::IVpnProfile*> __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_t;
#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnProfile*>
//#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnProfile*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnAppId;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("ec9298b0-8ca2-549c-bbe2-252823e70eef"))
IIterator<ABI::Windows::Networking::Vpn::VpnAppId*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnAppId*, ABI::Windows::Networking::Vpn::IVpnAppId*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Networking.Vpn.VpnAppId>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Networking::Vpn::VpnAppId*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_t;
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnAppId*>
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnAppId*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("0e1e00aa-f93d-5dc7-9912-e07d1fa6bd67"))
IIterable<ABI::Windows::Networking::Vpn::VpnAppId*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnAppId*, ABI::Windows::Networking::Vpn::IVpnAppId*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Networking.Vpn.VpnAppId>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Networking::Vpn::VpnAppId*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_t;
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnAppId*>
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnAppId*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnDomainNameInfo;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("29f9008e-3e81-5c58-8a78-6be91abcc17d"))
IIterator<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*, ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Networking.Vpn.VpnDomainNameInfo>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t;
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("33abe488-be1a-558a-a9cf-b5330ab49f50"))
IIterable<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*, ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Networking.Vpn.VpnDomainNameInfo>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t;
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnNamespaceInfo;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("91e28244-7555-594d-b54d-9c87095e79a2"))
IIterator<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*, ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Networking.Vpn.VpnNamespaceInfo>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t;
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("17781d03-ddcf-553f-aba8-d2e8155cb6b8"))
IIterable<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*, ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Networking.Vpn.VpnNamespaceInfo>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t;
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnPacketBuffer;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("04c88ba5-05e9-53b2-8524-df458d2a9179"))
IIterator<ABI::Windows::Networking::Vpn::VpnPacketBuffer*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnPacketBuffer*, ABI::Windows::Networking::Vpn::IVpnPacketBuffer*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Networking.Vpn.VpnPacketBuffer>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Networking::Vpn::VpnPacketBuffer*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_t;
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnPacketBuffer*>
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnPacketBuffer*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("fa954f6e-30d7-50e0-9d43-dadb6c53e196"))
IIterable<ABI::Windows::Networking::Vpn::VpnPacketBuffer*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnPacketBuffer*, ABI::Windows::Networking::Vpn::IVpnPacketBuffer*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Networking.Vpn.VpnPacketBuffer>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Networking::Vpn::VpnPacketBuffer*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_t;
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnPacketBuffer*>
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnPacketBuffer*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnRoute;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("44f813ac-052f-514b-a776-aad37a64fdc6"))
IIterator<ABI::Windows::Networking::Vpn::VpnRoute*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnRoute*, ABI::Windows::Networking::Vpn::IVpnRoute*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Networking.Vpn.VpnRoute>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Networking::Vpn::VpnRoute*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_t;
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnRoute*>
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnRoute*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("bbf498d5-b9ef-55f1-97b1-77a06639e4e2"))
IIterable<ABI::Windows::Networking::Vpn::VpnRoute*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnRoute*, ABI::Windows::Networking::Vpn::IVpnRoute*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Networking.Vpn.VpnRoute>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Networking::Vpn::VpnRoute*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_t;
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnRoute*>
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnRoute*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnTrafficFilter;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("8f37d5a0-5905-55bf-9c18-b9b3b544648b"))
IIterator<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnTrafficFilter*, ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Networking.Vpn.VpnTrafficFilter>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t;
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>
//#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("b6d4c853-77c9-52ca-9ce9-853add4554cf"))
IIterable<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnTrafficFilter*, ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Networking.Vpn.VpnTrafficFilter>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t;
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>
//#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("804449c2-3bc1-5cfe-8468-3bbece4a5cd7"))
IVectorView<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> : IVectorView_impl<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Networking.Vpn.IVpnCustomPrompt>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t;
#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*>
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("25eaf5eb-2f39-5b4d-bb6e-e652c7d00f6a"))
IVectorView<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> : IVectorView_impl<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Networking.Vpn.IVpnCustomPromptElement>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t;
#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*>
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("f1dc8f7d-ca33-53fd-9d4c-40c51b5873ec"))
IVectorView<ABI::Windows::Networking::Vpn::IVpnProfile*> : IVectorView_impl<ABI::Windows::Networking::Vpn::IVpnProfile*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Networking.Vpn.IVpnProfile>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Networking::Vpn::IVpnProfile*> __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t;
#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnProfile*>
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnProfile*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("faecbc50-da9a-5102-8229-1dd24e873d1f"))
IVectorView<ABI::Windows::Networking::Vpn::VpnAppId*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnAppId*, ABI::Windows::Networking::Vpn::IVpnAppId*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Networking.Vpn.VpnAppId>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Networking::Vpn::VpnAppId*> __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_t;
#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnAppId*>
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnAppId*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("d4772f57-2328-5c25-9a11-246da17e39d5"))
IVectorView<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*, ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Networking.Vpn.VpnDomainNameInfo>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t;
#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("c6ed05a9-4dc7-507d-9c92-7c78c2ef4786"))
IVectorView<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*, ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Networking.Vpn.VpnNamespaceInfo>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t;
#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("43701a74-e497-5559-a71b-11d0156fa839"))
IVectorView<ABI::Windows::Networking::Vpn::VpnRoute*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnRoute*, ABI::Windows::Networking::Vpn::IVpnRoute*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Networking.Vpn.VpnRoute>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Networking::Vpn::VpnRoute*> __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_t;
#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnRoute*>
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnRoute*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("75de1766-ee22-56e9-be99-2714065349e5"))
IVectorView<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnTrafficFilter*, ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Networking.Vpn.VpnTrafficFilter>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t;
#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>
//#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("89097d58-edb8-5ad4-abc5-603f21dd4b15"))
IVector<ABI::Windows::Networking::Vpn::VpnAppId*> : IVector_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnAppId*, ABI::Windows::Networking::Vpn::IVpnAppId*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVector`1<Windows.Networking.Vpn.VpnAppId>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVector<ABI::Windows::Networking::Vpn::VpnAppId*> __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_t;
#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::Vpn::IVpnAppId*>
//#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_t ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::Vpn::IVpnAppId*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("8179b6f2-7273-5ca3-a81b-53e902ca209b"))
IVector<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> : IVector_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*, ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVector`1<Windows.Networking.Vpn.VpnDomainNameInfo>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVector<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t;
#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>
//#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::Vpn::IVpnDomainNameInfo*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("056bddf2-135d-542e-a322-36aa4ca0e60d"))
IVector<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> : IVector_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*, ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVector`1<Windows.Networking.Vpn.VpnNamespaceInfo>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVector<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t;
#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>
//#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::Vpn::IVpnNamespaceInfo*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("5b026bd8-2cc5-5570-bde5-0db7c4331279"))
IVector<ABI::Windows::Networking::Vpn::VpnRoute*> : IVector_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnRoute*, ABI::Windows::Networking::Vpn::IVpnRoute*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVector`1<Windows.Networking.Vpn.VpnRoute>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVector<ABI::Windows::Networking::Vpn::VpnRoute*> __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_t;
#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::Vpn::IVpnRoute*>
//#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_t ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::Vpn::IVpnRoute*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("2a5b9ad8-f005-5f69-ad81-300642e7c667"))
IVector<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> : IVector_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnTrafficFilter*, ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVector`1<Windows.Networking.Vpn.VpnTrafficFilter>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVector<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t;
#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>
//#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::Vpn::IVpnTrafficFilter*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#define DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("dac6dd72-a5d1-56d4-afc4-989f84dcb2b3"))
IAsyncOperationCompletedHandler<__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile*> : IAsyncOperationCompletedHandler_impl<__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Foundation.Collections.IVectorView`1<Windows.Networking.Vpn.IVpnProfile>>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile*> __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t;
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnProfile*>*>
//#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnProfile*>*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#define DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("69d957be-045e-538f-98f6-1aa65cee244a"))
IAsyncOperation<__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile*> : IAsyncOperation_impl<__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Foundation.Collections.IVectorView`1<Windows.Networking.Vpn.IVpnProfile>>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile*> __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t;
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::__FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnProfile*>*>
//#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::Vpn::IVpnProfile*>*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnCredential;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("1c9c4504-4b75-57ea-837d-5338358bb762"))
IAsyncOperationCompletedHandler<ABI::Windows::Networking::Vpn::VpnCredential*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnCredential*, ABI::Windows::Networking::Vpn::IVpnCredential*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Networking.Vpn.VpnCredential>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<ABI::Windows::Networking::Vpn::VpnCredential*> __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Networking::Vpn::IVpnCredential*>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Networking::Vpn::IVpnCredential*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_USE
#define DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("216a6f97-dba1-5f71-a14b-2818ad3c4c69"))
IAsyncOperation<ABI::Windows::Networking::Vpn::VpnCredential*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnCredential*, ABI::Windows::Networking::Vpn::IVpnCredential*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Networking.Vpn.VpnCredential>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<ABI::Windows::Networking::Vpn::VpnCredential*> __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_t;
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Networking::Vpn::IVpnCredential*>
//#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Networking::Vpn::IVpnCredential*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                enum VpnManagementErrorStatus : int;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("31229f8c-709d-5017-8629-57ef1289e616"))
IAsyncOperationCompletedHandler<enum ABI::Windows::Networking::Vpn::VpnManagementErrorStatus> : IAsyncOperationCompletedHandler_impl<enum ABI::Windows::Networking::Vpn::VpnManagementErrorStatus> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Networking.Vpn.VpnManagementErrorStatus>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperationCompletedHandler<enum ABI::Windows::Networking::Vpn::VpnManagementErrorStatus> __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_t;
#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Networking::Vpn::VpnManagementErrorStatus>
//#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_t ABI::Windows::Foundation::IAsyncOperationCompletedHandler<ABI::Windows::Networking::Vpn::VpnManagementErrorStatus>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE */





#ifndef DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE
#define DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("e99b86dc-6b65-5f23-9419-90b55852f283"))
IAsyncOperation<enum ABI::Windows::Networking::Vpn::VpnManagementErrorStatus> : IAsyncOperation_impl<enum ABI::Windows::Networking::Vpn::VpnManagementErrorStatus> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.IAsyncOperation`1<Windows.Networking.Vpn.VpnManagementErrorStatus>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IAsyncOperation<enum ABI::Windows::Networking::Vpn::VpnManagementErrorStatus> __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_t;
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Networking::Vpn::VpnManagementErrorStatus>
//#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_t ABI::Windows::Foundation::IAsyncOperation<ABI::Windows::Networking::Vpn::VpnManagementErrorStatus>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE */



namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnChannel;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnChannelActivityEventArgs;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("39907949-a8cc-5ce5-9e0a-06e3b2d31570"))
ITypedEventHandler<ABI::Windows::Networking::Vpn::VpnChannel*,ABI::Windows::Networking::Vpn::VpnChannelActivityEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnChannel*, ABI::Windows::Networking::Vpn::IVpnChannel*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnChannelActivityEventArgs*, ABI::Windows::Networking::Vpn::IVpnChannelActivityEventArgs*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.TypedEventHandler`2<Windows.Networking.Vpn.VpnChannel, Windows.Networking.Vpn.VpnChannelActivityEventArgs>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef ITypedEventHandler<ABI::Windows::Networking::Vpn::VpnChannel*,ABI::Windows::Networking::Vpn::VpnChannelActivityEventArgs*> __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_t;
#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Networking::Vpn::IVpnChannel*,ABI::Windows::Networking::Vpn::IVpnChannelActivityEventArgs*>
//#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_t ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Networking::Vpn::IVpnChannel*,ABI::Windows::Networking::Vpn::IVpnChannelActivityEventArgs*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnChannelActivityStateChangedArgs;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("2cfcf1ba-bffc-5746-b868-2e45a46d2958"))
ITypedEventHandler<ABI::Windows::Networking::Vpn::VpnChannel*,ABI::Windows::Networking::Vpn::VpnChannelActivityStateChangedArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnChannel*, ABI::Windows::Networking::Vpn::IVpnChannel*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Vpn::VpnChannelActivityStateChangedArgs*, ABI::Windows::Networking::Vpn::IVpnChannelActivityStateChangedArgs*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.TypedEventHandler`2<Windows.Networking.Vpn.VpnChannel, Windows.Networking.Vpn.VpnChannelActivityStateChangedArgs>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef ITypedEventHandler<ABI::Windows::Networking::Vpn::VpnChannel*,ABI::Windows::Networking::Vpn::VpnChannelActivityStateChangedArgs*> __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_t;
#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_t
/* ABI */ } /* Windows */ } /* Foundation */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Networking::Vpn::IVpnChannel*,ABI::Windows::Networking::Vpn::IVpnChannelActivityStateChangedArgs*>
//#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_t ABI::Windows::Foundation::ITypedEventHandler<ABI::Windows::Networking::Vpn::IVpnChannel*,ABI::Windows::Networking::Vpn::IVpnChannelActivityStateChangedArgs*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

namespace ABI {
    namespace Windows {
        namespace Networking {
            class HostName;
        } /* Windows */
    } /* Networking */} /* ABI */

#ifndef ____x_ABI_CWindows_CNetworking_CIHostName_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CIHostName_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Networking {
            interface IHostName;
        } /* Windows */
    } /* Networking */} /* ABI */
#define __x_ABI_CWindows_CNetworking_CIHostName ABI::Windows::Networking::IHostName

#endif // ____x_ABI_CWindows_CNetworking_CIHostName_FWD_DEFINED__


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CNetworking__CHostName_USE
#define DEF___FIIterator_1_Windows__CNetworking__CHostName_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("557bf83c-a428-5dbd-a0fe-05f6ee543d45"))
IIterator<ABI::Windows::Networking::HostName*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::HostName*, ABI::Windows::Networking::IHostName*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Networking.HostName>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Networking::HostName*> __FIIterator_1_Windows__CNetworking__CHostName_t;
#define __FIIterator_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CHostName_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::IHostName*>
//#define __FIIterator_1_Windows__CNetworking__CHostName_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Networking::IHostName*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CNetworking__CHostName_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CNetworking__CHostName_USE
#define DEF___FIIterable_1_Windows__CNetworking__CHostName_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("9e5f3ed0-cf1c-5d38-832c-acea6164bf5c"))
IIterable<ABI::Windows::Networking::HostName*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::HostName*, ABI::Windows::Networking::IHostName*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Networking.HostName>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Networking::HostName*> __FIIterable_1_Windows__CNetworking__CHostName_t;
#define __FIIterable_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CHostName_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::IHostName*>
//#define __FIIterable_1_Windows__CNetworking__CHostName_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Networking::IHostName*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CNetworking__CHostName_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CHostName_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CHostName_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("f4706ab1-55a3-5270-afb2-732988fe8227"))
IVectorView<ABI::Windows::Networking::HostName*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::HostName*, ABI::Windows::Networking::IHostName*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Networking.HostName>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Networking::HostName*> __FIVectorView_1_Windows__CNetworking__CHostName_t;
#define __FIVectorView_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CHostName_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::IHostName*>
//#define __FIVectorView_1_Windows__CNetworking__CHostName_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Networking::IHostName*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CHostName_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000



#ifndef DEF___FIIterator_1_IInspectable_USE
#define DEF___FIIterator_1_IInspectable_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("44a94f2d-04f8-5091-b336-be7892dd10be"))
IIterator<IInspectable*> : IIterator_impl<IInspectable*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Object>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<IInspectable*> __FIIterator_1_IInspectable_t;
#define __FIIterator_1_IInspectable ABI::Windows::Foundation::Collections::__FIIterator_1_IInspectable_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_IInspectable ABI::Windows::Foundation::Collections::IIterator<IInspectable*>
//#define __FIIterator_1_IInspectable_t ABI::Windows::Foundation::Collections::IIterator<IInspectable*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_IInspectable_USE */





#ifndef DEF___FIIterable_1_IInspectable_USE
#define DEF___FIIterable_1_IInspectable_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("092b849b-60b1-52be-a44a-6fe8e933cbe4"))
IIterable<IInspectable*> : IIterable_impl<IInspectable*> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Object>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<IInspectable*> __FIIterable_1_IInspectable_t;
#define __FIIterable_1_IInspectable ABI::Windows::Foundation::Collections::__FIIterable_1_IInspectable_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_IInspectable ABI::Windows::Foundation::Collections::IIterable<IInspectable*>
//#define __FIIterable_1_IInspectable_t ABI::Windows::Foundation::Collections::IIterable<IInspectable*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_IInspectable_USE */



namespace ABI {
    namespace Windows {
        namespace Foundation {
            class Uri;
        } /* Windows */
    } /* Foundation */} /* ABI */

#ifndef ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IUriRuntimeClass;
        } /* Windows */
    } /* Foundation */} /* ABI */
#define __x_ABI_CWindows_CFoundation_CIUriRuntimeClass ABI::Windows::Foundation::IUriRuntimeClass

#endif // ____x_ABI_CWindows_CFoundation_CIUriRuntimeClass_FWD_DEFINED__


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterator_1_Windows__CFoundation__CUri_USE
#define DEF___FIIterator_1_Windows__CFoundation__CUri_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("1c157d0f-5efe-5cec-bbd6-0c6ce9af07a5"))
IIterator<ABI::Windows::Foundation::Uri*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Foundation::Uri*, ABI::Windows::Foundation::IUriRuntimeClass*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<Windows.Foundation.Uri>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<ABI::Windows::Foundation::Uri*> __FIIterator_1_Windows__CFoundation__CUri_t;
#define __FIIterator_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CFoundation__CUri_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::IUriRuntimeClass*>
//#define __FIIterator_1_Windows__CFoundation__CUri_t ABI::Windows::Foundation::Collections::IIterator<ABI::Windows::Foundation::IUriRuntimeClass*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_Windows__CFoundation__CUri_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIIterable_1_Windows__CFoundation__CUri_USE
#define DEF___FIIterable_1_Windows__CFoundation__CUri_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("b0d63b78-78ad-5e31-b6d8-e32a0e16c447"))
IIterable<ABI::Windows::Foundation::Uri*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Foundation::Uri*, ABI::Windows::Foundation::IUriRuntimeClass*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<ABI::Windows::Foundation::Uri*> __FIIterable_1_Windows__CFoundation__CUri_t;
#define __FIIterable_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CFoundation__CUri_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::IUriRuntimeClass*>
//#define __FIIterable_1_Windows__CFoundation__CUri_t ABI::Windows::Foundation::Collections::IIterable<ABI::Windows::Foundation::IUriRuntimeClass*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_Windows__CFoundation__CUri_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVectorView_1_Windows__CFoundation__CUri_USE
#define DEF___FIVectorView_1_Windows__CFoundation__CUri_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("4b8385bd-a2cd-5ff1-bf74-7ea580423e50"))
IVectorView<ABI::Windows::Foundation::Uri*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Foundation::Uri*, ABI::Windows::Foundation::IUriRuntimeClass*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<Windows.Foundation.Uri>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<ABI::Windows::Foundation::Uri*> __FIVectorView_1_Windows__CFoundation__CUri_t;
#define __FIVectorView_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CFoundation__CUri_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Foundation::IUriRuntimeClass*>
//#define __FIVectorView_1_Windows__CFoundation__CUri_t ABI::Windows::Foundation::Collections::IVectorView<ABI::Windows::Foundation::IUriRuntimeClass*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_Windows__CFoundation__CUri_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#ifndef DEF___FIIterator_1_HSTRING_USE
#define DEF___FIIterator_1_HSTRING_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("8c304ebb-6615-50a4-8829-879ecd443236"))
IIterator<HSTRING> : IIterator_impl<HSTRING> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterator`1<String>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterator<HSTRING> __FIIterator_1_HSTRING_t;
#define __FIIterator_1_HSTRING ABI::Windows::Foundation::Collections::__FIIterator_1_HSTRING_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterator_1_HSTRING ABI::Windows::Foundation::Collections::IIterator<HSTRING>
//#define __FIIterator_1_HSTRING_t ABI::Windows::Foundation::Collections::IIterator<HSTRING>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterator_1_HSTRING_USE */




#ifndef DEF___FIIterable_1_HSTRING_USE
#define DEF___FIIterable_1_HSTRING_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("e2fcc7c1-3bfc-5a0b-b2b0-72e769d1cb7e"))
IIterable<HSTRING> : IIterable_impl<HSTRING> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IIterable`1<String>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IIterable<HSTRING> __FIIterable_1_HSTRING_t;
#define __FIIterable_1_HSTRING ABI::Windows::Foundation::Collections::__FIIterable_1_HSTRING_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIIterable_1_HSTRING ABI::Windows::Foundation::Collections::IIterable<HSTRING>
//#define __FIIterable_1_HSTRING_t ABI::Windows::Foundation::Collections::IIterable<HSTRING>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIIterable_1_HSTRING_USE */




#ifndef DEF___FIVectorView_1_HSTRING_USE
#define DEF___FIVectorView_1_HSTRING_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("2f13c006-a03a-5f69-b090-75a43e33423e"))
IVectorView<HSTRING> : IVectorView_impl<HSTRING> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVectorView`1<String>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVectorView<HSTRING> __FIVectorView_1_HSTRING_t;
#define __FIVectorView_1_HSTRING ABI::Windows::Foundation::Collections::__FIVectorView_1_HSTRING_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVectorView_1_HSTRING ABI::Windows::Foundation::Collections::IVectorView<HSTRING>
//#define __FIVectorView_1_HSTRING_t ABI::Windows::Foundation::Collections::IVectorView<HSTRING>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVectorView_1_HSTRING_USE */




#ifndef DEF___FIVector_1_HSTRING_USE
#define DEF___FIVector_1_HSTRING_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("98b9acc1-4b56-532e-ac73-03d5291cca90"))
IVector<HSTRING> : IVector_impl<HSTRING> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVector`1<String>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVector<HSTRING> __FIVector_1_HSTRING_t;
#define __FIVector_1_HSTRING ABI::Windows::Foundation::Collections::__FIVector_1_HSTRING_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVector_1_HSTRING ABI::Windows::Foundation::Collections::IVector<HSTRING>
//#define __FIVector_1_HSTRING_t ABI::Windows::Foundation::Collections::IVector<HSTRING>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVector_1_HSTRING_USE */




#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVector_1_Windows__CNetworking__CHostName_USE
#define DEF___FIVector_1_Windows__CNetworking__CHostName_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("90c71c29-a9b5-5267-a5ad-8b756736317c"))
IVector<ABI::Windows::Networking::HostName*> : IVector_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::HostName*, ABI::Windows::Networking::IHostName*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVector`1<Windows.Networking.HostName>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVector<ABI::Windows::Networking::HostName*> __FIVector_1_Windows__CNetworking__CHostName_t;
#define __FIVector_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CHostName_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVector_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::IHostName*>
//#define __FIVector_1_Windows__CNetworking__CHostName_t ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Networking::IHostName*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVector_1_Windows__CNetworking__CHostName_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef DEF___FIVector_1_Windows__CFoundation__CUri_USE
#define DEF___FIVector_1_Windows__CFoundation__CUri_USE
#if !defined(RO_NO_TEMPLATE_NAME)
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("0d82bd8d-fe62-5d67-a7b9-7886dd75bc4e"))
IVector<ABI::Windows::Foundation::Uri*> : IVector_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Foundation::Uri*, ABI::Windows::Foundation::IUriRuntimeClass*>> 
{
    static const wchar_t* z_get_rc_name_impl() 
    {
        return L"Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri>"; 
    }
};
// Define a typedef for the parameterized interface specialization's mangled name.
// This allows code which uses the mangled name for the parameterized interface to access the
// correct parameterized interface specialization.
typedef IVector<ABI::Windows::Foundation::Uri*> __FIVector_1_Windows__CFoundation__CUri_t;
#define __FIVector_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CFoundation__CUri_t
/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }

////  Define an alias for the C version of the interface for compatibility purposes.
//#define __FIVector_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Foundation::IUriRuntimeClass*>
//#define __FIVector_1_Windows__CFoundation__CUri_t ABI::Windows::Foundation::Collections::IVector<ABI::Windows::Foundation::IUriRuntimeClass*>
#endif // !defined(RO_NO_TEMPLATE_NAME)
#endif /* DEF___FIVector_1_Windows__CFoundation__CUri_USE */


#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000



#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Foundation {
            interface IAsyncAction;
        } /* Windows */
    } /* Foundation */} /* ABI */
#define __x_ABI_CWindows_CFoundation_CIAsyncAction ABI::Windows::Foundation::IAsyncAction

#endif // ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__









namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum ControlChannelTriggerStatus : int ControlChannelTriggerStatus;
                
            } /* Windows */
        } /* Networking */
    } /* Sockets */} /* ABI */




namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                class PasswordCredential;
            } /* Windows */
        } /* Security */
    } /* Credentials */} /* ABI */

#ifndef ____x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Credentials {
                interface IPasswordCredential;
            } /* Windows */
        } /* Security */
    } /* Credentials */} /* ABI */
#define __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential ABI::Windows::Security::Credentials::IPasswordCredential

#endif // ____x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential_FWD_DEFINED__





namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Cryptography {
                namespace Certificates {
                    class Certificate;
                } /* Windows */
            } /* Security */
        } /* Cryptography */
    } /* Certificates */} /* ABI */

#ifndef ____x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate_FWD_DEFINED__
#define ____x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Cryptography {
                namespace Certificates {
                    interface ICertificate;
                } /* Windows */
            } /* Security */
        } /* Cryptography */
    } /* Certificates */} /* ABI */
#define __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate ABI::Windows::Security::Cryptography::Certificates::ICertificate

#endif // ____x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate_FWD_DEFINED__






namespace ABI {
    namespace Windows {
        namespace Storage {
            namespace Streams {
                class Buffer;
            } /* Windows */
        } /* Storage */
    } /* Streams */} /* ABI */

#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
namespace ABI {
    namespace Windows {
        namespace Storage {
            namespace Streams {
                interface IBuffer;
            } /* Windows */
        } /* Storage */
    } /* Streams */} /* ABI */
#define __x_ABI_CWindows_CStorage_CStreams_CIBuffer ABI::Windows::Storage::Streams::IBuffer

#endif // ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__





namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnAppIdType : int VpnAppIdType;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnAuthenticationMethod : int VpnAuthenticationMethod;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnChannelActivityEventType : int VpnChannelActivityEventType;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnChannelRequestCredentialsOptions : unsigned int VpnChannelRequestCredentialsOptions;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnCredentialType : int VpnCredentialType;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnDataPathType : int VpnDataPathType;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnDomainNameType : int VpnDomainNameType;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnIPProtocol : int VpnIPProtocol;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnManagementConnectionStatus : int VpnManagementConnectionStatus;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnManagementErrorStatus : int VpnManagementErrorStatus;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnNativeProtocolType : int VpnNativeProtocolType;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnPacketBufferStatus : int VpnPacketBufferStatus;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnRoutingPolicyType : int VpnRoutingPolicyType;
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

























































namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnChannelConfiguration;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */



namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnCustomCheckBox;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnCustomComboBox;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnCustomEditBox;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnCustomErrorBox;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnCustomPromptBooleanInput;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnCustomPromptOptionSelector;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnCustomPromptText;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnCustomPromptTextInput;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnCustomTextBox;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnDomainNameAssignment;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */



namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnInterfaceId;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnManagementAgent;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnNamespaceAssignment;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */



namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnNativeProfile;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */



namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnPacketBufferList;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnPickedCredential;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnPlugInProfile;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */



namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnRouteAssignment;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */


namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnSystemHealth;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */



namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                class VpnTrafficFilterAssignment;
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */










/*
 *
 * Struct Windows.Networking.Vpn.VpnAppIdType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnAppIdType : int
                {
                    VpnAppIdType_PackageFamilyName = 0,
                    VpnAppIdType_FullyQualifiedBinaryName = 1,
                    VpnAppIdType_FilePath = 2,
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnAuthenticationMethod
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnAuthenticationMethod : int
                {
                    VpnAuthenticationMethod_Mschapv2 = 0,
                    VpnAuthenticationMethod_Eap = 1,
                    VpnAuthenticationMethod_Certificate = 2,
                    VpnAuthenticationMethod_PresharedKey = 3,
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnChannelActivityEventType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnChannelActivityEventType : int
                {
                    VpnChannelActivityEventType_Idle = 0,
                    VpnChannelActivityEventType_Active = 1,
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnChannelRequestCredentialsOptions
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, flags, contract] */
                enum VpnChannelRequestCredentialsOptions : unsigned int
                {
                    VpnChannelRequestCredentialsOptions_None = 0,
                    VpnChannelRequestCredentialsOptions_Retrying = 0x1,
                    VpnChannelRequestCredentialsOptions_UseForSingleSignIn = 0x2,
                };
                
                DEFINE_ENUM_FLAG_OPERATORS(VpnChannelRequestCredentialsOptions)
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnCredentialType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnCredentialType : int
                {
                    VpnCredentialType_UsernamePassword = 0,
                    VpnCredentialType_UsernameOtpPin = 1,
                    VpnCredentialType_UsernamePasswordAndPin = 2,
                    VpnCredentialType_UsernamePasswordChange = 3,
                    VpnCredentialType_SmartCard = 4,
                    VpnCredentialType_ProtectedCertificate = 5,
                    VpnCredentialType_UnProtectedCertificate = 6,
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnDataPathType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnDataPathType : int
                {
                    VpnDataPathType_Send = 0,
                    VpnDataPathType_Receive = 1,
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnDomainNameType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnDomainNameType : int
                {
                    VpnDomainNameType_Suffix = 0,
                    VpnDomainNameType_FullyQualified = 1,
                    VpnDomainNameType_Reserved = 65535,
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnIPProtocol
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnIPProtocol : int
                {
                    VpnIPProtocol_None = 0,
                    VpnIPProtocol_Tcp = 6,
                    VpnIPProtocol_Udp = 17,
                    VpnIPProtocol_Icmp = 1,
                    VpnIPProtocol_Ipv6Icmp = 58,
                    VpnIPProtocol_Igmp = 2,
                    VpnIPProtocol_Pgm = 113,
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnManagementConnectionStatus
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnManagementConnectionStatus : int
                {
                    VpnManagementConnectionStatus_Disconnected = 0,
                    VpnManagementConnectionStatus_Disconnecting = 1,
                    VpnManagementConnectionStatus_Connected = 2,
                    VpnManagementConnectionStatus_Connecting = 3,
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnManagementErrorStatus
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnManagementErrorStatus : int
                {
                    VpnManagementErrorStatus_Ok = 0,
                    VpnManagementErrorStatus_Other = 1,
                    VpnManagementErrorStatus_InvalidXmlSyntax = 2,
                    VpnManagementErrorStatus_ProfileNameTooLong = 3,
                    VpnManagementErrorStatus_ProfileInvalidAppId = 4,
                    VpnManagementErrorStatus_AccessDenied = 5,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_CannotFindProfile = 6,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_AlreadyDisconnecting = 7,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_AlreadyConnected = 8,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_GeneralAuthenticationFailure = 9,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_EapFailure = 10,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_SmartCardFailure = 11,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_CertificateFailure = 12,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_ServerConfiguration = 13,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_NoConnection = 14,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_ServerConnection = 15,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_UserNamePassword = 16,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_DnsNotResolvable = 17,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                    VpnManagementErrorStatus_InvalidIP = 18,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
                    
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnNativeProtocolType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnNativeProtocolType : int
                {
                    VpnNativeProtocolType_Pptp = 0,
                    VpnNativeProtocolType_L2tp = 1,
                    VpnNativeProtocolType_IpsecIkev2 = 2,
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnPacketBufferStatus
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnPacketBufferStatus : int
                {
                    VpnPacketBufferStatus_Ok = 0,
                    VpnPacketBufferStatus_InvalidBufferSize = 1,
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnRoutingPolicyType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [v1_enum, contract] */
                enum VpnRoutingPolicyType : int
                {
                    VpnRoutingPolicyType_SplitRouting = 0,
                    VpnRoutingPolicyType_ForceAllTrafficOverVpn = 1,
                };
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnAppId
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnAppId
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnAppId[] = L"Windows.Networking.Vpn.IVpnAppId";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("7B06A635-5C58-41D9-94A7-BFBCF1D8CA54"), exclusiveto, contract] */
                MIDL_INTERFACE("7B06A635-5C58-41D9-94A7-BFBCF1D8CA54")
                IVpnAppId : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Type(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnAppIdType * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Type(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnAppIdType value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Value(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Value(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnAppId=_uuidof(IVpnAppId);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnAppIdFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnAppId
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnAppIdFactory[] = L"Windows.Networking.Vpn.IVpnAppIdFactory";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("46ADFD2A-0AAB-4FDB-821D-D3DDC919788B"), exclusiveto, contract] */
                MIDL_INTERFACE("46ADFD2A-0AAB-4FDB-821D-D3DDC919788B")
                IVpnAppIdFactory : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE Create(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnAppIdType type,
                        /* [in] */__RPC__in HSTRING value,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnAppId * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnAppIdFactory=_uuidof(IVpnAppIdFactory);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannel
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannel
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannel[] = L"Windows.Networking.Vpn.IVpnChannel";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("4AC78D07-D1A8-4303-A091-C8D2E0915BC3"), exclusiveto, contract] */
                MIDL_INTERFACE("4AC78D07-D1A8-4303-A091-C8D2E0915BC3")
                IVpnChannel : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE AssociateTransport(
                        /* [in] */__RPC__in_opt IInspectable * mainOuterTunnelTransport,
                        /* [in] */__RPC__in_opt IInspectable * optionalOuterTunnelTransport
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE Start(
                        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv4list,
                        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv6list,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnInterfaceId * vpnInterfaceId,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnRouteAssignment * routeScope,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnNamespaceAssignment * namespaceScope,
                        /* [in] */UINT32 mtuSize,
                        /* [in] */UINT32 maxFrameSize,
                        /* [in] */boolean optimizeForLowCostNetwork,
                        /* [in] */__RPC__in_opt IInspectable * mainOuterTunnelTransport,
                        /* [in] */__RPC__in_opt IInspectable * optionalOuterTunnelTransport
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE Stop(void) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RequestCredentials(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnCredentialType credType,
                        /* [in] */boolean isRetry,
                        /* [in] */boolean isSingleSignOnCredential,
                        /* [in] */__RPC__in_opt ABI::Windows::Security::Cryptography::Certificates::ICertificate * certificate,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPickedCredential * * credential
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RequestVpnPacketBuffer(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnDataPathType type,
                        /* [out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * * vpnPacketBuffer
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE LogDiagnosticMessage(
                        /* [in] */__RPC__in HSTRING message
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Id(
                        /* [retval, out] */__RPC__out UINT32 * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Configuration(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnChannelConfiguration * * value
                        ) = 0;
                    /* [eventadd] */virtual HRESULT STDMETHODCALLTYPE add_ActivityChange(
                        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs * handler,
                        /* [retval, out] */__RPC__out EventRegistrationToken * token
                        ) = 0;
                    /* [eventremove] */virtual HRESULT STDMETHODCALLTYPE remove_ActivityChange(
                        /* [in] */EventRegistrationToken token
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_PlugInContext(
                        /* [in] */__RPC__in_opt IInspectable * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_PlugInContext(
                        /* [retval, out] */__RPC__deref_out_opt IInspectable * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SystemHealth(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnSystemHealth * * value
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RequestCustomPrompt(
                        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * customPrompt
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE SetErrorMessage(
                        /* [in] */__RPC__in HSTRING message
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE SetAllowedSslTlsVersions(
                        /* [in] */__RPC__in_opt IInspectable * tunnelTransport,
                        /* [in] */boolean useTls12
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnChannel=_uuidof(IVpnChannel);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannel2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannel
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannel2[] = L"Windows.Networking.Vpn.IVpnChannel2";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("2255D165-993B-4629-AD60-F1C3F3537F50"), exclusiveto, contract] */
                MIDL_INTERFACE("2255D165-993B-4629-AD60-F1C3F3537F50")
                IVpnChannel2 : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE StartWithMainTransport(
                        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv4list,
                        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv6list,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnInterfaceId * vpnInterfaceId,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnRouteAssignment * assignedRoutes,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnDomainNameAssignment * assignedDomainName,
                        /* [in] */UINT32 mtuSize,
                        /* [in] */UINT32 maxFrameSize,
                        /* [in] */boolean Reserved,
                        /* [in] */__RPC__in_opt IInspectable * mainOuterTunnelTransport
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE StartExistingTransports(
                        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv4list,
                        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv6list,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnInterfaceId * vpnInterfaceId,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnRouteAssignment * assignedRoutes,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnDomainNameAssignment * assignedDomainName,
                        /* [in] */UINT32 mtuSize,
                        /* [in] */UINT32 maxFrameSize,
                        /* [in] */boolean Reserved
                        ) = 0;
                    /* [eventadd] */virtual HRESULT STDMETHODCALLTYPE add_ActivityStateChange(
                        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs * handler,
                        /* [retval, out] */__RPC__out EventRegistrationToken * token
                        ) = 0;
                    /* [eventremove] */virtual HRESULT STDMETHODCALLTYPE remove_ActivityStateChange(
                        /* [in] */EventRegistrationToken token
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetVpnSendPacketBuffer(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * * vpnSendPacketBuffer
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetVpnReceivePacketBuffer(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * * vpnReceivePacketBuffer
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RequestCustomPromptAsync(
                        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * customPromptElement,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction * * action
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE RequestCredentialsWithCertificateAsync(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnCredentialType credType,
                        /* [in] */UINT32 credOptions,
                        /* [in] */__RPC__in_opt ABI::Windows::Security::Cryptography::Certificates::ICertificate * certificate,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * * credential
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE RequestCredentialsWithOptionsAsync(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnCredentialType credType,
                        /* [in] */UINT32 credOptions,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * * credential
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE RequestCredentialsSimpleAsync(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnCredentialType credType,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * * credential
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE TerminateConnection(
                        /* [in] */__RPC__in HSTRING message
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE StartWithTrafficFilter(
                        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIpv4List,
                        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIpv6List,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnInterfaceId * vpnInterfaceId,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnRouteAssignment * assignedRoutes,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnDomainNameAssignment * assignedNamespace,
                        /* [in] */UINT32 mtuSize,
                        /* [in] */UINT32 maxFrameSize,
                        /* [in] */boolean reserved,
                        /* [in] */__RPC__in_opt IInspectable * mainOuterTunnelTransport,
                        /* [in] */__RPC__in_opt IInspectable * optionalOuterTunnelTransport,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilterAssignment * assignedTrafficFilters
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnChannel2=_uuidof(IVpnChannel2);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannel4
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 6.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannel
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannel4[] = L"Windows.Networking.Vpn.IVpnChannel4";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("D7266EDE-2937-419D-9570-486AEBB81803"), exclusiveto, contract] */
                MIDL_INTERFACE("D7266EDE-2937-419D-9570-486AEBB81803")
                IVpnChannel4 : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE AddAndAssociateTransport(
                        /* [in] */__RPC__in_opt IInspectable * transport,
                        /* [in] */__RPC__in_opt IInspectable * context
                        ) = 0;
                    /* [overload] */virtual HRESULT STDMETHODCALLTYPE StartWithMultipleTransports(
                        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CNetworking__CHostName * assignedClientIpv4Addresses,
                        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CNetworking__CHostName * assignedClientIpv6Addresses,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnInterfaceId * vpninterfaceId,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnRouteAssignment * assignedRoutes,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnDomainNameAssignment * assignedNamespace,
                        /* [in] */UINT32 mtuSize,
                        /* [in] */UINT32 maxFrameSize,
                        /* [in] */boolean reserved,
                        /* [in] */__RPC__in_opt __FIIterable_1_IInspectable * transports,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilterAssignment * assignedTrafficFilters
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE ReplaceAndAssociateTransport(
                        /* [in] */__RPC__in_opt IInspectable * transport,
                        /* [in] */__RPC__in_opt IInspectable * context
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE StartReconnectingTransport(
                        /* [in] */__RPC__in_opt IInspectable * transport,
                        /* [in] */__RPC__in_opt IInspectable * context
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetSlotTypeForTransportContext(
                        /* [in] */__RPC__in_opt IInspectable * context,
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Sockets::ControlChannelTriggerStatus * slotType
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CurrentRequestTransportContext(
                        /* [retval, out] */__RPC__deref_out_opt IInspectable * * context
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnChannel4=_uuidof(IVpnChannel4);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannelActivityEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannelActivityEventArgs
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannelActivityEventArgs[] = L"Windows.Networking.Vpn.IVpnChannelActivityEventArgs";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("A36C88F2-AFDC-4775-855D-D4AC0A35FC55"), exclusiveto, contract] */
                MIDL_INTERFACE("A36C88F2-AFDC-4775-855D-D4AC0A35FC55")
                IVpnChannelActivityEventArgs : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Type(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnChannelActivityEventType * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnChannelActivityEventArgs=_uuidof(IVpnChannelActivityEventArgs);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannelActivityStateChangedArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannelActivityStateChangedArgs
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannelActivityStateChangedArgs[] = L"Windows.Networking.Vpn.IVpnChannelActivityStateChangedArgs";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("3D750565-FDC0-4BBE-A23B-45FFFC6D97A1"), exclusiveto, contract] */
                MIDL_INTERFACE("3D750565-FDC0-4BBE-A23B-45FFFC6D97A1")
                IVpnChannelActivityStateChangedArgs : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ActivityState(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnChannelActivityEventType * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnChannelActivityStateChangedArgs=_uuidof(IVpnChannelActivityStateChangedArgs);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannelConfiguration
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannelConfiguration
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannelConfiguration[] = L"Windows.Networking.Vpn.IVpnChannelConfiguration";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("0E2DDCA2-2012-4FE4-B179-8C652C6D107E"), exclusiveto, contract] */
                MIDL_INTERFACE("0E2DDCA2-2012-4FE4-B179-8C652C6D107E")
                IVpnChannelConfiguration : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ServerServiceName(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ServerHostNameList(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CHostName * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CustomField(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnChannelConfiguration=_uuidof(IVpnChannelConfiguration);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannelConfiguration2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannelConfiguration
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannelConfiguration2[] = L"Windows.Networking.Vpn.IVpnChannelConfiguration2";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("F30B574C-7824-471C-A118-63DBC93AE4C7"), exclusiveto, contract] */
                MIDL_INTERFACE("F30B574C-7824-471C-A118-63DBC93AE4C7")
                IVpnChannelConfiguration2 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ServerUris(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CFoundation__CUri * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnChannelConfiguration2=_uuidof(IVpnChannelConfiguration2);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannelStatics
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannelStatics[] = L"Windows.Networking.Vpn.IVpnChannelStatics";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("88EB062D-E818-4FFD-98A6-363E3736C95D"), contract] */
                MIDL_INTERFACE("88EB062D-E818-4FFD-98A6-363E3736C95D")
                IVpnChannelStatics : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE ProcessEventAsync(
                        /* [in] */__RPC__in_opt IInspectable * thirdPartyPlugIn,
                        /* [in] */__RPC__in_opt IInspectable * event
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnChannelStatics=_uuidof(IVpnChannelStatics);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCredential
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCredential[] = L"Windows.Networking.Vpn.IVpnCredential";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("B7E78AF3-A46D-404B-8729-1832522853AC"), contract] */
                MIDL_INTERFACE("B7E78AF3-A46D-404B-8729-1832522853AC")
                IVpnCredential : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_PasskeyCredential(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Security::Credentials::IPasswordCredential * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CertificateCredential(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Security::Cryptography::Certificates::ICertificate * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AdditionalPin(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_OldPasswordCredential(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Security::Credentials::IPasswordCredential * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCredential=_uuidof(IVpnCredential);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomCheckBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomCheckBox
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPrompt
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomCheckBox[] = L"Windows.Networking.Vpn.IVpnCustomCheckBox";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("43878753-03C5-4E61-93D7-A957714C4282"), exclusiveto, contract] */
                MIDL_INTERFACE("43878753-03C5-4E61-93D7-A957714C4282")
                IVpnCustomCheckBox : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_InitialCheckState(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_InitialCheckState(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Checked(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCustomCheckBox=_uuidof(IVpnCustomCheckBox);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomComboBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomComboBox
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPrompt
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomComboBox[] = L"Windows.Networking.Vpn.IVpnCustomComboBox";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("9A24158E-DBA1-4C6F-8270-DCF3C9761C4C"), exclusiveto, contract] */
                MIDL_INTERFACE("9A24158E-DBA1-4C6F-8270-DCF3C9761C4C")
                IVpnCustomComboBox : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_OptionsText(
                        /* [in] */__RPC__in_opt __FIVectorView_1_HSTRING * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_OptionsText(
                        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_HSTRING * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Selected(
                        /* [retval, out] */__RPC__out UINT32 * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCustomComboBox=_uuidof(IVpnCustomComboBox);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomEditBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomEditBox
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPrompt
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomEditBox[] = L"Windows.Networking.Vpn.IVpnCustomEditBox";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("3002D9A0-CFBF-4C0B-8F3C-66F503C20B39"), exclusiveto, contract] */
                MIDL_INTERFACE("3002D9A0-CFBF-4C0B-8F3C-66F503C20B39")
                IVpnCustomEditBox : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_DefaultText(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DefaultText(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_NoEcho(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_NoEcho(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Text(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCustomEditBox=_uuidof(IVpnCustomEditBox);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomErrorBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomErrorBox
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPrompt
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomErrorBox[] = L"Windows.Networking.Vpn.IVpnCustomErrorBox";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("9EC4EFB2-C942-42AF-B223-588B48328721"), exclusiveto, contract] */
                MIDL_INTERFACE("9EC4EFB2-C942-42AF-B223-588B48328721")
                IVpnCustomErrorBox : public IInspectable
                {
                public:
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCustomErrorBox=_uuidof(IVpnCustomErrorBox);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPrompt[] = L"Windows.Networking.Vpn.IVpnCustomPrompt";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("9B2EBE7B-87D5-433C-B4F6-EEE6AA68A244"), contract] */
                MIDL_INTERFACE("9B2EBE7B-87D5-433C-B4F6-EEE6AA68A244")
                IVpnCustomPrompt : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Label(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Label(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Compulsory(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Compulsory(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Bordered(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Bordered(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCustomPrompt=_uuidof(IVpnCustomPrompt);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPromptBooleanInput
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomPromptBooleanInput
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPromptBooleanInput[] = L"Windows.Networking.Vpn.IVpnCustomPromptBooleanInput";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("C4C9A69E-FF47-4527-9F27-A49292019979"), exclusiveto, contract] */
                MIDL_INTERFACE("C4C9A69E-FF47-4527-9F27-A49292019979")
                IVpnCustomPromptBooleanInput : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_InitialValue(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_InitialValue(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Value(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCustomPromptBooleanInput=_uuidof(IVpnCustomPromptBooleanInput);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPromptElement[] = L"Windows.Networking.Vpn.IVpnCustomPromptElement";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("73BD5638-6F04-404D-93DD-50A44924A38B"), contract] */
                MIDL_INTERFACE("73BD5638-6F04-404D-93DD-50A44924A38B")
                IVpnCustomPromptElement : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_DisplayName(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DisplayName(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Compulsory(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Compulsory(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Emphasized(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Emphasized(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCustomPromptElement=_uuidof(IVpnCustomPromptElement);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPromptOptionSelector
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomPromptOptionSelector
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPromptOptionSelector[] = L"Windows.Networking.Vpn.IVpnCustomPromptOptionSelector";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("3B8F34D9-8EC1-4E95-9A4E-7BA64D38F330"), exclusiveto, contract] */
                MIDL_INTERFACE("3B8F34D9-8EC1-4E95-9A4E-7BA64D38F330")
                IVpnCustomPromptOptionSelector : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Options(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_SelectedIndex(
                        /* [retval, out] */__RPC__out UINT32 * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCustomPromptOptionSelector=_uuidof(IVpnCustomPromptOptionSelector);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPromptText
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomPromptText
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPromptText[] = L"Windows.Networking.Vpn.IVpnCustomPromptText";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("3BC8BDEE-3A42-49A3-ABDD-07B2EDEA752D"), exclusiveto, contract] */
                MIDL_INTERFACE("3BC8BDEE-3A42-49A3-ABDD-07B2EDEA752D")
                IVpnCustomPromptText : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Text(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Text(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCustomPromptText=_uuidof(IVpnCustomPromptText);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPromptTextInput
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomPromptTextInput
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPromptTextInput[] = L"Windows.Networking.Vpn.IVpnCustomPromptTextInput";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("C9DA9C75-913C-47D5-88BA-48FC48930235"), exclusiveto, contract] */
                MIDL_INTERFACE("C9DA9C75-913C-47D5-88BA-48FC48930235")
                IVpnCustomPromptTextInput : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_PlaceholderText(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_PlaceholderText(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_IsTextHidden(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_IsTextHidden(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Text(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCustomPromptTextInput=_uuidof(IVpnCustomPromptTextInput);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomTextBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomTextBox
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPrompt
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomTextBox[] = L"Windows.Networking.Vpn.IVpnCustomTextBox";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("DAA4C3CA-8F23-4D36-91F1-76D937827942"), exclusiveto, contract] */
                MIDL_INTERFACE("DAA4C3CA-8F23-4D36-91F1-76D937827942")
                IVpnCustomTextBox : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_DisplayText(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DisplayText(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnCustomTextBox=_uuidof(IVpnCustomTextBox);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnDomainNameAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnDomainNameAssignment
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnDomainNameAssignment[] = L"Windows.Networking.Vpn.IVpnDomainNameAssignment";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("4135B141-CCDB-49B5-9401-039A8AE767E9"), exclusiveto, contract] */
                MIDL_INTERFACE("4135B141-CCDB-49B5-9401-039A8AE767E9")
                IVpnDomainNameAssignment : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DomainNameList(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_ProxyAutoConfigurationUri(
                        /* [in] */__RPC__in_opt ABI::Windows::Foundation::IUriRuntimeClass * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ProxyAutoConfigurationUri(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Foundation::IUriRuntimeClass * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnDomainNameAssignment=_uuidof(IVpnDomainNameAssignment);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnDomainNameInfo
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnDomainNameInfo
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnDomainNameInfo[] = L"Windows.Networking.Vpn.IVpnDomainNameInfo";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("AD2EB82F-EA8E-4F7A-843E-1A87E32E1B9A"), exclusiveto, contract] */
                MIDL_INTERFACE("AD2EB82F-EA8E-4F7A-843E-1A87E32E1B9A")
                IVpnDomainNameInfo : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_DomainName(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::IHostName * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DomainName(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::IHostName * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_DomainNameType(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnDomainNameType value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DomainNameType(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnDomainNameType * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DnsServers(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_WebProxyServers(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnDomainNameInfo=_uuidof(IVpnDomainNameInfo);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnDomainNameInfo2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnDomainNameInfo
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnDomainNameInfo2[] = L"Windows.Networking.Vpn.IVpnDomainNameInfo2";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("AB871151-6C53-4828-9883-D886DE104407"), exclusiveto, contract] */
                MIDL_INTERFACE("AB871151-6C53-4828-9883-D886DE104407")
                IVpnDomainNameInfo2 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_WebProxyUris(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CFoundation__CUri * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnDomainNameInfo2=_uuidof(IVpnDomainNameInfo2);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnDomainNameInfoFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnDomainNameInfoFactory[] = L"Windows.Networking.Vpn.IVpnDomainNameInfoFactory";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("2507BB75-028F-4688-8D3A-C4531DF37DA8"), contract] */
                MIDL_INTERFACE("2507BB75-028F-4688-8D3A-C4531DF37DA8")
                IVpnDomainNameInfoFactory : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE CreateVpnDomainNameInfo(
                        /* [in] */__RPC__in HSTRING name,
                        /* [in] */ABI::Windows::Networking::Vpn::VpnDomainNameType nameType,
                        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CNetworking__CHostName * dnsServerList,
                        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CNetworking__CHostName * proxyServerList,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnDomainNameInfo * * domainNameInfo
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnDomainNameInfoFactory=_uuidof(IVpnDomainNameInfoFactory);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnInterfaceId
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnInterfaceId
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnInterfaceId[] = L"Windows.Networking.Vpn.IVpnInterfaceId";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("9E2DDCA2-1712-4CE4-B179-8C652C6D1011"), exclusiveto, contract] */
                MIDL_INTERFACE("9E2DDCA2-1712-4CE4-B179-8C652C6D1011")
                IVpnInterfaceId : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE GetAddressInfo(
                        /* [out] */__RPC__out UINT32 * __idSize,
                        /* [size_is(, *(__idSize)), out] */__RPC__deref_out_ecount_full_opt(*(__idSize)) BYTE * * id
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnInterfaceId=_uuidof(IVpnInterfaceId);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnInterfaceIdFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnInterfaceIdFactory[] = L"Windows.Networking.Vpn.IVpnInterfaceIdFactory";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("9E2DDCA2-1712-4CE4-B179-8C652C6D1000"), contract] */
                MIDL_INTERFACE("9E2DDCA2-1712-4CE4-B179-8C652C6D1000")
                IVpnInterfaceIdFactory : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE CreateVpnInterfaceId(
                        /* [in, range(0, 8)] */__RPC__in_range(0,0x8) UINT32 __addressSize,
                        /* [size_is(__addressSize), in] */__RPC__in_ecount_full(__addressSize) BYTE * address,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnInterfaceId * * vpnInterfaceId
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnInterfaceIdFactory=_uuidof(IVpnInterfaceIdFactory);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnManagementAgent
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnManagementAgent
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnManagementAgent[] = L"Windows.Networking.Vpn.IVpnManagementAgent";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("193696CD-A5C4-4ABE-852B-785BE4CB3E34"), exclusiveto, contract] */
                MIDL_INTERFACE("193696CD-A5C4-4ABE-852B-785BE4CB3E34")
                IVpnManagementAgent : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE AddProfileFromXmlAsync(
                        /* [in] */__RPC__in HSTRING xml,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE AddProfileFromObjectAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnProfile * profile,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE UpdateProfileFromXmlAsync(
                        /* [in] */__RPC__in HSTRING xml,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE UpdateProfileFromObjectAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnProfile * profile,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetProfilesAsync(
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * * operation
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE DeleteProfileAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnProfile * profile,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE ConnectProfileAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnProfile * profile,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE ConnectProfileWithPasswordCredentialAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnProfile * profile,
                        /* [in] */__RPC__in_opt ABI::Windows::Security::Credentials::IPasswordCredential * passwordCredential,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE DisconnectProfileAsync(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnProfile * profile,
                        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnManagementAgent=_uuidof(IVpnManagementAgent);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnNamespaceAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnNamespaceAssignment
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnNamespaceAssignment[] = L"Windows.Networking.Vpn.IVpnNamespaceAssignment";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("D7F7DB18-307D-4C0E-BD62-8FA270BBADD6"), exclusiveto, contract] */
                MIDL_INTERFACE("D7F7DB18-307D-4C0E-BD62-8FA270BBADD6")
                IVpnNamespaceAssignment : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_NamespaceList(
                        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_NamespaceList(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_ProxyAutoConfigUri(
                        /* [in] */__RPC__in_opt ABI::Windows::Foundation::IUriRuntimeClass * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ProxyAutoConfigUri(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Foundation::IUriRuntimeClass * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnNamespaceAssignment=_uuidof(IVpnNamespaceAssignment);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnNamespaceInfo
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnNamespaceInfo
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnNamespaceInfo[] = L"Windows.Networking.Vpn.IVpnNamespaceInfo";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("30EDFB43-444F-44C5-8167-A35A91F1AF94"), exclusiveto, contract] */
                MIDL_INTERFACE("30EDFB43-444F-44C5-8167-A35A91F1AF94")
                IVpnNamespaceInfo : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Namespace(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Namespace(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_DnsServers(
                        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DnsServers(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_WebProxyServers(
                        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_WebProxyServers(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnNamespaceInfo=_uuidof(IVpnNamespaceInfo);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnNamespaceInfoFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnNamespaceInfoFactory[] = L"Windows.Networking.Vpn.IVpnNamespaceInfoFactory";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("CB3E951A-B0CE-442B-ACBB-5F99B202C31C"), contract] */
                MIDL_INTERFACE("CB3E951A-B0CE-442B-ACBB-5F99B202C31C")
                IVpnNamespaceInfoFactory : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE CreateVpnNamespaceInfo(
                        /* [in] */__RPC__in HSTRING name,
                        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName * dnsServerList,
                        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName * proxyServerList,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnNamespaceInfo * * namespaceInfo
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnNamespaceInfoFactory=_uuidof(IVpnNamespaceInfoFactory);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnNativeProfile
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnNativeProfile
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnProfile
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnNativeProfile[] = L"Windows.Networking.Vpn.IVpnNativeProfile";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("A4AEE29E-6417-4333-9842-F0A66DB69802"), exclusiveto, contract] */
                MIDL_INTERFACE("A4AEE29E-6417-4333-9842-F0A66DB69802")
                IVpnNativeProfile : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Servers(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_RoutingPolicyType(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnRoutingPolicyType * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_RoutingPolicyType(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnRoutingPolicyType value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_NativeProtocolType(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnNativeProtocolType * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_NativeProtocolType(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnNativeProtocolType value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_UserAuthenticationMethod(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnAuthenticationMethod * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_UserAuthenticationMethod(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnAuthenticationMethod value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_TunnelAuthenticationMethod(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnAuthenticationMethod * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_TunnelAuthenticationMethod(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnAuthenticationMethod value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_EapConfiguration(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * Value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_EapConfiguration(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnNativeProfile=_uuidof(IVpnNativeProfile);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnNativeProfile2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnNativeProfile
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnNativeProfile2[] = L"Windows.Networking.Vpn.IVpnNativeProfile2";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("0FEC2467-CDB5-4AC7-B5A3-0AFB5EC47682"), exclusiveto, contract] */
                MIDL_INTERFACE("0FEC2467-CDB5-4AC7-B5A3-0AFB5EC47682")
                IVpnNativeProfile2 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_RequireVpnClientAppUI(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_RequireVpnClientAppUI(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ConnectionStatus(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnManagementConnectionStatus * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnNativeProfile2=_uuidof(IVpnNativeProfile2);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBuffer
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPacketBuffer
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBuffer[] = L"Windows.Networking.Vpn.IVpnPacketBuffer";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("C2F891FC-4D5C-4A63-B70D-4E307EACCE55"), exclusiveto, contract] */
                MIDL_INTERFACE("C2F891FC-4D5C-4A63-B70D-4E307EACCE55")
                IVpnPacketBuffer : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Buffer(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Status(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnPacketBufferStatus value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Status(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnPacketBufferStatus * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_TransportAffinity(
                        /* [in] */UINT32 value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_TransportAffinity(
                        /* [retval, out] */__RPC__out UINT32 * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnPacketBuffer=_uuidof(IVpnPacketBuffer);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBuffer2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPacketBuffer
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBuffer2[] = L"Windows.Networking.Vpn.IVpnPacketBuffer2";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("665E91F0-8805-4BF5-A619-2E84882E6B4F"), exclusiveto, contract] */
                MIDL_INTERFACE("665E91F0-8805-4BF5-A619-2E84882E6B4F")
                IVpnPacketBuffer2 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AppId(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnAppId * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnPacketBuffer2=_uuidof(IVpnPacketBuffer2);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBuffer3
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 6.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPacketBuffer
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBuffer3[] = L"Windows.Networking.Vpn.IVpnPacketBuffer3";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("E256072F-107B-4C40-B127-5BC53E0AD960"), exclusiveto, contract] */
                MIDL_INTERFACE("E256072F-107B-4C40-B127-5BC53E0AD960")
                IVpnPacketBuffer3 : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_TransportContext(
                        /* [in] */__RPC__in_opt IInspectable * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_TransportContext(
                        /* [retval, out] */__RPC__deref_out_opt IInspectable * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnPacketBuffer3=_uuidof(IVpnPacketBuffer3);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBufferFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBufferFactory[] = L"Windows.Networking.Vpn.IVpnPacketBufferFactory";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("9E2DDCA2-1712-4CE4-B179-8C652C6D9999"), contract] */
                MIDL_INTERFACE("9E2DDCA2-1712-4CE4-B179-8C652C6D9999")
                IVpnPacketBufferFactory : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE CreateVpnPacketBuffer(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * parentBuffer,
                        /* [in] */UINT32 offset,
                        /* [in] */UINT32 length,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * * vpnPacketBuffer
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnPacketBufferFactory=_uuidof(IVpnPacketBufferFactory);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBufferList
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPacketBufferList
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Foundation.Collections.IIterable_1_Windows.Networking.Vpn.VpnPacketBuffer
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBufferList[] = L"Windows.Networking.Vpn.IVpnPacketBufferList";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("C2F891FC-4D5C-4A63-B70D-4E307EACCE77"), exclusiveto, contract] */
                MIDL_INTERFACE("C2F891FC-4D5C-4A63-B70D-4E307EACCE77")
                IVpnPacketBufferList : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE Append(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * nextVpnPacketBuffer
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE AddAtBegin(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * nextVpnPacketBuffer
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * * nextVpnPacketBuffer
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RemoveAtBegin(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * * nextVpnPacketBuffer
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE Clear(void) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Status(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnPacketBufferStatus value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Status(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnPacketBufferStatus * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Size(
                        /* [retval, out] */__RPC__out UINT32 * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnPacketBufferList=_uuidof(IVpnPacketBufferList);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBufferList2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPacketBufferList
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Foundation.Collections.IIterable_1_Windows.Networking.Vpn.VpnPacketBuffer
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBufferList2[] = L"Windows.Networking.Vpn.IVpnPacketBufferList2";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("3E7ACFE5-EA1E-482A-8D98-C065F57D89EA"), exclusiveto, contract] */
                MIDL_INTERFACE("3E7ACFE5-EA1E-482A-8D98-C065F57D89EA")
                IVpnPacketBufferList2 : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE AddLeadingPacket(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * nextVpnPacketBuffer
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RemoveLeadingPacket(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * * nextVpnPacketBuffer
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE AddTrailingPacket(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * nextVpnPacketBuffer
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE RemoveTrailingPacket(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * * nextVpnPacketBuffer
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnPacketBufferList2=_uuidof(IVpnPacketBufferList2);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPickedCredential
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPickedCredential
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPickedCredential[] = L"Windows.Networking.Vpn.IVpnPickedCredential";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("9A793AC7-8854-4E52-AD97-24DD9A842BCE"), exclusiveto, contract] */
                MIDL_INTERFACE("9A793AC7-8854-4E52-AD97-24DD9A842BCE")
                IVpnPickedCredential : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_PasskeyCredential(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Security::Credentials::IPasswordCredential * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AdditionalPin(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_OldPasswordCredential(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Security::Credentials::IPasswordCredential * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnPickedCredential=_uuidof(IVpnPickedCredential);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPlugIn
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPlugIn[] = L"Windows.Networking.Vpn.IVpnPlugIn";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("CEB78D07-D0A8-4703-A091-C8C2C0915BC4"), contract] */
                MIDL_INTERFACE("CEB78D07-D0A8-4703-A091-C8C2C0915BC4")
                IVpnPlugIn : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE Connect(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnChannel * channel
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE Disconnect(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnChannel * channel
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE GetKeepAlivePayload(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnChannel * channel,
                        /* [out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * * keepAlivePacket
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE Encapsulate(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnChannel * channel,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnPacketBufferList * packets,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnPacketBufferList * encapulatedPackets
                        ) = 0;
                    virtual HRESULT STDMETHODCALLTYPE Decapsulate(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnChannel * channel,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer * encapBuffer,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnPacketBufferList * decapsulatedPackets,
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnPacketBufferList * controlPacketsToSend
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnPlugIn=_uuidof(IVpnPlugIn);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPlugInProfile
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPlugInProfile
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnProfile
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPlugInProfile[] = L"Windows.Networking.Vpn.IVpnPlugInProfile";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("0EDF0DA4-4F00-4589-8D7B-4BF988F6542C"), exclusiveto, contract] */
                MIDL_INTERFACE("0EDF0DA4-4F00-4589-8D7B-4BF988F6542C")
                IVpnPlugInProfile : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ServerUris(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CFoundation__CUri * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_CustomConfiguration(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_CustomConfiguration(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_VpnPluginPackageFamilyName(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_VpnPluginPackageFamilyName(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnPlugInProfile=_uuidof(IVpnPlugInProfile);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPlugInProfile2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPlugInProfile
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnProfile
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPlugInProfile2[] = L"Windows.Networking.Vpn.IVpnPlugInProfile2";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("611C4892-CF94-4AD6-BA99-00F4FF34565E"), exclusiveto, contract] */
                MIDL_INTERFACE("611C4892-CF94-4AD6-BA99-00F4FF34565E")
                IVpnPlugInProfile2 : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_RequireVpnClientAppUI(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_RequireVpnClientAppUI(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ConnectionStatus(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnManagementConnectionStatus * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnPlugInProfile2=_uuidof(IVpnPlugInProfile2);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnProfile
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnProfile[] = L"Windows.Networking.Vpn.IVpnProfile";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("7875B751-B0D7-43DB-8A93-D3FE2479E56A"), contract] */
                MIDL_INTERFACE("7875B751-B0D7-43DB-8A93-D3FE2479E56A")
                IVpnProfile : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ProfileName(
                        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_ProfileName(
                        /* [in] */__RPC__in HSTRING value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AppTriggers(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Routes(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_DomainNameInfoList(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_TrafficFilters(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_RememberCredentials(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_RememberCredentials(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AlwaysOn(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_AlwaysOn(
                        /* [in] */boolean value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnProfile=_uuidof(IVpnProfile);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnRoute
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnRoute
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnRoute[] = L"Windows.Networking.Vpn.IVpnRoute";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("B5731B83-0969-4699-938E-7776DB29CFB3"), exclusiveto, contract] */
                MIDL_INTERFACE("B5731B83-0969-4699-938E-7776DB29CFB3")
                IVpnRoute : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Address(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::IHostName * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Address(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::IHostName * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_PrefixSize(
                        /* [range(0, 128), in] */__RPC__in_range(0,0x80) BYTE value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_PrefixSize(
                        /* [retval, out] */__RPC__out BYTE * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnRoute=_uuidof(IVpnRoute);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnRouteAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnRouteAssignment
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnRouteAssignment[] = L"Windows.Networking.Vpn.IVpnRouteAssignment";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("DB64DE22-CE39-4A76-9550-F61039F80E48"), exclusiveto, contract] */
                MIDL_INTERFACE("DB64DE22-CE39-4A76-9550-F61039F80E48")
                IVpnRouteAssignment : public IInspectable
                {
                public:
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Ipv4InclusionRoutes(
                        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Ipv6InclusionRoutes(
                        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Ipv4InclusionRoutes(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Ipv6InclusionRoutes(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Ipv4ExclusionRoutes(
                        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Ipv6ExclusionRoutes(
                        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Ipv4ExclusionRoutes(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Ipv6ExclusionRoutes(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_ExcludeLocalSubnets(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_ExcludeLocalSubnets(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnRouteAssignment=_uuidof(IVpnRouteAssignment);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnRouteFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnRouteFactory[] = L"Windows.Networking.Vpn.IVpnRouteFactory";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("BDEAB5FF-45CF-4B99-83FB-DB3BC2672B02"), contract] */
                MIDL_INTERFACE("BDEAB5FF-45CF-4B99-83FB-DB3BC2672B02")
                IVpnRouteFactory : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE CreateVpnRoute(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::IHostName * address,
                        /* [range(0, 128), in] */__RPC__in_range(0,0x80) BYTE prefixSize,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnRoute * * route
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnRouteFactory=_uuidof(IVpnRouteFactory);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnSystemHealth
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnSystemHealth
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnSystemHealth[] = L"Windows.Networking.Vpn.IVpnSystemHealth";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("99A8F8AF-C0EE-4E75-817A-F231AEE5123D"), exclusiveto, contract] */
                MIDL_INTERFACE("99A8F8AF-C0EE-4E75-817A-F231AEE5123D")
                IVpnSystemHealth : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_StatementOfHealth(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer * * value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnSystemHealth=_uuidof(IVpnSystemHealth);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnTrafficFilter
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnTrafficFilter
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnTrafficFilter[] = L"Windows.Networking.Vpn.IVpnTrafficFilter";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("2F691B60-6C9F-47F5-AC36-BB1B042E2C50"), exclusiveto, contract] */
                MIDL_INTERFACE("2F691B60-6C9F-47F5-AC36-BB1B042E2C50")
                IVpnTrafficFilter : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AppId(
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnAppId * * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_AppId(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnAppId * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AppClaims(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Protocol(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnIPProtocol * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_Protocol(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnIPProtocol value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_LocalPortRanges(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_RemotePortRanges(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_LocalAddressRanges(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_RemoteAddressRanges(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_RoutingPolicyType(
                        /* [retval, out] */__RPC__out ABI::Windows::Networking::Vpn::VpnRoutingPolicyType * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_RoutingPolicyType(
                        /* [in] */ABI::Windows::Networking::Vpn::VpnRoutingPolicyType value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnTrafficFilter=_uuidof(IVpnTrafficFilter);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnTrafficFilterAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnTrafficFilterAssignment
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnTrafficFilterAssignment[] = L"Windows.Networking.Vpn.IVpnTrafficFilterAssignment";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("56CCD45C-E664-471E-89CD-601603B9E0F3"), exclusiveto, contract] */
                MIDL_INTERFACE("56CCD45C-E664-471E-89CD-601603B9E0F3")
                IVpnTrafficFilterAssignment : public IInspectable
                {
                public:
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_TrafficFilterList(
                        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * * value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AllowOutbound(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_AllowOutbound(
                        /* [in] */boolean value
                        ) = 0;
                    /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_AllowInbound(
                        /* [retval, out] */__RPC__out boolean * value
                        ) = 0;
                    /* [propput] */virtual HRESULT STDMETHODCALLTYPE put_AllowInbound(
                        /* [in] */boolean value
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnTrafficFilterAssignment=_uuidof(IVpnTrafficFilterAssignment);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnTrafficFilterFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnTrafficFilter
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnTrafficFilterFactory[] = L"Windows.Networking.Vpn.IVpnTrafficFilterFactory";
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                /* [object, uuid("480D41D5-7F99-474C-86EE-96DF168318F1"), exclusiveto, contract] */
                MIDL_INTERFACE("480D41D5-7F99-474C-86EE-96DF168318F1")
                IVpnTrafficFilterFactory : public IInspectable
                {
                public:
                    virtual HRESULT STDMETHODCALLTYPE Create(
                        /* [in] */__RPC__in_opt ABI::Windows::Networking::Vpn::IVpnAppId * appId,
                        /* [retval, out] */__RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilter * * result
                        ) = 0;
                    
                };

                extern MIDL_CONST_ID IID & IID_IVpnTrafficFilterFactory=_uuidof(IVpnTrafficFilterFactory);
                
            } /* Windows */
        } /* Networking */
    } /* Vpn */} /* ABI */

EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnAppId
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnAppIdFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnAppId ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnAppId_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnAppId_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnAppId[] = L"Windows.Networking.Vpn.VpnAppId";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnChannel
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Networking.Vpn.IVpnChannelStatics interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnChannel ** Default Interface **
 *    Windows.Networking.Vpn.IVpnChannel2
 *    Windows.Networking.Vpn.IVpnChannel4
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnChannel_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnChannel_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnChannel[] = L"Windows.Networking.Vpn.VpnChannel";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnChannelActivityEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnChannelActivityEventArgs ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelActivityEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelActivityEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnChannelActivityEventArgs[] = L"Windows.Networking.Vpn.VpnChannelActivityEventArgs";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnChannelActivityStateChangedArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnChannelActivityStateChangedArgs ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelActivityStateChangedArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelActivityStateChangedArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnChannelActivityStateChangedArgs[] = L"Windows.Networking.Vpn.VpnChannelActivityStateChangedArgs";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnChannelConfiguration
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnChannelConfiguration ** Default Interface **
 *    Windows.Networking.Vpn.IVpnChannelConfiguration2
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelConfiguration_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelConfiguration_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnChannelConfiguration[] = L"Windows.Networking.Vpn.VpnChannelConfiguration";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCredential
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCredential ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCredential_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCredential_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCredential[] = L"Windows.Networking.Vpn.VpnCredential";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomCheckBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomCheckBox ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomCheckBox_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomCheckBox_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomCheckBox[] = L"Windows.Networking.Vpn.VpnCustomCheckBox";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomComboBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomComboBox ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomComboBox_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomComboBox_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomComboBox[] = L"Windows.Networking.Vpn.VpnCustomComboBox";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomEditBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomEditBox ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomEditBox_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomEditBox_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomEditBox[] = L"Windows.Networking.Vpn.VpnCustomEditBox";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomErrorBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomErrorBox ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomErrorBox_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomErrorBox_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomErrorBox[] = L"Windows.Networking.Vpn.VpnCustomErrorBox";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomPromptBooleanInput
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomPromptBooleanInput ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptBooleanInput_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptBooleanInput_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomPromptBooleanInput[] = L"Windows.Networking.Vpn.VpnCustomPromptBooleanInput";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomPromptOptionSelector
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomPromptOptionSelector ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptOptionSelector_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptOptionSelector_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomPromptOptionSelector[] = L"Windows.Networking.Vpn.VpnCustomPromptOptionSelector";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomPromptText
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomPromptText ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptText_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptText_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomPromptText[] = L"Windows.Networking.Vpn.VpnCustomPromptText";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomPromptTextInput
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomPromptTextInput ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptTextInput_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptTextInput_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomPromptTextInput[] = L"Windows.Networking.Vpn.VpnCustomPromptTextInput";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomTextBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomTextBox ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomTextBox_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomTextBox_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomTextBox[] = L"Windows.Networking.Vpn.VpnCustomTextBox";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnDomainNameAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnDomainNameAssignment ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnDomainNameAssignment_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnDomainNameAssignment_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnDomainNameAssignment[] = L"Windows.Networking.Vpn.VpnDomainNameAssignment";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnDomainNameInfo
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnDomainNameInfoFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnDomainNameInfo ** Default Interface **
 *    Windows.Networking.Vpn.IVpnDomainNameInfo2
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnDomainNameInfo_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnDomainNameInfo_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnDomainNameInfo[] = L"Windows.Networking.Vpn.VpnDomainNameInfo";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnInterfaceId
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnInterfaceIdFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnInterfaceId ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnInterfaceId_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnInterfaceId_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnInterfaceId[] = L"Windows.Networking.Vpn.VpnInterfaceId";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnManagementAgent
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnManagementAgent ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnManagementAgent_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnManagementAgent_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnManagementAgent[] = L"Windows.Networking.Vpn.VpnManagementAgent";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnNamespaceAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnNamespaceAssignment ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnNamespaceAssignment_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnNamespaceAssignment_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnNamespaceAssignment[] = L"Windows.Networking.Vpn.VpnNamespaceAssignment";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnNamespaceInfo
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnNamespaceInfoFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnNamespaceInfo ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnNamespaceInfo_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnNamespaceInfo_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnNamespaceInfo[] = L"Windows.Networking.Vpn.VpnNamespaceInfo";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnNativeProfile
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnNativeProfile ** Default Interface **
 *    Windows.Networking.Vpn.IVpnProfile
 *    Windows.Networking.Vpn.IVpnNativeProfile2
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnNativeProfile_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnNativeProfile_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnNativeProfile[] = L"Windows.Networking.Vpn.VpnNativeProfile";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnPacketBuffer
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnPacketBufferFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnPacketBuffer ** Default Interface **
 *    Windows.Networking.Vpn.IVpnPacketBuffer2
 *    Windows.Networking.Vpn.IVpnPacketBuffer3
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnPacketBuffer_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnPacketBuffer_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnPacketBuffer[] = L"Windows.Networking.Vpn.VpnPacketBuffer";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnPacketBufferList
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnPacketBufferList ** Default Interface **
 *    Windows.Foundation.Collections.IIterable_1_Windows.Networking.Vpn.VpnPacketBuffer
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnPacketBufferList_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnPacketBufferList_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnPacketBufferList[] = L"Windows.Networking.Vpn.VpnPacketBufferList";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnPickedCredential
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnPickedCredential ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnPickedCredential_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnPickedCredential_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnPickedCredential[] = L"Windows.Networking.Vpn.VpnPickedCredential";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnPlugInProfile
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnPlugInProfile ** Default Interface **
 *    Windows.Networking.Vpn.IVpnProfile
 *    Windows.Networking.Vpn.IVpnPlugInProfile2
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnPlugInProfile_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnPlugInProfile_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnPlugInProfile[] = L"Windows.Networking.Vpn.VpnPlugInProfile";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnRoute
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnRouteFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnRoute ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnRoute_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnRoute_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnRoute[] = L"Windows.Networking.Vpn.VpnRoute";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnRouteAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnRouteAssignment ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnRouteAssignment_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnRouteAssignment_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnRouteAssignment[] = L"Windows.Networking.Vpn.VpnRouteAssignment";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnSystemHealth
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnSystemHealth ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnSystemHealth_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnSystemHealth_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnSystemHealth[] = L"Windows.Networking.Vpn.VpnSystemHealth";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnTrafficFilter
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnTrafficFilterFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnTrafficFilter ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnTrafficFilter_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnTrafficFilter_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnTrafficFilter[] = L"Windows.Networking.Vpn.VpnTrafficFilter";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnTrafficFilterAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnTrafficFilterAssignment ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnTrafficFilterAssignment_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnTrafficFilterAssignment_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnTrafficFilterAssignment[] = L"Windows.Networking.Vpn.VpnTrafficFilterAssignment";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000




#else // !defined(__cplusplus)
/* Forward Declarations */
#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2 __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2 __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2 __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2 __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3 __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2 __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_FWD_DEFINED__

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory;

#endif // ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_FWD_DEFINED__

// Parameterized interface forward declarations (C)

// Collection interface definitions

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt;

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

typedef struct __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptVtbl;

interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt
{
    CONST_VTBL struct __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt;

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

typedef  struct __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt **first);

    END_INTERFACE
} __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptVtbl;

interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt
{
    CONST_VTBL struct __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement;

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

typedef struct __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElementVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElementVtbl;

interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement
{
    CONST_VTBL struct __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElementVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement;

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

typedef  struct __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElementVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement **first);

    END_INTERFACE
} __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElementVtbl;

interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement
{
    CONST_VTBL struct __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElementVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile;

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

typedef struct __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl;

interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile
{
    CONST_VTBL struct __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile;

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

typedef  struct __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile **first);

    END_INTERFACE
} __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl;

interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile
{
    CONST_VTBL struct __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId;

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

typedef struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl;

interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId
{
    CONST_VTBL struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId;

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

typedef  struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId **first);

    END_INTERFACE
} __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl;

interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId
{
    CONST_VTBL struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

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

typedef struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl;

interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
{
    CONST_VTBL struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

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

typedef  struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo **first);

    END_INTERFACE
} __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl;

interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
{
    CONST_VTBL struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

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

typedef struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl;

interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
{
    CONST_VTBL struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

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

typedef  struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo **first);

    END_INTERFACE
} __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl;

interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
{
    CONST_VTBL struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer;

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

typedef struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBufferVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBufferVtbl;

interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer
{
    CONST_VTBL struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBufferVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer;

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

typedef  struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBufferVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer **first);

    END_INTERFACE
} __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBufferVtbl;

interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer
{
    CONST_VTBL struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBufferVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute;

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

typedef struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnRouteVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CNetworking__CVpn__CVpnRouteVtbl;

interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute
{
    CONST_VTBL struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnRouteVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute;

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

typedef  struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnRouteVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute **first);

    END_INTERFACE
} __FIIterable_1_Windows__CNetworking__CVpn__CVpnRouteVtbl;

interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute
{
    CONST_VTBL struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnRouteVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

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

typedef struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl;

interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
{
    CONST_VTBL struct __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

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

typedef  struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter **first);

    END_INTERFACE
} __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl;

interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
{
    CONST_VTBL struct __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt;

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

typedef struct __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptVtbl;

interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt
{
    CONST_VTBL struct __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement;

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

typedef struct __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElementVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElementVtbl;

interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement
{
    CONST_VTBL struct __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElementVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile;

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

typedef struct __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl;

interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile
{
    CONST_VTBL struct __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId;

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

typedef struct __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl;

interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId
{
    CONST_VTBL struct __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

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

typedef struct __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl;

interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
{
    CONST_VTBL struct __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

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

typedef struct __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl;

interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
{
    CONST_VTBL struct __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute;

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

typedef struct __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRouteVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRouteVtbl;

interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute
{
    CONST_VTBL struct __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRouteVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

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

typedef struct __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl;

interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
{
    CONST_VTBL struct __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__)
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

typedef interface __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId;

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

typedef struct __FIVector_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [in] */ unsigned int index,
        /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * *item);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [retval][out] */ __RPC__out unsigned int *size);

    HRESULT ( STDMETHODCALLTYPE *GetView )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId **view);

    HRESULT ( STDMETHODCALLTYPE *IndexOf )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * item,
        /* [out] */ __RPC__out unsigned int *index,
        /* [retval][out] */ __RPC__out boolean *found);

    HRESULT ( STDMETHODCALLTYPE *SetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * item);

    HRESULT ( STDMETHODCALLTYPE *InsertAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * item);

    HRESULT ( STDMETHODCALLTYPE *RemoveAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [in] */ unsigned int index);
    HRESULT ( STDMETHODCALLTYPE *Append )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This, /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * item);
    HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This);
    HRESULT ( STDMETHODCALLTYPE *Clear )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [in] */ unsigned int startIndex,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    HRESULT ( STDMETHODCALLTYPE *ReplaceAll )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * This,
        /* [in] */ unsigned int count,
        /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * *value);

    END_INTERFACE
} __FIVector_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl;

interface __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId
{
    CONST_VTBL struct __FIVector_1_Windows__CNetworking__CVpn__CVpnAppIdVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */



#endif // ____FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__)
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

typedef interface __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

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

typedef struct __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [in] */ unsigned int index,
        /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * *item);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [retval][out] */ __RPC__out unsigned int *size);

    HRESULT ( STDMETHODCALLTYPE *GetView )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo **view);

    HRESULT ( STDMETHODCALLTYPE *IndexOf )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * item,
        /* [out] */ __RPC__out unsigned int *index,
        /* [retval][out] */ __RPC__out boolean *found);

    HRESULT ( STDMETHODCALLTYPE *SetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * item);

    HRESULT ( STDMETHODCALLTYPE *InsertAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * item);

    HRESULT ( STDMETHODCALLTYPE *RemoveAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [in] */ unsigned int index);
    HRESULT ( STDMETHODCALLTYPE *Append )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This, /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * item);
    HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This);
    HRESULT ( STDMETHODCALLTYPE *Clear )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [in] */ unsigned int startIndex,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    HRESULT ( STDMETHODCALLTYPE *ReplaceAll )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * This,
        /* [in] */ unsigned int count,
        /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * *value);

    END_INTERFACE
} __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl;

interface __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
{
    CONST_VTBL struct __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfoVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */



#endif // ____FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__)
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

typedef interface __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

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

typedef struct __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [in] */ unsigned int index,
        /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * *item);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [retval][out] */ __RPC__out unsigned int *size);

    HRESULT ( STDMETHODCALLTYPE *GetView )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo **view);

    HRESULT ( STDMETHODCALLTYPE *IndexOf )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * item,
        /* [out] */ __RPC__out unsigned int *index,
        /* [retval][out] */ __RPC__out boolean *found);

    HRESULT ( STDMETHODCALLTYPE *SetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * item);

    HRESULT ( STDMETHODCALLTYPE *InsertAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * item);

    HRESULT ( STDMETHODCALLTYPE *RemoveAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [in] */ unsigned int index);
    HRESULT ( STDMETHODCALLTYPE *Append )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This, /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * item);
    HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This);
    HRESULT ( STDMETHODCALLTYPE *Clear )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [in] */ unsigned int startIndex,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    HRESULT ( STDMETHODCALLTYPE *ReplaceAll )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * This,
        /* [in] */ unsigned int count,
        /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * *value);

    END_INTERFACE
} __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl;

interface __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
{
    CONST_VTBL struct __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfoVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */



#endif // ____FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__)
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

typedef interface __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute;

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

typedef struct __FIVector_1_Windows__CNetworking__CVpn__CVpnRouteVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [in] */ unsigned int index,
        /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * *item);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [retval][out] */ __RPC__out unsigned int *size);

    HRESULT ( STDMETHODCALLTYPE *GetView )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute **view);

    HRESULT ( STDMETHODCALLTYPE *IndexOf )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * item,
        /* [out] */ __RPC__out unsigned int *index,
        /* [retval][out] */ __RPC__out boolean *found);

    HRESULT ( STDMETHODCALLTYPE *SetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * item);

    HRESULT ( STDMETHODCALLTYPE *InsertAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * item);

    HRESULT ( STDMETHODCALLTYPE *RemoveAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [in] */ unsigned int index);
    HRESULT ( STDMETHODCALLTYPE *Append )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This, /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * item);
    HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This);
    HRESULT ( STDMETHODCALLTYPE *Clear )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [in] */ unsigned int startIndex,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    HRESULT ( STDMETHODCALLTYPE *ReplaceAll )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * This,
        /* [in] */ unsigned int count,
        /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * *value);

    END_INTERFACE
} __FIVector_1_Windows__CNetworking__CVpn__CVpnRouteVtbl;

interface __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute
{
    CONST_VTBL struct __FIVector_1_Windows__CNetworking__CVpn__CVpnRouteVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */



#endif // ____FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__)
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

typedef interface __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

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

typedef struct __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [in] */ unsigned int index,
        /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * *item);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [retval][out] */ __RPC__out unsigned int *size);

    HRESULT ( STDMETHODCALLTYPE *GetView )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter **view);

    HRESULT ( STDMETHODCALLTYPE *IndexOf )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * item,
        /* [out] */ __RPC__out unsigned int *index,
        /* [retval][out] */ __RPC__out boolean *found);

    HRESULT ( STDMETHODCALLTYPE *SetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * item);

    HRESULT ( STDMETHODCALLTYPE *InsertAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * item);

    HRESULT ( STDMETHODCALLTYPE *RemoveAt )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [in] */ unsigned int index);
    HRESULT ( STDMETHODCALLTYPE *Append )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This, /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * item);
    HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This);
    HRESULT ( STDMETHODCALLTYPE *Clear )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [in] */ unsigned int startIndex,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    HRESULT ( STDMETHODCALLTYPE *ReplaceAll )(__RPC__in __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * This,
        /* [in] */ unsigned int count,
        /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * *value);

    END_INTERFACE
} __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl;

interface __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
{
    CONST_VTBL struct __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilterVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */



#endif // ____FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile;

typedef struct __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl;

interface __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile;

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

typedef struct __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * This, /* [retval][out] */ __RPC__out __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * *results);
    END_INTERFACE
} __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl;

interface __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile
{
    CONST_VTBL struct __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfileVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredentialVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredentialVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredentialVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential;

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

typedef struct __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredentialVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredentialVtbl;

interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredentialVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

enum __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementErrorStatus;
#if !defined(____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__)
#define ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__

typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus;

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

// Forward declare the async operation.
typedef interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus;

typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatusVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This,/* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus *asyncInfo, /* [in] */ AsyncStatus status);
    END_INTERFACE
} __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatusVtbl;

interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus
{
    CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatusVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__



#if !defined(____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__)
#define ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__

typedef interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus;

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

typedef struct __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatusVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This, /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus *handler);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This, /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **handler);
    HRESULT ( STDMETHODCALLTYPE *GetResults )(__RPC__in __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * This, /* [retval][out] */ __RPC__out enum __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementErrorStatus *results);
    END_INTERFACE
} __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatusVtbl;

interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus
{
    CONST_VTBL struct __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatusVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 

#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 

#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 
#endif /* COBJMACROS */


#endif // ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__




#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_INTERFACE_DEFINED__)
#define ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_INTERFACE_DEFINED__

typedef interface __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs;

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

typedef struct __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs * This,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * sender,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs * *e);
    END_INTERFACE
} __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgsVtbl;

interface __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs
{
    CONST_VTBL struct __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 
#endif /* COBJMACROS */



#endif // ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000



#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__)
#define ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__

typedef interface __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs;

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

typedef struct __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface )(__RPC__in __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs * This);

    HRESULT ( STDMETHODCALLTYPE *Invoke )(__RPC__in __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs * This,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * sender,/* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs * *e);
    END_INTERFACE
} __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgsVtbl;

interface __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs
{
    CONST_VTBL struct __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 
#endif /* COBJMACROS */



#endif // ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef ____x_ABI_CWindows_CNetworking_CIHostName_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CIHostName_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CIHostName __x_ABI_CWindows_CNetworking_CIHostName;

#endif // ____x_ABI_CWindows_CNetworking_CIHostName_FWD_DEFINED__


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CNetworking__CHostName __FIIterator_1_Windows__CNetworking__CHostName;

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

typedef struct __FIIterator_1_Windows__CNetworking__CHostNameVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CNetworking__CHostName * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CNetworking__CHostName * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CNetworking__CHostName * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CNetworking__CHostName * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CNetworking__CHostName * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CNetworking__CHostName * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CNetworking__CHostName * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CIHostName * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CNetworking__CHostName * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CNetworking__CHostName * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CNetworking__CHostName * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CIHostName * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CNetworking__CHostNameVtbl;

interface __FIIterator_1_Windows__CNetworking__CHostName
{
    CONST_VTBL struct __FIIterator_1_Windows__CNetworking__CHostNameVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CNetworking__CHostName_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CNetworking__CHostName_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CNetworking__CHostName_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CNetworking__CHostName_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CNetworking__CHostName_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CNetworking__CHostName_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CNetworking__CHostName_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CNetworking__CHostName_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CHostName_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CNetworking__CHostName_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CNetworking__CHostName __FIIterable_1_Windows__CNetworking__CHostName;

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

typedef  struct __FIIterable_1_Windows__CNetworking__CHostNameVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CNetworking__CHostName * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CNetworking__CHostName * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CNetworking__CHostName * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CNetworking__CHostName * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CNetworking__CHostName * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CNetworking__CHostName * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CNetworking__CHostName * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CHostName **first);

    END_INTERFACE
} __FIIterable_1_Windows__CNetworking__CHostNameVtbl;

interface __FIIterable_1_Windows__CNetworking__CHostName
{
    CONST_VTBL struct __FIIterable_1_Windows__CNetworking__CHostNameVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CNetworking__CHostName_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CNetworking__CHostName_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CNetworking__CHostName_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CNetworking__CHostName_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CNetworking__CHostName_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CNetworking__CHostName_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CNetworking__CHostName_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CNetworking__CHostName __FIVectorView_1_Windows__CNetworking__CHostName;

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

typedef struct __FIVectorView_1_Windows__CNetworking__CHostNameVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CHostName * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CNetworking__CHostName * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CNetworking__CHostName * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CNetworking__CHostName * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CHostName * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CNetworking__CHostName * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CNetworking__CHostName * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CNetworking_CIHostName * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CNetworking__CHostName * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CHostName * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CIHostName * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CNetworking__CHostName * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CIHostName * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CNetworking__CHostNameVtbl;

interface __FIVectorView_1_Windows__CNetworking__CHostName
{
    CONST_VTBL struct __FIVectorView_1_Windows__CNetworking__CHostNameVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CNetworking__CHostName_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CNetworking__CHostName_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CNetworking__CHostName_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CNetworking__CHostName_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CNetworking__CHostName_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CNetworking__CHostName_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CNetworking__CHostName_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CNetworking__CHostName_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CNetworking__CHostName_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CNetworking__CHostName_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if !defined(____FIIterator_1_IInspectable_INTERFACE_DEFINED__)
#define ____FIIterator_1_IInspectable_INTERFACE_DEFINED__

typedef interface __FIIterator_1_IInspectable __FIIterator_1_IInspectable;

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

typedef struct __FIIterator_1_IInspectableVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_IInspectable * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_IInspectable * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_IInspectable * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_IInspectable * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_IInspectable * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_IInspectable * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_IInspectable * This, /* [retval][out] */ __RPC__out IInspectable * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_IInspectable * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_IInspectable * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_IInspectable * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) IInspectable * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_IInspectableVtbl;

interface __FIIterator_1_IInspectable
{
    CONST_VTBL struct __FIIterator_1_IInspectableVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_IInspectable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_IInspectable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_IInspectable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_IInspectable_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_IInspectable_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_IInspectable_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_IInspectable_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_IInspectable_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_IInspectable_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_IInspectable_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_IInspectable_INTERFACE_DEFINED__



#if !defined(____FIIterable_1_IInspectable_INTERFACE_DEFINED__)
#define ____FIIterable_1_IInspectable_INTERFACE_DEFINED__

typedef interface __FIIterable_1_IInspectable __FIIterable_1_IInspectable;

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

typedef  struct __FIIterable_1_IInspectableVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_IInspectable * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_IInspectable * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_IInspectable * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_IInspectable * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_IInspectable * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_IInspectable * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_IInspectable * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_IInspectable **first);

    END_INTERFACE
} __FIIterable_1_IInspectableVtbl;

interface __FIIterable_1_IInspectable
{
    CONST_VTBL struct __FIIterable_1_IInspectableVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_IInspectable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_IInspectable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_IInspectable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_IInspectable_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_IInspectable_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_IInspectable_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_IInspectable_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_IInspectable_INTERFACE_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__


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterator_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__)
#define ____FIIterator_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

typedef interface __FIIterator_1_Windows__CFoundation__CUri __FIIterator_1_Windows__CFoundation__CUri;

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

typedef struct __FIIterator_1_Windows__CFoundation__CUriVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_Windows__CFoundation__CUri * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_Windows__CFoundation__CUri * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_Windows__CFoundation__CUri * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_Windows__CFoundation__CUri * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_Windows__CFoundation__CUri * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_Windows__CFoundation__CUri * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_Windows__CFoundation__CUri * This, /* [retval][out] */ __RPC__out __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_Windows__CFoundation__CUri * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_Windows__CFoundation__CUri * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_Windows__CFoundation__CUri * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_Windows__CFoundation__CUriVtbl;

interface __FIIterator_1_Windows__CFoundation__CUri
{
    CONST_VTBL struct __FIIterator_1_Windows__CFoundation__CUriVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_Windows__CFoundation__CUri_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_Windows__CFoundation__CUri_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_Windows__CFoundation__CUri_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_Windows__CFoundation__CUri_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_Windows__CFoundation__CUri_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_Windows__CFoundation__CUri_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_Windows__CFoundation__CUri_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_Windows__CFoundation__CUri_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CFoundation__CUri_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_Windows__CFoundation__CUri_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIIterable_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__)
#define ____FIIterable_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

typedef interface __FIIterable_1_Windows__CFoundation__CUri __FIIterable_1_Windows__CFoundation__CUri;

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

typedef  struct __FIIterable_1_Windows__CFoundation__CUriVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_Windows__CFoundation__CUri * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_Windows__CFoundation__CUri * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_Windows__CFoundation__CUri * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_Windows__CFoundation__CUri * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_Windows__CFoundation__CUri * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_Windows__CFoundation__CUri * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_Windows__CFoundation__CUri * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CFoundation__CUri **first);

    END_INTERFACE
} __FIIterable_1_Windows__CFoundation__CUriVtbl;

interface __FIIterable_1_Windows__CFoundation__CUri
{
    CONST_VTBL struct __FIIterable_1_Windows__CFoundation__CUriVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_Windows__CFoundation__CUri_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_Windows__CFoundation__CUri_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_Windows__CFoundation__CUri_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_Windows__CFoundation__CUri_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_Windows__CFoundation__CUri_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_Windows__CFoundation__CUri_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_Windows__CFoundation__CUri_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVectorView_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__)
#define ____FIVectorView_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_Windows__CFoundation__CUri __FIVectorView_1_Windows__CFoundation__CUri;

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

typedef struct __FIVectorView_1_Windows__CFoundation__CUriVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_Windows__CFoundation__CUri * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_Windows__CFoundation__CUri * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_Windows__CFoundation__CUri * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_Windows__CFoundation__CUri * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_Windows__CFoundation__CUri * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_Windows__CFoundation__CUri * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_Windows__CFoundation__CUri * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CFoundation__CUri * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_Windows__CFoundation__CUri * This,
            /* [in] */ __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_Windows__CFoundation__CUri * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_Windows__CFoundation__CUriVtbl;

interface __FIVectorView_1_Windows__CFoundation__CUri
{
    CONST_VTBL struct __FIVectorView_1_Windows__CFoundation__CUriVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_Windows__CFoundation__CUri_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_Windows__CFoundation__CUri_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_Windows__CFoundation__CUri_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_Windows__CFoundation__CUri_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_Windows__CFoundation__CUri_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_Windows__CFoundation__CUri_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_Windows__CFoundation__CUri_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_Windows__CFoundation__CUri_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_Windows__CFoundation__CUri_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_Windows__CFoundation__CUri_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#if !defined(____FIIterator_1_HSTRING_INTERFACE_DEFINED__)
#define ____FIIterator_1_HSTRING_INTERFACE_DEFINED__

typedef interface __FIIterator_1_HSTRING __FIIterator_1_HSTRING;

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

typedef struct __FIIterator_1_HSTRINGVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterator_1_HSTRING * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);
    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterator_1_HSTRING * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterator_1_HSTRING * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterator_1_HSTRING * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterator_1_HSTRING * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterator_1_HSTRING * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )(__RPC__in __FIIterator_1_HSTRING * This, /* [retval][out] */ __RPC__out HSTRING *current);
    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(__RPC__in __FIIterator_1_HSTRING * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *MoveNext )(__RPC__in __FIIterator_1_HSTRING * This, /* [retval][out] */ __RPC__out boolean *hasCurrent);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIIterator_1_HSTRING * This,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) HSTRING *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    END_INTERFACE
} __FIIterator_1_HSTRINGVtbl;

interface __FIIterator_1_HSTRING
{
    CONST_VTBL struct __FIIterator_1_HSTRINGVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIIterator_1_HSTRING_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterator_1_HSTRING_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterator_1_HSTRING_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterator_1_HSTRING_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterator_1_HSTRING_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterator_1_HSTRING_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterator_1_HSTRING_get_Current(This,current)	\
    ( (This)->lpVtbl -> get_Current(This,current) ) 

#define __FIIterator_1_HSTRING_get_HasCurrent(This,hasCurrent)	\
    ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) ) 

#define __FIIterator_1_HSTRING_MoveNext(This,hasCurrent)	\
    ( (This)->lpVtbl -> MoveNext(This,hasCurrent) ) 

#define __FIIterator_1_HSTRING_GetMany(This,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,capacity,items,actual) ) 

#endif /* COBJMACROS */


#endif // ____FIIterator_1_HSTRING_INTERFACE_DEFINED__


#if !defined(____FIIterable_1_HSTRING_INTERFACE_DEFINED__)
#define ____FIIterable_1_HSTRING_INTERFACE_DEFINED__

typedef interface __FIIterable_1_HSTRING __FIIterable_1_HSTRING;

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

typedef  struct __FIIterable_1_HSTRINGVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIIterable_1_HSTRING * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIIterable_1_HSTRING * This);

    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIIterable_1_HSTRING * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIIterable_1_HSTRING * This,
                                           /* [out] */ __RPC__out ULONG *iidCount,
                                           /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIIterable_1_HSTRING * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIIterable_1_HSTRING * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *First )(__RPC__in __FIIterable_1_HSTRING * This, /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_HSTRING **first);

    END_INTERFACE
} __FIIterable_1_HSTRINGVtbl;

interface __FIIterable_1_HSTRING
{
    CONST_VTBL struct __FIIterable_1_HSTRINGVtbl *lpVtbl;
};

#ifdef COBJMACROS

#define __FIIterable_1_HSTRING_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIIterable_1_HSTRING_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIIterable_1_HSTRING_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIIterable_1_HSTRING_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIIterable_1_HSTRING_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIIterable_1_HSTRING_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIIterable_1_HSTRING_First(This,first)	\
    ( (This)->lpVtbl -> First(This,first) ) 

#endif /* COBJMACROS */


#endif // ____FIIterable_1_HSTRING_INTERFACE_DEFINED__


#if !defined(____FIVectorView_1_HSTRING_INTERFACE_DEFINED__)
#define ____FIVectorView_1_HSTRING_INTERFACE_DEFINED__

typedef interface __FIVectorView_1_HSTRING __FIVectorView_1_HSTRING;

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

typedef struct __FIVectorView_1_HSTRINGVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVectorView_1_HSTRING * This,
        /* [in] */ __RPC__in REFIID riid,
        /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in __FIVectorView_1_HSTRING * This);

    ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in __FIVectorView_1_HSTRING * This);

    HRESULT ( STDMETHODCALLTYPE *GetIids )( __RPC__in __FIVectorView_1_HSTRING * This,
                                            /* [out] */ __RPC__out ULONG *iidCount,
                                            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
        __RPC__in __FIVectorView_1_HSTRING * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);

    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
        __RPC__in __FIVectorView_1_HSTRING * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )( 
                                         __RPC__in __FIVectorView_1_HSTRING * This,
                                         /* [in] */ unsigned int index,
                                         /* [retval][out] */ __RPC__out HSTRING *item);

        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_HSTRING * This,
            /* [retval][out] */ __RPC__out unsigned int *size);

        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
                                               __RPC__in __FIVectorView_1_HSTRING * This,
            /* [in] */ HSTRING item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);

        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
                                               __RPC__in __FIVectorView_1_HSTRING * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) HSTRING *items,
            /* [retval][out] */ __RPC__out unsigned int *actual);

        END_INTERFACE
} __FIVectorView_1_HSTRINGVtbl;

interface __FIVectorView_1_HSTRING
{
    CONST_VTBL struct __FIVectorView_1_HSTRINGVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVectorView_1_HSTRING_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVectorView_1_HSTRING_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVectorView_1_HSTRING_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVectorView_1_HSTRING_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVectorView_1_HSTRING_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVectorView_1_HSTRING_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVectorView_1_HSTRING_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVectorView_1_HSTRING_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVectorView_1_HSTRING_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVectorView_1_HSTRING_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#endif /* COBJMACROS */



#endif // ____FIVectorView_1_HSTRING_INTERFACE_DEFINED__


#if !defined(____FIVector_1_HSTRING_INTERFACE_DEFINED__)
#define ____FIVector_1_HSTRING_INTERFACE_DEFINED__

typedef interface __FIVector_1_HSTRING __FIVector_1_HSTRING;

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

typedef struct __FIVector_1_HSTRINGVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVector_1_HSTRING * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIVector_1_HSTRING * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIVector_1_HSTRING * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIVector_1_HSTRING * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIVector_1_HSTRING * This, /* [out] */ __RPC__deref_out_opt HSTRING *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIVector_1_HSTRING * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )(__RPC__in __FIVector_1_HSTRING * This,
        /* [in] */ unsigned int index,
        /* [retval][out] */ __RPC__deref_out_opt HSTRING *item);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
        __RPC__in __FIVector_1_HSTRING * This,
        /* [retval][out] */ __RPC__out unsigned int *size);

    HRESULT ( STDMETHODCALLTYPE *GetView )(__RPC__in __FIVector_1_HSTRING * This, /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_HSTRING **view);

    HRESULT ( STDMETHODCALLTYPE *IndexOf )(__RPC__in __FIVector_1_HSTRING * This,
        /* [in] */ __RPC__in HSTRING item,
        /* [out] */ __RPC__out unsigned int *index,
        /* [retval][out] */ __RPC__out boolean *found);

    HRESULT ( STDMETHODCALLTYPE *SetAt )(__RPC__in __FIVector_1_HSTRING * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in HSTRING item);

    HRESULT ( STDMETHODCALLTYPE *InsertAt )(__RPC__in __FIVector_1_HSTRING * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in HSTRING item);

    HRESULT ( STDMETHODCALLTYPE *RemoveAt )(__RPC__in __FIVector_1_HSTRING * This, /* [in] */ unsigned int index);
    HRESULT ( STDMETHODCALLTYPE *Append )(__RPC__in __FIVector_1_HSTRING * This, /* [in] */ __RPC__in HSTRING item);
    HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )(__RPC__in __FIVector_1_HSTRING * This);
    HRESULT ( STDMETHODCALLTYPE *Clear )(__RPC__in __FIVector_1_HSTRING * This);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIVector_1_HSTRING * This,
        /* [in] */ unsigned int startIndex,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) HSTRING *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    HRESULT ( STDMETHODCALLTYPE *ReplaceAll )(__RPC__in __FIVector_1_HSTRING * This,
        /* [in] */ unsigned int count,
        /* [size_is][in] */ __RPC__in_ecount_full(count) HSTRING *value);

    END_INTERFACE
} __FIVector_1_HSTRINGVtbl;

interface __FIVector_1_HSTRING
{
    CONST_VTBL struct __FIVector_1_HSTRINGVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVector_1_HSTRING_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVector_1_HSTRING_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVector_1_HSTRING_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVector_1_HSTRING_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVector_1_HSTRING_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVector_1_HSTRING_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVector_1_HSTRING_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVector_1_HSTRING_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVector_1_HSTRING_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_HSTRING_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_HSTRING_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_HSTRING_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_HSTRING_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_HSTRING_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_HSTRING_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_HSTRING_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define __FIVector_1_HSTRING_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#define __FIVector_1_HSTRING_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */



#endif // ____FIVector_1_HSTRING_INTERFACE_DEFINED__



#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVector_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__)
#define ____FIVector_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__

typedef interface __FIVector_1_Windows__CNetworking__CHostName __FIVector_1_Windows__CNetworking__CHostName;

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

typedef struct __FIVector_1_Windows__CNetworking__CHostNameVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CHostName * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This, /* [out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName * *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This,
        /* [in] */ unsigned int index,
        /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName * *item);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
        __RPC__in __FIVector_1_Windows__CNetworking__CHostName * This,
        /* [retval][out] */ __RPC__out unsigned int *size);

    HRESULT ( STDMETHODCALLTYPE *GetView )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This, /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CHostName **view);

    HRESULT ( STDMETHODCALLTYPE *IndexOf )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CIHostName * item,
        /* [out] */ __RPC__out unsigned int *index,
        /* [retval][out] */ __RPC__out boolean *found);

    HRESULT ( STDMETHODCALLTYPE *SetAt )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CIHostName * item);

    HRESULT ( STDMETHODCALLTYPE *InsertAt )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CIHostName * item);

    HRESULT ( STDMETHODCALLTYPE *RemoveAt )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This, /* [in] */ unsigned int index);
    HRESULT ( STDMETHODCALLTYPE *Append )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This, /* [in] */ __RPC__in __x_ABI_CWindows_CNetworking_CIHostName * item);
    HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This);
    HRESULT ( STDMETHODCALLTYPE *Clear )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This,
        /* [in] */ unsigned int startIndex,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CNetworking_CIHostName * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    HRESULT ( STDMETHODCALLTYPE *ReplaceAll )(__RPC__in __FIVector_1_Windows__CNetworking__CHostName * This,
        /* [in] */ unsigned int count,
        /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CNetworking_CIHostName * *value);

    END_INTERFACE
} __FIVector_1_Windows__CNetworking__CHostNameVtbl;

interface __FIVector_1_Windows__CNetworking__CHostName
{
    CONST_VTBL struct __FIVector_1_Windows__CNetworking__CHostNameVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVector_1_Windows__CNetworking__CHostName_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVector_1_Windows__CNetworking__CHostName_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVector_1_Windows__CNetworking__CHostName_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#define __FIVector_1_Windows__CNetworking__CHostName_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */



#endif // ____FIVector_1_Windows__CNetworking__CHostName_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____FIVector_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__)
#define ____FIVector_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

typedef interface __FIVector_1_Windows__CFoundation__CUri __FIVector_1_Windows__CFoundation__CUri;

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

typedef struct __FIVector_1_Windows__CFoundation__CUriVtbl
{
    BEGIN_INTERFACE

    HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
        __RPC__in __FIVector_1_Windows__CFoundation__CUri * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
        _COM_Outptr_  void **ppvObject);

    ULONG ( STDMETHODCALLTYPE *AddRef )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This);
    ULONG ( STDMETHODCALLTYPE *Release )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This);
    HRESULT ( STDMETHODCALLTYPE *GetIids )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This,
        /* [out] */ __RPC__out ULONG *iidCount,
        /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);

    HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This, /* [out] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * *className);
    HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This, /* [out] */ __RPC__out TrustLevel *trustLevel);

    HRESULT ( STDMETHODCALLTYPE *GetAt )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This,
        /* [in] */ unsigned int index,
        /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * *item);

    /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
        __RPC__in __FIVector_1_Windows__CFoundation__CUri * This,
        /* [retval][out] */ __RPC__out unsigned int *size);

    HRESULT ( STDMETHODCALLTYPE *GetView )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This, /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CFoundation__CUri **view);

    HRESULT ( STDMETHODCALLTYPE *IndexOf )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This,
        /* [in] */ __RPC__in __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * item,
        /* [out] */ __RPC__out unsigned int *index,
        /* [retval][out] */ __RPC__out boolean *found);

    HRESULT ( STDMETHODCALLTYPE *SetAt )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * item);

    HRESULT ( STDMETHODCALLTYPE *InsertAt )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This,
        /* [in] */ unsigned int index,
        /* [in] */ __RPC__in __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * item);

    HRESULT ( STDMETHODCALLTYPE *RemoveAt )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This, /* [in] */ unsigned int index);
    HRESULT ( STDMETHODCALLTYPE *Append )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This, /* [in] */ __RPC__in __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * item);
    HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This);
    HRESULT ( STDMETHODCALLTYPE *Clear )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This);
    HRESULT ( STDMETHODCALLTYPE *GetMany )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This,
        /* [in] */ unsigned int startIndex,
        /* [in] */ unsigned int capacity,
        /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * *items,
        /* [retval][out] */ __RPC__out unsigned int *actual);

    HRESULT ( STDMETHODCALLTYPE *ReplaceAll )(__RPC__in __FIVector_1_Windows__CFoundation__CUri * This,
        /* [in] */ unsigned int count,
        /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * *value);

    END_INTERFACE
} __FIVector_1_Windows__CFoundation__CUriVtbl;

interface __FIVector_1_Windows__CFoundation__CUri
{
    CONST_VTBL struct __FIVector_1_Windows__CFoundation__CUriVtbl *lpVtbl;
};



#ifdef COBJMACROS


#define __FIVector_1_Windows__CFoundation__CUri_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define __FIVector_1_Windows__CFoundation__CUri_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define __FIVector_1_Windows__CFoundation__CUri_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define __FIVector_1_Windows__CFoundation__CUri_GetIids(This,iidCount,iids)	\
    ( (This)->lpVtbl -> GetIids(This,iidCount,iids) ) 

#define __FIVector_1_Windows__CFoundation__CUri_GetRuntimeClassName(This,className)	\
    ( (This)->lpVtbl -> GetRuntimeClassName(This,className) ) 

#define __FIVector_1_Windows__CFoundation__CUri_GetTrustLevel(This,trustLevel)	\
    ( (This)->lpVtbl -> GetTrustLevel(This,trustLevel) ) 


#define __FIVector_1_Windows__CFoundation__CUri_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

#define __FIVector_1_Windows__CFoundation__CUri_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIVector_1_Windows__CFoundation__CUri_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CFoundation__CUri_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CFoundation__CUri_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CFoundation__CUri_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CFoundation__CUri_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CFoundation__CUri_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CFoundation__CUri_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CFoundation__CUri_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define __FIVector_1_Windows__CFoundation__CUri_GetMany(This,startIndex,capacity,items,actual)	\
    ( (This)->lpVtbl -> GetMany(This,startIndex,capacity,items,actual) ) 

#define __FIVector_1_Windows__CFoundation__CUri_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */



#endif // ____FIVector_1_Windows__CFoundation__CUri_INTERFACE_DEFINED__

#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


#ifndef ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
#define ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CFoundation_CIAsyncAction __x_ABI_CWindows_CFoundation_CIAsyncAction;

#endif // ____x_ABI_CWindows_CFoundation_CIAsyncAction_FWD_DEFINED__










typedef enum __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerStatus __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerStatus;




#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_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__






#ifndef ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
#define ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CStorage_CStreams_CIBuffer __x_ABI_CWindows_CStorage_CStreams_CIBuffer;

#endif // ____x_ABI_CWindows_CStorage_CStreams_CIBuffer_FWD_DEFINED__






typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType __x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelActivityEventType __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelActivityEventType;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelRequestCredentialsOptions __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelRequestCredentialsOptions;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnCredentialType __x_ABI_CWindows_CNetworking_CVpn_CVpnCredentialType;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnDataPathType __x_ABI_CWindows_CNetworking_CVpn_CVpnDataPathType;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnDomainNameType __x_ABI_CWindows_CNetworking_CVpn_CVpnDomainNameType;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnIPProtocol __x_ABI_CWindows_CNetworking_CVpn_CVpnIPProtocol;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementConnectionStatus __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementConnectionStatus;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementErrorStatus __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementErrorStatus;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnNativeProtocolType __x_ABI_CWindows_CNetworking_CVpn_CVpnNativeProtocolType;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus;


typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType __x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType;




























































































/*
 *
 * Struct Windows.Networking.Vpn.VpnAppIdType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType
{
    VpnAppIdType_PackageFamilyName = 0,
    VpnAppIdType_FullyQualifiedBinaryName = 1,
    VpnAppIdType_FilePath = 2,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnAuthenticationMethod
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod
{
    VpnAuthenticationMethod_Mschapv2 = 0,
    VpnAuthenticationMethod_Eap = 1,
    VpnAuthenticationMethod_Certificate = 2,
    VpnAuthenticationMethod_PresharedKey = 3,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnChannelActivityEventType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelActivityEventType
{
    VpnChannelActivityEventType_Idle = 0,
    VpnChannelActivityEventType_Active = 1,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnChannelRequestCredentialsOptions
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, flags, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelRequestCredentialsOptions
{
    VpnChannelRequestCredentialsOptions_None = 0,
    VpnChannelRequestCredentialsOptions_Retrying = 0x1,
    VpnChannelRequestCredentialsOptions_UseForSingleSignIn = 0x2,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnCredentialType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnCredentialType
{
    VpnCredentialType_UsernamePassword = 0,
    VpnCredentialType_UsernameOtpPin = 1,
    VpnCredentialType_UsernamePasswordAndPin = 2,
    VpnCredentialType_UsernamePasswordChange = 3,
    VpnCredentialType_SmartCard = 4,
    VpnCredentialType_ProtectedCertificate = 5,
    VpnCredentialType_UnProtectedCertificate = 6,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnDataPathType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnDataPathType
{
    VpnDataPathType_Send = 0,
    VpnDataPathType_Receive = 1,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnDomainNameType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnDomainNameType
{
    VpnDomainNameType_Suffix = 0,
    VpnDomainNameType_FullyQualified = 1,
    VpnDomainNameType_Reserved = 65535,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnIPProtocol
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnIPProtocol
{
    VpnIPProtocol_None = 0,
    VpnIPProtocol_Tcp = 6,
    VpnIPProtocol_Udp = 17,
    VpnIPProtocol_Icmp = 1,
    VpnIPProtocol_Ipv6Icmp = 58,
    VpnIPProtocol_Igmp = 2,
    VpnIPProtocol_Pgm = 113,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnManagementConnectionStatus
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementConnectionStatus
{
    VpnManagementConnectionStatus_Disconnected = 0,
    VpnManagementConnectionStatus_Disconnecting = 1,
    VpnManagementConnectionStatus_Connected = 2,
    VpnManagementConnectionStatus_Connecting = 3,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnManagementErrorStatus
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementErrorStatus
{
    VpnManagementErrorStatus_Ok = 0,
    VpnManagementErrorStatus_Other = 1,
    VpnManagementErrorStatus_InvalidXmlSyntax = 2,
    VpnManagementErrorStatus_ProfileNameTooLong = 3,
    VpnManagementErrorStatus_ProfileInvalidAppId = 4,
    VpnManagementErrorStatus_AccessDenied = 5,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_CannotFindProfile = 6,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_AlreadyDisconnecting = 7,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_AlreadyConnected = 8,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_GeneralAuthenticationFailure = 9,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_EapFailure = 10,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_SmartCardFailure = 11,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_CertificateFailure = 12,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_ServerConfiguration = 13,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_NoConnection = 14,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_ServerConnection = 15,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_UserNamePassword = 16,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_DnsNotResolvable = 17,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
    VpnManagementErrorStatus_InvalidIP = 18,
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
    
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnNativeProtocolType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnNativeProtocolType
{
    VpnNativeProtocolType_Pptp = 0,
    VpnNativeProtocolType_L2tp = 1,
    VpnNativeProtocolType_IpsecIkev2 = 2,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnPacketBufferStatus
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus
{
    VpnPacketBufferStatus_Ok = 0,
    VpnPacketBufferStatus_InvalidBufferSize = 1,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Struct Windows.Networking.Vpn.VpnRoutingPolicyType
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */

#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
/* [v1_enum, contract] */
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType
{
    VpnRoutingPolicyType_SplitRouting = 0,
    VpnRoutingPolicyType_ForceAllTrafficOverVpn = 1,
};
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnAppId
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnAppId
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnAppId[] = L"Windows.Networking.Vpn.IVpnAppId";
/* [object, uuid("7B06A635-5C58-41D9-94A7-BFBCF1D8CA54"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Type )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Type )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Value )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Value )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This,
        /* [in] */__RPC__in HSTRING value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_get_Type(This,value) \
    ( (This)->lpVtbl->get_Type(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_put_Type(This,value) \
    ( (This)->lpVtbl->put_Type(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_get_Value(This,value) \
    ( (This)->lpVtbl->get_Value(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_put_Value(This,value) \
    ( (This)->lpVtbl->put_Value(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnAppIdFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnAppId
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnAppIdFactory[] = L"Windows.Networking.Vpn.IVpnAppIdFactory";
/* [object, uuid("46ADFD2A-0AAB-4FDB-821D-D3DDC919788B"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactoryVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *Create )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType type,
        /* [in] */__RPC__in HSTRING value,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactoryVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactoryVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_Create(This,type,value,result) \
    ( (This)->lpVtbl->Create(This,type,value,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannel
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannel
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannel[] = L"Windows.Networking.Vpn.IVpnChannel";
/* [object, uuid("4AC78D07-D1A8-4303-A091-C8D2E0915BC3"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *AssociateTransport )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [in] */__RPC__in_opt IInspectable * mainOuterTunnelTransport,
        /* [in] */__RPC__in_opt IInspectable * optionalOuterTunnelTransport
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *Start )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv4list,
        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv6list,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * vpnInterfaceId,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * routeScope,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * namespaceScope,
        /* [in] */UINT32 mtuSize,
        /* [in] */UINT32 maxFrameSize,
        /* [in] */boolean optimizeForLowCostNetwork,
        /* [in] */__RPC__in_opt IInspectable * mainOuterTunnelTransport,
        /* [in] */__RPC__in_opt IInspectable * optionalOuterTunnelTransport
        );
    HRESULT ( STDMETHODCALLTYPE *Stop )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This
        );
    HRESULT ( STDMETHODCALLTYPE *RequestCredentials )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnCredentialType credType,
        /* [in] */boolean isRetry,
        /* [in] */boolean isSingleSignOnCredential,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate * certificate,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * * credential
        );
    HRESULT ( STDMETHODCALLTYPE *RequestVpnPacketBuffer )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnDataPathType type,
        /* [out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * * vpnPacketBuffer
        );
    HRESULT ( STDMETHODCALLTYPE *LogDiagnosticMessage )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [in] */__RPC__in HSTRING message
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Id )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [retval, out] */__RPC__out UINT32 * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Configuration )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * * value
        );
    /* [eventadd] */HRESULT ( STDMETHODCALLTYPE *add_ActivityChange )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs * handler,
        /* [retval, out] */__RPC__out EventRegistrationToken * token
        );
    /* [eventremove] */HRESULT ( STDMETHODCALLTYPE *remove_ActivityChange )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [in] */EventRegistrationToken token
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_PlugInContext )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [in] */__RPC__in_opt IInspectable * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_PlugInContext )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [retval, out] */__RPC__deref_out_opt IInspectable * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SystemHealth )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth * * value
        );
    HRESULT ( STDMETHODCALLTYPE *RequestCustomPrompt )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt * customPrompt
        );
    HRESULT ( STDMETHODCALLTYPE *SetErrorMessage )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [in] */__RPC__in HSTRING message
        );
    HRESULT ( STDMETHODCALLTYPE *SetAllowedSslTlsVersions )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
        /* [in] */__RPC__in_opt IInspectable * tunnelTransport,
        /* [in] */boolean useTls12
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_AssociateTransport(This,mainOuterTunnelTransport,optionalOuterTunnelTransport) \
    ( (This)->lpVtbl->AssociateTransport(This,mainOuterTunnelTransport,optionalOuterTunnelTransport) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_Start(This,assignedClientIPv4list,assignedClientIPv6list,vpnInterfaceId,routeScope,namespaceScope,mtuSize,maxFrameSize,optimizeForLowCostNetwork,mainOuterTunnelTransport,optionalOuterTunnelTransport) \
    ( (This)->lpVtbl->Start(This,assignedClientIPv4list,assignedClientIPv6list,vpnInterfaceId,routeScope,namespaceScope,mtuSize,maxFrameSize,optimizeForLowCostNetwork,mainOuterTunnelTransport,optionalOuterTunnelTransport) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_Stop(This) \
    ( (This)->lpVtbl->Stop(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_RequestCredentials(This,credType,isRetry,isSingleSignOnCredential,certificate,credential) \
    ( (This)->lpVtbl->RequestCredentials(This,credType,isRetry,isSingleSignOnCredential,certificate,credential) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_RequestVpnPacketBuffer(This,type,vpnPacketBuffer) \
    ( (This)->lpVtbl->RequestVpnPacketBuffer(This,type,vpnPacketBuffer) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_LogDiagnosticMessage(This,message) \
    ( (This)->lpVtbl->LogDiagnosticMessage(This,message) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_get_Id(This,value) \
    ( (This)->lpVtbl->get_Id(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_get_Configuration(This,value) \
    ( (This)->lpVtbl->get_Configuration(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_add_ActivityChange(This,handler,token) \
    ( (This)->lpVtbl->add_ActivityChange(This,handler,token) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_remove_ActivityChange(This,token) \
    ( (This)->lpVtbl->remove_ActivityChange(This,token) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_put_PlugInContext(This,value) \
    ( (This)->lpVtbl->put_PlugInContext(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_get_PlugInContext(This,value) \
    ( (This)->lpVtbl->get_PlugInContext(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_get_SystemHealth(This,value) \
    ( (This)->lpVtbl->get_SystemHealth(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_RequestCustomPrompt(This,customPrompt) \
    ( (This)->lpVtbl->RequestCustomPrompt(This,customPrompt) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_SetErrorMessage(This,message) \
    ( (This)->lpVtbl->SetErrorMessage(This,message) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_SetAllowedSslTlsVersions(This,tunnelTransport,useTls12) \
    ( (This)->lpVtbl->SetAllowedSslTlsVersions(This,tunnelTransport,useTls12) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannel2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannel
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannel2[] = L"Windows.Networking.Vpn.IVpnChannel2";
/* [object, uuid("2255D165-993B-4629-AD60-F1C3F3537F50"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *StartWithMainTransport )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv4list,
        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv6list,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * vpnInterfaceId,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * assignedRoutes,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * assignedDomainName,
        /* [in] */UINT32 mtuSize,
        /* [in] */UINT32 maxFrameSize,
        /* [in] */boolean Reserved,
        /* [in] */__RPC__in_opt IInspectable * mainOuterTunnelTransport
        );
    HRESULT ( STDMETHODCALLTYPE *StartExistingTransports )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv4list,
        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIPv6list,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * vpnInterfaceId,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * assignedRoutes,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * assignedDomainName,
        /* [in] */UINT32 mtuSize,
        /* [in] */UINT32 maxFrameSize,
        /* [in] */boolean Reserved
        );
    /* [eventadd] */HRESULT ( STDMETHODCALLTYPE *add_ActivityStateChange )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [in] */__RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs * handler,
        /* [retval, out] */__RPC__out EventRegistrationToken * token
        );
    /* [eventremove] */HRESULT ( STDMETHODCALLTYPE *remove_ActivityStateChange )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [in] */EventRegistrationToken token
        );
    HRESULT ( STDMETHODCALLTYPE *GetVpnSendPacketBuffer )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * * vpnSendPacketBuffer
        );
    HRESULT ( STDMETHODCALLTYPE *GetVpnReceivePacketBuffer )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * * vpnReceivePacketBuffer
        );
    HRESULT ( STDMETHODCALLTYPE *RequestCustomPromptAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement * customPromptElement,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction * * action
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *RequestCredentialsWithCertificateAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnCredentialType credType,
        /* [in] */UINT32 credOptions,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate * certificate,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * * credential
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *RequestCredentialsWithOptionsAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnCredentialType credType,
        /* [in] */UINT32 credOptions,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * * credential
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *RequestCredentialsSimpleAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnCredentialType credType,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential * * credential
        );
    HRESULT ( STDMETHODCALLTYPE *TerminateConnection )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [in] */__RPC__in HSTRING message
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *StartWithTrafficFilter )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIpv4List,
        /* [in] */__RPC__in_opt __FIVectorView_1_Windows__CNetworking__CHostName * assignedClientIpv6List,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * vpnInterfaceId,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * assignedRoutes,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * assignedNamespace,
        /* [in] */UINT32 mtuSize,
        /* [in] */UINT32 maxFrameSize,
        /* [in] */boolean reserved,
        /* [in] */__RPC__in_opt IInspectable * mainOuterTunnelTransport,
        /* [in] */__RPC__in_opt IInspectable * optionalOuterTunnelTransport,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * assignedTrafficFilters
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2Vtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_StartWithMainTransport(This,assignedClientIPv4list,assignedClientIPv6list,vpnInterfaceId,assignedRoutes,assignedDomainName,mtuSize,maxFrameSize,Reserved,mainOuterTunnelTransport) \
    ( (This)->lpVtbl->StartWithMainTransport(This,assignedClientIPv4list,assignedClientIPv6list,vpnInterfaceId,assignedRoutes,assignedDomainName,mtuSize,maxFrameSize,Reserved,mainOuterTunnelTransport) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_StartExistingTransports(This,assignedClientIPv4list,assignedClientIPv6list,vpnInterfaceId,assignedRoutes,assignedDomainName,mtuSize,maxFrameSize,Reserved) \
    ( (This)->lpVtbl->StartExistingTransports(This,assignedClientIPv4list,assignedClientIPv6list,vpnInterfaceId,assignedRoutes,assignedDomainName,mtuSize,maxFrameSize,Reserved) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_add_ActivityStateChange(This,handler,token) \
    ( (This)->lpVtbl->add_ActivityStateChange(This,handler,token) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_remove_ActivityStateChange(This,token) \
    ( (This)->lpVtbl->remove_ActivityStateChange(This,token) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_GetVpnSendPacketBuffer(This,vpnSendPacketBuffer) \
    ( (This)->lpVtbl->GetVpnSendPacketBuffer(This,vpnSendPacketBuffer) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_GetVpnReceivePacketBuffer(This,vpnReceivePacketBuffer) \
    ( (This)->lpVtbl->GetVpnReceivePacketBuffer(This,vpnReceivePacketBuffer) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_RequestCustomPromptAsync(This,customPromptElement,action) \
    ( (This)->lpVtbl->RequestCustomPromptAsync(This,customPromptElement,action) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_RequestCredentialsWithCertificateAsync(This,credType,credOptions,certificate,credential) \
    ( (This)->lpVtbl->RequestCredentialsWithCertificateAsync(This,credType,credOptions,certificate,credential) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_RequestCredentialsWithOptionsAsync(This,credType,credOptions,credential) \
    ( (This)->lpVtbl->RequestCredentialsWithOptionsAsync(This,credType,credOptions,credential) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_RequestCredentialsSimpleAsync(This,credType,credential) \
    ( (This)->lpVtbl->RequestCredentialsSimpleAsync(This,credType,credential) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_TerminateConnection(This,message) \
    ( (This)->lpVtbl->TerminateConnection(This,message) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_StartWithTrafficFilter(This,assignedClientIpv4List,assignedClientIpv6List,vpnInterfaceId,assignedRoutes,assignedNamespace,mtuSize,maxFrameSize,reserved,mainOuterTunnelTransport,optionalOuterTunnelTransport,assignedTrafficFilters) \
    ( (This)->lpVtbl->StartWithTrafficFilter(This,assignedClientIpv4List,assignedClientIpv6List,vpnInterfaceId,assignedRoutes,assignedNamespace,mtuSize,maxFrameSize,reserved,mainOuterTunnelTransport,optionalOuterTunnelTransport,assignedTrafficFilters) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannel4
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 6.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannel
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannel4[] = L"Windows.Networking.Vpn.IVpnChannel4";
/* [object, uuid("D7266EDE-2937-419D-9570-486AEBB81803"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *AddAndAssociateTransport )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This,
        /* [in] */__RPC__in_opt IInspectable * transport,
        /* [in] */__RPC__in_opt IInspectable * context
        );
    /* [overload] */HRESULT ( STDMETHODCALLTYPE *StartWithMultipleTransports )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This,
        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CNetworking__CHostName * assignedClientIpv4Addresses,
        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CNetworking__CHostName * assignedClientIpv6Addresses,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * vpninterfaceId,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * assignedRoutes,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * assignedNamespace,
        /* [in] */UINT32 mtuSize,
        /* [in] */UINT32 maxFrameSize,
        /* [in] */boolean reserved,
        /* [in] */__RPC__in_opt __FIIterable_1_IInspectable * transports,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * assignedTrafficFilters
        );
    HRESULT ( STDMETHODCALLTYPE *ReplaceAndAssociateTransport )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This,
        /* [in] */__RPC__in_opt IInspectable * transport,
        /* [in] */__RPC__in_opt IInspectable * context
        );
    HRESULT ( STDMETHODCALLTYPE *StartReconnectingTransport )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This,
        /* [in] */__RPC__in_opt IInspectable * transport,
        /* [in] */__RPC__in_opt IInspectable * context
        );
    HRESULT ( STDMETHODCALLTYPE *GetSlotTypeForTransportContext )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This,
        /* [in] */__RPC__in_opt IInspectable * context,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerStatus * slotType
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CurrentRequestTransportContext )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4 * This,
        /* [retval, out] */__RPC__deref_out_opt IInspectable * * context
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4Vtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_AddAndAssociateTransport(This,transport,context) \
    ( (This)->lpVtbl->AddAndAssociateTransport(This,transport,context) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_StartWithMultipleTransports(This,assignedClientIpv4Addresses,assignedClientIpv6Addresses,vpninterfaceId,assignedRoutes,assignedNamespace,mtuSize,maxFrameSize,reserved,transports,assignedTrafficFilters) \
    ( (This)->lpVtbl->StartWithMultipleTransports(This,assignedClientIpv4Addresses,assignedClientIpv6Addresses,vpninterfaceId,assignedRoutes,assignedNamespace,mtuSize,maxFrameSize,reserved,transports,assignedTrafficFilters) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_ReplaceAndAssociateTransport(This,transport,context) \
    ( (This)->lpVtbl->ReplaceAndAssociateTransport(This,transport,context) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_StartReconnectingTransport(This,transport,context) \
    ( (This)->lpVtbl->StartReconnectingTransport(This,transport,context) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_GetSlotTypeForTransportContext(This,context,slotType) \
    ( (This)->lpVtbl->GetSlotTypeForTransportContext(This,context,slotType) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_get_CurrentRequestTransportContext(This,context) \
    ( (This)->lpVtbl->get_CurrentRequestTransportContext(This,context) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel4_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannelActivityEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannelActivityEventArgs
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannelActivityEventArgs[] = L"Windows.Networking.Vpn.IVpnChannelActivityEventArgs";
/* [object, uuid("A36C88F2-AFDC-4775-855D-D4AC0A35FC55"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Type )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelActivityEventType * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgsVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_get_Type(This,value) \
    ( (This)->lpVtbl->get_Type(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannelActivityStateChangedArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannelActivityStateChangedArgs
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannelActivityStateChangedArgs[] = L"Windows.Networking.Vpn.IVpnChannelActivityStateChangedArgs";
/* [object, uuid("3D750565-FDC0-4BBE-A23B-45FFFC6D97A1"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ActivityState )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelActivityEventType * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgsVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_get_ActivityState(This,value) \
    ( (This)->lpVtbl->get_ActivityState(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannelConfiguration
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannelConfiguration
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannelConfiguration[] = L"Windows.Networking.Vpn.IVpnChannelConfiguration";
/* [object, uuid("0E2DDCA2-2012-4FE4-B179-8C652C6D107E"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfigurationVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ServerServiceName )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ServerHostNameList )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CHostName * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CustomField )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfigurationVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfigurationVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_get_ServerServiceName(This,value) \
    ( (This)->lpVtbl->get_ServerServiceName(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_get_ServerHostNameList(This,value) \
    ( (This)->lpVtbl->get_ServerHostNameList(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_get_CustomField(This,value) \
    ( (This)->lpVtbl->get_CustomField(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannelConfiguration2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnChannelConfiguration
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannelConfiguration2[] = L"Windows.Networking.Vpn.IVpnChannelConfiguration2";
/* [object, uuid("F30B574C-7824-471C-A118-63DBC93AE4C7"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ServerUris )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2 * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_Windows__CFoundation__CUri * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2Vtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_get_ServerUris(This,value) \
    ( (This)->lpVtbl->get_ServerUris(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnChannelStatics
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnChannelStatics[] = L"Windows.Networking.Vpn.IVpnChannelStatics";
/* [object, uuid("88EB062D-E818-4FFD-98A6-363E3736C95D"), contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStaticsVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *ProcessEventAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics * This,
        /* [in] */__RPC__in_opt IInspectable * thirdPartyPlugIn,
        /* [in] */__RPC__in_opt IInspectable * event
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStaticsVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStaticsVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_ProcessEventAsync(This,thirdPartyPlugIn,event) \
    ( (This)->lpVtbl->ProcessEventAsync(This,thirdPartyPlugIn,event) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCredential
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCredential[] = L"Windows.Networking.Vpn.IVpnCredential";
/* [object, uuid("B7E78AF3-A46D-404B-8729-1832522853AC"), contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredentialVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_PasskeyCredential )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CertificateCredential )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AdditionalPin )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_OldPasswordCredential )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredentialVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredentialVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_get_PasskeyCredential(This,value) \
    ( (This)->lpVtbl->get_PasskeyCredential(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_get_CertificateCredential(This,value) \
    ( (This)->lpVtbl->get_CertificateCredential(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_get_AdditionalPin(This,value) \
    ( (This)->lpVtbl->get_AdditionalPin(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_get_OldPasswordCredential(This,value) \
    ( (This)->lpVtbl->get_OldPasswordCredential(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomCheckBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomCheckBox
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPrompt
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomCheckBox[] = L"Windows.Networking.Vpn.IVpnCustomCheckBox";
/* [object, uuid("43878753-03C5-4E61-93D7-A957714C4282"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBoxVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_InitialCheckState )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_InitialCheckState )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Checked )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBoxVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBoxVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_put_InitialCheckState(This,value) \
    ( (This)->lpVtbl->put_InitialCheckState(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_get_InitialCheckState(This,value) \
    ( (This)->lpVtbl->get_InitialCheckState(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_get_Checked(This,value) \
    ( (This)->lpVtbl->get_Checked(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomComboBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomComboBox
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPrompt
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomComboBox[] = L"Windows.Networking.Vpn.IVpnCustomComboBox";
/* [object, uuid("9A24158E-DBA1-4C6F-8270-DCF3C9761C4C"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBoxVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_OptionsText )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This,
        /* [in] */__RPC__in_opt __FIVectorView_1_HSTRING * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_OptionsText )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVectorView_1_HSTRING * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Selected )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This,
        /* [retval, out] */__RPC__out UINT32 * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBoxVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBoxVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_put_OptionsText(This,value) \
    ( (This)->lpVtbl->put_OptionsText(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_get_OptionsText(This,value) \
    ( (This)->lpVtbl->get_OptionsText(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_get_Selected(This,value) \
    ( (This)->lpVtbl->get_Selected(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomEditBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomEditBox
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPrompt
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomEditBox[] = L"Windows.Networking.Vpn.IVpnCustomEditBox";
/* [object, uuid("3002D9A0-CFBF-4C0B-8F3C-66F503C20B39"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBoxVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_DefaultText )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DefaultText )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_NoEcho )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_NoEcho )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Text )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBoxVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBoxVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_put_DefaultText(This,value) \
    ( (This)->lpVtbl->put_DefaultText(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_get_DefaultText(This,value) \
    ( (This)->lpVtbl->get_DefaultText(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_put_NoEcho(This,value) \
    ( (This)->lpVtbl->put_NoEcho(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_get_NoEcho(This,value) \
    ( (This)->lpVtbl->get_NoEcho(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_get_Text(This,value) \
    ( (This)->lpVtbl->get_Text(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomErrorBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomErrorBox
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPrompt
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomErrorBox[] = L"Windows.Networking.Vpn.IVpnCustomErrorBox";
/* [object, uuid("9EC4EFB2-C942-42AF-B223-588B48328721"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBoxVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBoxVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBoxVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPrompt[] = L"Windows.Networking.Vpn.IVpnCustomPrompt";
/* [object, uuid("9B2EBE7B-87D5-433C-B4F6-EEE6AA68A244"), contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Label )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Label )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Compulsory )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Compulsory )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Bordered )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Bordered )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_put_Label(This,value) \
    ( (This)->lpVtbl->put_Label(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_get_Label(This,value) \
    ( (This)->lpVtbl->get_Label(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_put_Compulsory(This,value) \
    ( (This)->lpVtbl->put_Compulsory(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_get_Compulsory(This,value) \
    ( (This)->lpVtbl->get_Compulsory(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_put_Bordered(This,value) \
    ( (This)->lpVtbl->put_Bordered(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_get_Bordered(This,value) \
    ( (This)->lpVtbl->get_Bordered(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPromptBooleanInput
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomPromptBooleanInput
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPromptBooleanInput[] = L"Windows.Networking.Vpn.IVpnCustomPromptBooleanInput";
/* [object, uuid("C4C9A69E-FF47-4527-9F27-A49292019979"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInputVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_InitialValue )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_InitialValue )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Value )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInputVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInputVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_put_InitialValue(This,value) \
    ( (This)->lpVtbl->put_InitialValue(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_get_InitialValue(This,value) \
    ( (This)->lpVtbl->get_InitialValue(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_get_Value(This,value) \
    ( (This)->lpVtbl->get_Value(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPromptElement[] = L"Windows.Networking.Vpn.IVpnCustomPromptElement";
/* [object, uuid("73BD5638-6F04-404D-93DD-50A44924A38B"), contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElementVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_DisplayName )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DisplayName )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Compulsory )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Compulsory )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Emphasized )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Emphasized )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElementVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElementVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_put_DisplayName(This,value) \
    ( (This)->lpVtbl->put_DisplayName(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_get_DisplayName(This,value) \
    ( (This)->lpVtbl->get_DisplayName(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_put_Compulsory(This,value) \
    ( (This)->lpVtbl->put_Compulsory(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_get_Compulsory(This,value) \
    ( (This)->lpVtbl->get_Compulsory(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_put_Emphasized(This,value) \
    ( (This)->lpVtbl->put_Emphasized(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_get_Emphasized(This,value) \
    ( (This)->lpVtbl->get_Emphasized(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPromptOptionSelector
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomPromptOptionSelector
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPromptOptionSelector[] = L"Windows.Networking.Vpn.IVpnCustomPromptOptionSelector";
/* [object, uuid("3B8F34D9-8EC1-4E95-9A4E-7BA64D38F330"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelectorVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Options )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_SelectedIndex )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector * This,
        /* [retval, out] */__RPC__out UINT32 * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelectorVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelectorVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_get_Options(This,value) \
    ( (This)->lpVtbl->get_Options(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_get_SelectedIndex(This,value) \
    ( (This)->lpVtbl->get_SelectedIndex(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPromptText
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomPromptText
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPromptText[] = L"Windows.Networking.Vpn.IVpnCustomPromptText";
/* [object, uuid("3BC8BDEE-3A42-49A3-ABDD-07B2EDEA752D"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Text )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Text )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_put_Text(This,value) \
    ( (This)->lpVtbl->put_Text(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_get_Text(This,value) \
    ( (This)->lpVtbl->get_Text(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomPromptTextInput
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomPromptTextInput
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomPromptTextInput[] = L"Windows.Networking.Vpn.IVpnCustomPromptTextInput";
/* [object, uuid("C9DA9C75-913C-47D5-88BA-48FC48930235"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInputVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_PlaceholderText )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_PlaceholderText )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_IsTextHidden )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_IsTextHidden )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Text )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInputVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInputVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_put_PlaceholderText(This,value) \
    ( (This)->lpVtbl->put_PlaceholderText(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_get_PlaceholderText(This,value) \
    ( (This)->lpVtbl->get_PlaceholderText(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_put_IsTextHidden(This,value) \
    ( (This)->lpVtbl->put_IsTextHidden(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_get_IsTextHidden(This,value) \
    ( (This)->lpVtbl->get_IsTextHidden(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_get_Text(This,value) \
    ( (This)->lpVtbl->get_Text(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnCustomTextBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnCustomTextBox
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnCustomPrompt
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnCustomTextBox[] = L"Windows.Networking.Vpn.IVpnCustomTextBox";
/* [object, uuid("DAA4C3CA-8F23-4D36-91F1-76D937827942"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBoxVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_DisplayText )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DisplayText )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBoxVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBoxVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_put_DisplayText(This,value) \
    ( (This)->lpVtbl->put_DisplayText(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_get_DisplayText(This,value) \
    ( (This)->lpVtbl->get_DisplayText(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnDomainNameAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnDomainNameAssignment
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnDomainNameAssignment[] = L"Windows.Networking.Vpn.IVpnDomainNameAssignment";
/* [object, uuid("4135B141-CCDB-49B5-9401-039A8AE767E9"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignmentVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DomainNameList )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_ProxyAutoConfigurationUri )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ProxyAutoConfigurationUri )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignmentVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignmentVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_get_DomainNameList(This,value) \
    ( (This)->lpVtbl->get_DomainNameList(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_put_ProxyAutoConfigurationUri(This,value) \
    ( (This)->lpVtbl->put_ProxyAutoConfigurationUri(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_get_ProxyAutoConfigurationUri(This,value) \
    ( (This)->lpVtbl->get_ProxyAutoConfigurationUri(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnDomainNameInfo
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnDomainNameInfo
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnDomainNameInfo[] = L"Windows.Networking.Vpn.IVpnDomainNameInfo";
/* [object, uuid("AD2EB82F-EA8E-4F7A-843E-1A87E32E1B9A"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_DomainName )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DomainName )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_DomainNameType )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnDomainNameType value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DomainNameType )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnDomainNameType * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DnsServers )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_WebProxyServers )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_put_DomainName(This,value) \
    ( (This)->lpVtbl->put_DomainName(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_get_DomainName(This,value) \
    ( (This)->lpVtbl->get_DomainName(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_put_DomainNameType(This,value) \
    ( (This)->lpVtbl->put_DomainNameType(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_get_DomainNameType(This,value) \
    ( (This)->lpVtbl->get_DomainNameType(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_get_DnsServers(This,value) \
    ( (This)->lpVtbl->get_DnsServers(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_get_WebProxyServers(This,value) \
    ( (This)->lpVtbl->get_WebProxyServers(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnDomainNameInfo2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnDomainNameInfo
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnDomainNameInfo2[] = L"Windows.Networking.Vpn.IVpnDomainNameInfo2";
/* [object, uuid("AB871151-6C53-4828-9883-D886DE104407"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_WebProxyUris )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2 * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CFoundation__CUri * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2Vtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_get_WebProxyUris(This,value) \
    ( (This)->lpVtbl->get_WebProxyUris(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnDomainNameInfoFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnDomainNameInfoFactory[] = L"Windows.Networking.Vpn.IVpnDomainNameInfoFactory";
/* [object, uuid("2507BB75-028F-4688-8D3A-C4531DF37DA8"), contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactoryVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *CreateVpnDomainNameInfo )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory * This,
        /* [in] */__RPC__in HSTRING name,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnDomainNameType nameType,
        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CNetworking__CHostName * dnsServerList,
        /* [in] */__RPC__in_opt __FIIterable_1_Windows__CNetworking__CHostName * proxyServerList,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * * domainNameInfo
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactoryVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactoryVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_CreateVpnDomainNameInfo(This,name,nameType,dnsServerList,proxyServerList,domainNameInfo) \
    ( (This)->lpVtbl->CreateVpnDomainNameInfo(This,name,nameType,dnsServerList,proxyServerList,domainNameInfo) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnInterfaceId
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnInterfaceId
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnInterfaceId[] = L"Windows.Networking.Vpn.IVpnInterfaceId";
/* [object, uuid("9E2DDCA2-1712-4CE4-B179-8C652C6D1011"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *GetAddressInfo )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * This,
        /* [out] */__RPC__out UINT32 * __idSize,
        /* [size_is(, *(__idSize)), out] */__RPC__deref_out_ecount_full_opt(*(__idSize)) BYTE * * id
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_GetAddressInfo(This,__idSize,id) \
    ( (This)->lpVtbl->GetAddressInfo(This,__idSize,id) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnInterfaceIdFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnInterfaceIdFactory[] = L"Windows.Networking.Vpn.IVpnInterfaceIdFactory";
/* [object, uuid("9E2DDCA2-1712-4CE4-B179-8C652C6D1000"), contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactoryVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *CreateVpnInterfaceId )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory * This,
        /* [in, range(0, 8)] */__RPC__in_range(0,0x8) UINT32 __addressSize,
        /* [size_is(__addressSize), in] */__RPC__in_ecount_full(__addressSize) BYTE * address,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * * vpnInterfaceId
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactoryVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactoryVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_CreateVpnInterfaceId(This,__addressSize,address,vpnInterfaceId) \
    ( (This)->lpVtbl->CreateVpnInterfaceId(This,__addressSize,address,vpnInterfaceId) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnManagementAgent
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnManagementAgent
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnManagementAgent[] = L"Windows.Networking.Vpn.IVpnManagementAgent";
/* [object, uuid("193696CD-A5C4-4ABE-852B-785BE4CB3E34"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgentVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *AddProfileFromXmlAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
        /* [in] */__RPC__in HSTRING xml,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
        );
    HRESULT ( STDMETHODCALLTYPE *AddProfileFromObjectAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * profile,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
        );
    HRESULT ( STDMETHODCALLTYPE *UpdateProfileFromXmlAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
        /* [in] */__RPC__in HSTRING xml,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
        );
    HRESULT ( STDMETHODCALLTYPE *UpdateProfileFromObjectAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * profile,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
        );
    HRESULT ( STDMETHODCALLTYPE *GetProfilesAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile * * operation
        );
    HRESULT ( STDMETHODCALLTYPE *DeleteProfileAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * profile,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
        );
    HRESULT ( STDMETHODCALLTYPE *ConnectProfileAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * profile,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
        );
    HRESULT ( STDMETHODCALLTYPE *ConnectProfileWithPasswordCredentialAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * profile,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential * passwordCredential,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
        );
    HRESULT ( STDMETHODCALLTYPE *DisconnectProfileAsync )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * profile,
        /* [retval, out] */__RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus * * operation
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgentVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgentVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_AddProfileFromXmlAsync(This,xml,operation) \
    ( (This)->lpVtbl->AddProfileFromXmlAsync(This,xml,operation) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_AddProfileFromObjectAsync(This,profile,operation) \
    ( (This)->lpVtbl->AddProfileFromObjectAsync(This,profile,operation) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_UpdateProfileFromXmlAsync(This,xml,operation) \
    ( (This)->lpVtbl->UpdateProfileFromXmlAsync(This,xml,operation) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_UpdateProfileFromObjectAsync(This,profile,operation) \
    ( (This)->lpVtbl->UpdateProfileFromObjectAsync(This,profile,operation) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_GetProfilesAsync(This,operation) \
    ( (This)->lpVtbl->GetProfilesAsync(This,operation) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_DeleteProfileAsync(This,profile,operation) \
    ( (This)->lpVtbl->DeleteProfileAsync(This,profile,operation) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_ConnectProfileAsync(This,profile,operation) \
    ( (This)->lpVtbl->ConnectProfileAsync(This,profile,operation) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_ConnectProfileWithPasswordCredentialAsync(This,profile,passwordCredential,operation) \
    ( (This)->lpVtbl->ConnectProfileWithPasswordCredentialAsync(This,profile,passwordCredential,operation) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_DisconnectProfileAsync(This,profile,operation) \
    ( (This)->lpVtbl->DisconnectProfileAsync(This,profile,operation) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnNamespaceAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnNamespaceAssignment
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnNamespaceAssignment[] = L"Windows.Networking.Vpn.IVpnNamespaceAssignment";
/* [object, uuid("D7F7DB18-307D-4C0E-BD62-8FA270BBADD6"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignmentVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_NamespaceList )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_NamespaceList )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_ProxyAutoConfigUri )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ProxyAutoConfigUri )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIUriRuntimeClass * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignmentVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignmentVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_put_NamespaceList(This,value) \
    ( (This)->lpVtbl->put_NamespaceList(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_get_NamespaceList(This,value) \
    ( (This)->lpVtbl->get_NamespaceList(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_put_ProxyAutoConfigUri(This,value) \
    ( (This)->lpVtbl->put_ProxyAutoConfigUri(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_get_ProxyAutoConfigUri(This,value) \
    ( (This)->lpVtbl->get_ProxyAutoConfigUri(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnNamespaceInfo
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnNamespaceInfo
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnNamespaceInfo[] = L"Windows.Networking.Vpn.IVpnNamespaceInfo";
/* [object, uuid("30EDFB43-444F-44C5-8167-A35A91F1AF94"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Namespace )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Namespace )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_DnsServers )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DnsServers )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_WebProxyServers )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_WebProxyServers )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_put_Namespace(This,value) \
    ( (This)->lpVtbl->put_Namespace(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_get_Namespace(This,value) \
    ( (This)->lpVtbl->get_Namespace(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_put_DnsServers(This,value) \
    ( (This)->lpVtbl->put_DnsServers(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_get_DnsServers(This,value) \
    ( (This)->lpVtbl->get_DnsServers(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_put_WebProxyServers(This,value) \
    ( (This)->lpVtbl->put_WebProxyServers(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_get_WebProxyServers(This,value) \
    ( (This)->lpVtbl->get_WebProxyServers(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnNamespaceInfoFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnNamespaceInfoFactory[] = L"Windows.Networking.Vpn.IVpnNamespaceInfoFactory";
/* [object, uuid("CB3E951A-B0CE-442B-ACBB-5F99B202C31C"), contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactoryVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *CreateVpnNamespaceInfo )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory * This,
        /* [in] */__RPC__in HSTRING name,
        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName * dnsServerList,
        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName * proxyServerList,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * * namespaceInfo
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactoryVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactoryVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_CreateVpnNamespaceInfo(This,name,dnsServerList,proxyServerList,namespaceInfo) \
    ( (This)->lpVtbl->CreateVpnNamespaceInfo(This,name,dnsServerList,proxyServerList,namespaceInfo) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnNativeProfile
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnNativeProfile
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnProfile
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnNativeProfile[] = L"Windows.Networking.Vpn.IVpnNativeProfile";
/* [object, uuid("A4AEE29E-6417-4333-9842-F0A66DB69802"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfileVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Servers )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_RoutingPolicyType )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_RoutingPolicyType )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_NativeProtocolType )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnNativeProtocolType * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_NativeProtocolType )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnNativeProtocolType value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_UserAuthenticationMethod )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_UserAuthenticationMethod )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_TunnelAuthenticationMethod )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_TunnelAuthenticationMethod )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_EapConfiguration )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * Value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_EapConfiguration )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
        /* [in] */__RPC__in HSTRING value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfileVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfileVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_get_Servers(This,value) \
    ( (This)->lpVtbl->get_Servers(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_get_RoutingPolicyType(This,value) \
    ( (This)->lpVtbl->get_RoutingPolicyType(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_put_RoutingPolicyType(This,value) \
    ( (This)->lpVtbl->put_RoutingPolicyType(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_get_NativeProtocolType(This,value) \
    ( (This)->lpVtbl->get_NativeProtocolType(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_put_NativeProtocolType(This,value) \
    ( (This)->lpVtbl->put_NativeProtocolType(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_get_UserAuthenticationMethod(This,value) \
    ( (This)->lpVtbl->get_UserAuthenticationMethod(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_put_UserAuthenticationMethod(This,value) \
    ( (This)->lpVtbl->put_UserAuthenticationMethod(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_get_TunnelAuthenticationMethod(This,value) \
    ( (This)->lpVtbl->get_TunnelAuthenticationMethod(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_put_TunnelAuthenticationMethod(This,value) \
    ( (This)->lpVtbl->put_TunnelAuthenticationMethod(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_get_EapConfiguration(This,Value) \
    ( (This)->lpVtbl->get_EapConfiguration(This,Value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_put_EapConfiguration(This,value) \
    ( (This)->lpVtbl->put_EapConfiguration(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnNativeProfile2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnNativeProfile
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnNativeProfile2[] = L"Windows.Networking.Vpn.IVpnNativeProfile2";
/* [object, uuid("0FEC2467-CDB5-4AC7-B5A3-0AFB5EC47682"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_RequireVpnClientAppUI )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2 * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_RequireVpnClientAppUI )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2 * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ConnectionStatus )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2 * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementConnectionStatus * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2Vtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_get_RequireVpnClientAppUI(This,value) \
    ( (This)->lpVtbl->get_RequireVpnClientAppUI(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_put_RequireVpnClientAppUI(This,value) \
    ( (This)->lpVtbl->put_RequireVpnClientAppUI(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_get_ConnectionStatus(This,value) \
    ( (This)->lpVtbl->get_ConnectionStatus(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBuffer
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPacketBuffer
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBuffer[] = L"Windows.Networking.Vpn.IVpnPacketBuffer";
/* [object, uuid("C2F891FC-4D5C-4A63-B70D-4E307EACCE55"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Buffer )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Status )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Status )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_TransportAffinity )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
        /* [in] */UINT32 value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_TransportAffinity )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
        /* [retval, out] */__RPC__out UINT32 * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_get_Buffer(This,value) \
    ( (This)->lpVtbl->get_Buffer(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_put_Status(This,value) \
    ( (This)->lpVtbl->put_Status(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_get_Status(This,value) \
    ( (This)->lpVtbl->get_Status(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_put_TransportAffinity(This,value) \
    ( (This)->lpVtbl->put_TransportAffinity(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_get_TransportAffinity(This,value) \
    ( (This)->lpVtbl->get_TransportAffinity(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBuffer2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPacketBuffer
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBuffer2[] = L"Windows.Networking.Vpn.IVpnPacketBuffer2";
/* [object, uuid("665E91F0-8805-4BF5-A619-2E84882E6B4F"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AppId )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2 * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2Vtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_get_AppId(This,value) \
    ( (This)->lpVtbl->get_AppId(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBuffer3
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 6.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPacketBuffer
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBuffer3[] = L"Windows.Networking.Vpn.IVpnPacketBuffer3";
/* [object, uuid("E256072F-107B-4C40-B127-5BC53E0AD960"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_TransportContext )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3 * This,
        /* [in] */__RPC__in_opt IInspectable * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_TransportContext )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3 * This,
        /* [retval, out] */__RPC__deref_out_opt IInspectable * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3Vtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_put_TransportContext(This,value) \
    ( (This)->lpVtbl->put_TransportContext(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_get_TransportContext(This,value) \
    ( (This)->lpVtbl->get_TransportContext(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer3_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBufferFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBufferFactory[] = L"Windows.Networking.Vpn.IVpnPacketBufferFactory";
/* [object, uuid("9E2DDCA2-1712-4CE4-B179-8C652C6D9999"), contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactoryVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *CreateVpnPacketBuffer )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * parentBuffer,
        /* [in] */UINT32 offset,
        /* [in] */UINT32 length,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * * vpnPacketBuffer
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactoryVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactoryVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_CreateVpnPacketBuffer(This,parentBuffer,offset,length,vpnPacketBuffer) \
    ( (This)->lpVtbl->CreateVpnPacketBuffer(This,parentBuffer,offset,length,vpnPacketBuffer) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBufferList
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPacketBufferList
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Foundation.Collections.IIterable_1_Windows.Networking.Vpn.VpnPacketBuffer
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBufferList[] = L"Windows.Networking.Vpn.IVpnPacketBufferList";
/* [object, uuid("C2F891FC-4D5C-4A63-B70D-4E307EACCE77"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferListVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *Append )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * nextVpnPacketBuffer
        );
    HRESULT ( STDMETHODCALLTYPE *AddAtBegin )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * nextVpnPacketBuffer
        );
    HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * * nextVpnPacketBuffer
        );
    HRESULT ( STDMETHODCALLTYPE *RemoveAtBegin )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * * nextVpnPacketBuffer
        );
    HRESULT ( STDMETHODCALLTYPE *Clear )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Status )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Status )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Size )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
        /* [retval, out] */__RPC__out UINT32 * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferListVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferListVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_Append(This,nextVpnPacketBuffer) \
    ( (This)->lpVtbl->Append(This,nextVpnPacketBuffer) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_AddAtBegin(This,nextVpnPacketBuffer) \
    ( (This)->lpVtbl->AddAtBegin(This,nextVpnPacketBuffer) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_RemoveAtEnd(This,nextVpnPacketBuffer) \
    ( (This)->lpVtbl->RemoveAtEnd(This,nextVpnPacketBuffer) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_RemoveAtBegin(This,nextVpnPacketBuffer) \
    ( (This)->lpVtbl->RemoveAtBegin(This,nextVpnPacketBuffer) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_Clear(This) \
    ( (This)->lpVtbl->Clear(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_put_Status(This,value) \
    ( (This)->lpVtbl->put_Status(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_get_Status(This,value) \
    ( (This)->lpVtbl->get_Status(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_get_Size(This,value) \
    ( (This)->lpVtbl->get_Size(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPacketBufferList2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPacketBufferList
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Foundation.Collections.IIterable_1_Windows.Networking.Vpn.VpnPacketBuffer
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPacketBufferList2[] = L"Windows.Networking.Vpn.IVpnPacketBufferList2";
/* [object, uuid("3E7ACFE5-EA1E-482A-8D98-C065F57D89EA"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *AddLeadingPacket )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * nextVpnPacketBuffer
        );
    HRESULT ( STDMETHODCALLTYPE *RemoveLeadingPacket )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * * nextVpnPacketBuffer
        );
    HRESULT ( STDMETHODCALLTYPE *AddTrailingPacket )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * nextVpnPacketBuffer
        );
    HRESULT ( STDMETHODCALLTYPE *RemoveTrailingPacket )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * * nextVpnPacketBuffer
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2Vtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_AddLeadingPacket(This,nextVpnPacketBuffer) \
    ( (This)->lpVtbl->AddLeadingPacket(This,nextVpnPacketBuffer) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_RemoveLeadingPacket(This,nextVpnPacketBuffer) \
    ( (This)->lpVtbl->RemoveLeadingPacket(This,nextVpnPacketBuffer) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_AddTrailingPacket(This,nextVpnPacketBuffer) \
    ( (This)->lpVtbl->AddTrailingPacket(This,nextVpnPacketBuffer) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_RemoveTrailingPacket(This,nextVpnPacketBuffer) \
    ( (This)->lpVtbl->RemoveTrailingPacket(This,nextVpnPacketBuffer) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPickedCredential
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPickedCredential
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPickedCredential[] = L"Windows.Networking.Vpn.IVpnPickedCredential";
/* [object, uuid("9A793AC7-8854-4E52-AD97-24DD9A842BCE"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredentialVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_PasskeyCredential )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AdditionalPin )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_OldPasswordCredential )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredentialVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredentialVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_get_PasskeyCredential(This,value) \
    ( (This)->lpVtbl->get_PasskeyCredential(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_get_AdditionalPin(This,value) \
    ( (This)->lpVtbl->get_AdditionalPin(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_get_OldPasswordCredential(This,value) \
    ( (This)->lpVtbl->get_OldPasswordCredential(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPlugIn
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPlugIn[] = L"Windows.Networking.Vpn.IVpnPlugIn";
/* [object, uuid("CEB78D07-D0A8-4703-A091-C8C2C0915BC4"), contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *Connect )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * channel
        );
    HRESULT ( STDMETHODCALLTYPE *Disconnect )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * channel
        );
    HRESULT ( STDMETHODCALLTYPE *GetKeepAlivePayload )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * channel,
        /* [out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * * keepAlivePacket
        );
    HRESULT ( STDMETHODCALLTYPE *Encapsulate )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * channel,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * packets,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * encapulatedPackets
        );
    HRESULT ( STDMETHODCALLTYPE *Decapsulate )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * channel,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * encapBuffer,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * decapsulatedPackets,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * controlPacketsToSend
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_Connect(This,channel) \
    ( (This)->lpVtbl->Connect(This,channel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_Disconnect(This,channel) \
    ( (This)->lpVtbl->Disconnect(This,channel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_GetKeepAlivePayload(This,channel,keepAlivePacket) \
    ( (This)->lpVtbl->GetKeepAlivePayload(This,channel,keepAlivePacket) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_Encapsulate(This,channel,packets,encapulatedPackets) \
    ( (This)->lpVtbl->Encapsulate(This,channel,packets,encapulatedPackets) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_Decapsulate(This,channel,encapBuffer,decapsulatedPackets,controlPacketsToSend) \
    ( (This)->lpVtbl->Decapsulate(This,channel,encapBuffer,decapsulatedPackets,controlPacketsToSend) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPlugInProfile
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPlugInProfile
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnProfile
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPlugInProfile[] = L"Windows.Networking.Vpn.IVpnPlugInProfile";
/* [object, uuid("0EDF0DA4-4F00-4589-8D7B-4BF988F6542C"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfileVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ServerUris )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CFoundation__CUri * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_CustomConfiguration )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_CustomConfiguration )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_VpnPluginPackageFamilyName )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_VpnPluginPackageFamilyName )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
        /* [in] */__RPC__in HSTRING value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfileVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfileVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_get_ServerUris(This,value) \
    ( (This)->lpVtbl->get_ServerUris(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_get_CustomConfiguration(This,value) \
    ( (This)->lpVtbl->get_CustomConfiguration(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_put_CustomConfiguration(This,value) \
    ( (This)->lpVtbl->put_CustomConfiguration(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_get_VpnPluginPackageFamilyName(This,value) \
    ( (This)->lpVtbl->get_VpnPluginPackageFamilyName(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_put_VpnPluginPackageFamilyName(This,value) \
    ( (This)->lpVtbl->put_VpnPluginPackageFamilyName(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnPlugInProfile2
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 3.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnPlugInProfile
 *
 *
 * Any object which implements this interface must also implement the following interfaces:
 *     Windows.Networking.Vpn.IVpnProfile
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnPlugInProfile2[] = L"Windows.Networking.Vpn.IVpnPlugInProfile2";
/* [object, uuid("611C4892-CF94-4AD6-BA99-00F4FF34565E"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2Vtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2 * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2 * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2 * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2 * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2 * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2 * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_RequireVpnClientAppUI )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2 * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_RequireVpnClientAppUI )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2 * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ConnectionStatus )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2 * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementConnectionStatus * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2Vtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2Vtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_get_RequireVpnClientAppUI(This,value) \
    ( (This)->lpVtbl->get_RequireVpnClientAppUI(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_put_RequireVpnClientAppUI(This,value) \
    ( (This)->lpVtbl->put_RequireVpnClientAppUI(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_get_ConnectionStatus(This,value) \
    ( (This)->lpVtbl->get_ConnectionStatus(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile2_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x30000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnProfile
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnProfile[] = L"Windows.Networking.Vpn.IVpnProfile";
/* [object, uuid("7875B751-B0D7-43DB-8A93-D3FE2479E56A"), contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfileVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ProfileName )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
        /* [retval, out] */__RPC__deref_out_opt HSTRING * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_ProfileName )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
        /* [in] */__RPC__in HSTRING value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AppTriggers )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Routes )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_DomainNameInfoList )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_TrafficFilters )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_RememberCredentials )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_RememberCredentials )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AlwaysOn )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_AlwaysOn )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
        /* [in] */boolean value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfileVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfileVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_get_ProfileName(This,value) \
    ( (This)->lpVtbl->get_ProfileName(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_put_ProfileName(This,value) \
    ( (This)->lpVtbl->put_ProfileName(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_get_AppTriggers(This,value) \
    ( (This)->lpVtbl->get_AppTriggers(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_get_Routes(This,value) \
    ( (This)->lpVtbl->get_Routes(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_get_DomainNameInfoList(This,value) \
    ( (This)->lpVtbl->get_DomainNameInfoList(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_get_TrafficFilters(This,value) \
    ( (This)->lpVtbl->get_TrafficFilters(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_get_RememberCredentials(This,value) \
    ( (This)->lpVtbl->get_RememberCredentials(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_put_RememberCredentials(This,value) \
    ( (This)->lpVtbl->put_RememberCredentials(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_get_AlwaysOn(This,value) \
    ( (This)->lpVtbl->get_AlwaysOn(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_put_AlwaysOn(This,value) \
    ( (This)->lpVtbl->put_AlwaysOn(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnRoute
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnRoute
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnRoute[] = L"Windows.Networking.Vpn.IVpnRoute";
/* [object, uuid("B5731B83-0969-4699-938E-7776DB29CFB3"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Address )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Address )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_PrefixSize )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
        /* [range(0, 128), in] */__RPC__in_range(0,0x80) BYTE value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_PrefixSize )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
        /* [retval, out] */__RPC__out BYTE * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_put_Address(This,value) \
    ( (This)->lpVtbl->put_Address(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_get_Address(This,value) \
    ( (This)->lpVtbl->get_Address(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_put_PrefixSize(This,value) \
    ( (This)->lpVtbl->put_PrefixSize(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_get_PrefixSize(This,value) \
    ( (This)->lpVtbl->get_PrefixSize(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnRouteAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnRouteAssignment
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnRouteAssignment[] = L"Windows.Networking.Vpn.IVpnRouteAssignment";
/* [object, uuid("DB64DE22-CE39-4A76-9550-F61039F80E48"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignmentVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Ipv4InclusionRoutes )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Ipv6InclusionRoutes )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Ipv4InclusionRoutes )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Ipv6InclusionRoutes )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Ipv4ExclusionRoutes )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Ipv6ExclusionRoutes )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
        /* [in] */__RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Ipv4ExclusionRoutes )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Ipv6ExclusionRoutes )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_ExcludeLocalSubnets )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_ExcludeLocalSubnets )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignmentVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignmentVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_put_Ipv4InclusionRoutes(This,value) \
    ( (This)->lpVtbl->put_Ipv4InclusionRoutes(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_put_Ipv6InclusionRoutes(This,value) \
    ( (This)->lpVtbl->put_Ipv6InclusionRoutes(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_get_Ipv4InclusionRoutes(This,value) \
    ( (This)->lpVtbl->get_Ipv4InclusionRoutes(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_get_Ipv6InclusionRoutes(This,value) \
    ( (This)->lpVtbl->get_Ipv6InclusionRoutes(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_put_Ipv4ExclusionRoutes(This,value) \
    ( (This)->lpVtbl->put_Ipv4ExclusionRoutes(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_put_Ipv6ExclusionRoutes(This,value) \
    ( (This)->lpVtbl->put_Ipv6ExclusionRoutes(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_get_Ipv4ExclusionRoutes(This,value) \
    ( (This)->lpVtbl->get_Ipv4ExclusionRoutes(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_get_Ipv6ExclusionRoutes(This,value) \
    ( (This)->lpVtbl->get_Ipv6ExclusionRoutes(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_put_ExcludeLocalSubnets(This,value) \
    ( (This)->lpVtbl->put_ExcludeLocalSubnets(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_get_ExcludeLocalSubnets(This,value) \
    ( (This)->lpVtbl->get_ExcludeLocalSubnets(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnRouteFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnRouteFactory[] = L"Windows.Networking.Vpn.IVpnRouteFactory";
/* [object, uuid("BDEAB5FF-45CF-4B99-83FB-DB3BC2672B02"), contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactoryVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *CreateVpnRoute )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName * address,
        /* [range(0, 128), in] */__RPC__in_range(0,0x80) BYTE prefixSize,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * * route
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactoryVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactoryVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_CreateVpnRoute(This,address,prefixSize,route) \
    ( (This)->lpVtbl->CreateVpnRoute(This,address,prefixSize,route) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnSystemHealth
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnSystemHealth
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnSystemHealth[] = L"Windows.Networking.Vpn.IVpnSystemHealth";
/* [object, uuid("99A8F8AF-C0EE-4E75-817A-F231AEE5123D"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealthVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_StatementOfHealth )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer * * value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealthVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealthVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_get_StatementOfHealth(This,value) \
    ( (This)->lpVtbl->get_StatementOfHealth(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnTrafficFilter
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnTrafficFilter
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnTrafficFilter[] = L"Windows.Networking.Vpn.IVpnTrafficFilter";
/* [object, uuid("2F691B60-6C9F-47F5-AC36-BB1B042E2C50"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AppId )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_AppId )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AppClaims )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Protocol )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnIPProtocol * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_Protocol )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnIPProtocol value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_LocalPortRanges )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_RemotePortRanges )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_LocalAddressRanges )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_RemoteAddressRanges )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_HSTRING * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_RoutingPolicyType )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
        /* [retval, out] */__RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_RoutingPolicyType )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
        /* [in] */__x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_get_AppId(This,value) \
    ( (This)->lpVtbl->get_AppId(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_put_AppId(This,value) \
    ( (This)->lpVtbl->put_AppId(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_get_AppClaims(This,value) \
    ( (This)->lpVtbl->get_AppClaims(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_get_Protocol(This,value) \
    ( (This)->lpVtbl->get_Protocol(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_put_Protocol(This,value) \
    ( (This)->lpVtbl->put_Protocol(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_get_LocalPortRanges(This,value) \
    ( (This)->lpVtbl->get_LocalPortRanges(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_get_RemotePortRanges(This,value) \
    ( (This)->lpVtbl->get_RemotePortRanges(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_get_LocalAddressRanges(This,value) \
    ( (This)->lpVtbl->get_LocalAddressRanges(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_get_RemoteAddressRanges(This,value) \
    ( (This)->lpVtbl->get_RemoteAddressRanges(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_get_RoutingPolicyType(This,value) \
    ( (This)->lpVtbl->get_RoutingPolicyType(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_put_RoutingPolicyType(This,value) \
    ( (This)->lpVtbl->put_RoutingPolicyType(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnTrafficFilterAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnTrafficFilterAssignment
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnTrafficFilterAssignment[] = L"Windows.Networking.Vpn.IVpnTrafficFilterAssignment";
/* [object, uuid("56CCD45C-E664-471E-89CD-601603B9E0F3"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignmentVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_TrafficFilterList )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
        /* [retval, out] */__RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter * * value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AllowOutbound )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_AllowOutbound )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
        /* [in] */boolean value
        );
    /* [propget] */HRESULT ( STDMETHODCALLTYPE *get_AllowInbound )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
        /* [retval, out] */__RPC__out boolean * value
        );
    /* [propput] */HRESULT ( STDMETHODCALLTYPE *put_AllowInbound )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
        /* [in] */boolean value
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignmentVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignmentVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_get_TrafficFilterList(This,value) \
    ( (This)->lpVtbl->get_TrafficFilterList(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_get_AllowOutbound(This,value) \
    ( (This)->lpVtbl->get_AllowOutbound(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_put_AllowOutbound(This,value) \
    ( (This)->lpVtbl->put_AllowOutbound(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_get_AllowInbound(This,value) \
    ( (This)->lpVtbl->get_AllowInbound(This,value) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_put_AllowInbound(This,value) \
    ( (This)->lpVtbl->put_AllowInbound(This,value) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Interface Windows.Networking.Vpn.IVpnTrafficFilterFactory
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Interface is a part of the implementation of type Windows.Networking.Vpn.VpnTrafficFilter
 *
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#if !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_INTERFACE_DEFINED__)
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_INTERFACE_DEFINED__
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Vpn_IVpnTrafficFilterFactory[] = L"Windows.Networking.Vpn.IVpnTrafficFilterFactory";
/* [object, uuid("480D41D5-7F99-474C-86EE-96DF168318F1"), exclusiveto, contract] */
typedef struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactoryVtbl
{
    BEGIN_INTERFACE
    HRESULT ( STDMETHODCALLTYPE *QueryInterface)(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory * This,
    /* [in] */ __RPC__in REFIID riid,
    /* [annotation][iid_is][out] */
    _COM_Outptr_  void **ppvObject
    );

ULONG ( STDMETHODCALLTYPE *AddRef )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory * This
    );

ULONG ( STDMETHODCALLTYPE *Release )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory * This
    );

HRESULT ( STDMETHODCALLTYPE *GetIids )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory * This,
    /* [out] */ __RPC__out ULONG *iidCount,
    /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids
    );

HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory * This,
    /* [out] */ __RPC__deref_out_opt HSTRING *className
    );

HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )(
    __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory * This,
    /* [OUT ] */ __RPC__out TrustLevel *trustLevel
    );
HRESULT ( STDMETHODCALLTYPE *Create )(
        __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory * This,
        /* [in] */__RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * appId,
        /* [retval, out] */__RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * * result
        );
    END_INTERFACE
    
} __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactoryVtbl;

interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory
{
    CONST_VTBL struct __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactoryVtbl *lpVtbl;
};

#ifdef COBJMACROS
#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_AddRef(This) \
        ( (This)->lpVtbl->AddRef(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_Release(This) \
        ( (This)->lpVtbl->Release(This) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_GetIids(This,iidCount,iids) \
        ( (This)->lpVtbl->GetIids(This,iidCount,iids) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_GetRuntimeClassName(This,className) \
        ( (This)->lpVtbl->GetRuntimeClassName(This,className) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_GetTrustLevel(This,trustLevel) \
        ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) )

#define __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_Create(This,appId,result) \
    ( (This)->lpVtbl->Create(This,appId,result) )


#endif /* COBJMACROS */


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory;
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_INTERFACE_DEFINED__) */
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnAppId
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnAppIdFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnAppId ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnAppId_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnAppId_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnAppId[] = L"Windows.Networking.Vpn.VpnAppId";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnChannel
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass contains static methods.
 *   Static Methods exist on the Windows.Networking.Vpn.IVpnChannelStatics interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnChannel ** Default Interface **
 *    Windows.Networking.Vpn.IVpnChannel2
 *    Windows.Networking.Vpn.IVpnChannel4
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnChannel_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnChannel_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnChannel[] = L"Windows.Networking.Vpn.VpnChannel";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnChannelActivityEventArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnChannelActivityEventArgs ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelActivityEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelActivityEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnChannelActivityEventArgs[] = L"Windows.Networking.Vpn.VpnChannelActivityEventArgs";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnChannelActivityStateChangedArgs
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnChannelActivityStateChangedArgs ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelActivityStateChangedArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelActivityStateChangedArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnChannelActivityStateChangedArgs[] = L"Windows.Networking.Vpn.VpnChannelActivityStateChangedArgs";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnChannelConfiguration
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnChannelConfiguration ** Default Interface **
 *    Windows.Networking.Vpn.IVpnChannelConfiguration2
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelConfiguration_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnChannelConfiguration_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnChannelConfiguration[] = L"Windows.Networking.Vpn.VpnChannelConfiguration";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCredential
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCredential ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCredential_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCredential_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCredential[] = L"Windows.Networking.Vpn.VpnCredential";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomCheckBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomCheckBox ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomCheckBox_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomCheckBox_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomCheckBox[] = L"Windows.Networking.Vpn.VpnCustomCheckBox";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomComboBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomComboBox ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomComboBox_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomComboBox_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomComboBox[] = L"Windows.Networking.Vpn.VpnCustomComboBox";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomEditBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomEditBox ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomEditBox_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomEditBox_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomEditBox[] = L"Windows.Networking.Vpn.VpnCustomEditBox";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomErrorBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomErrorBox ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomErrorBox_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomErrorBox_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomErrorBox[] = L"Windows.Networking.Vpn.VpnCustomErrorBox";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomPromptBooleanInput
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomPromptBooleanInput ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptBooleanInput_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptBooleanInput_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomPromptBooleanInput[] = L"Windows.Networking.Vpn.VpnCustomPromptBooleanInput";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomPromptOptionSelector
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomPromptOptionSelector ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptOptionSelector_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptOptionSelector_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomPromptOptionSelector[] = L"Windows.Networking.Vpn.VpnCustomPromptOptionSelector";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomPromptText
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomPromptText ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptText_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptText_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomPromptText[] = L"Windows.Networking.Vpn.VpnCustomPromptText";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomPromptTextInput
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomPromptTextInput ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPromptElement
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptTextInput_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomPromptTextInput_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomPromptTextInput[] = L"Windows.Networking.Vpn.VpnCustomPromptTextInput";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnCustomTextBox
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnCustomTextBox ** Default Interface **
 *    Windows.Networking.Vpn.IVpnCustomPrompt
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomTextBox_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnCustomTextBox_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnCustomTextBox[] = L"Windows.Networking.Vpn.VpnCustomTextBox";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnDomainNameAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnDomainNameAssignment ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnDomainNameAssignment_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnDomainNameAssignment_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnDomainNameAssignment[] = L"Windows.Networking.Vpn.VpnDomainNameAssignment";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnDomainNameInfo
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnDomainNameInfoFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnDomainNameInfo ** Default Interface **
 *    Windows.Networking.Vpn.IVpnDomainNameInfo2
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnDomainNameInfo_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnDomainNameInfo_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnDomainNameInfo[] = L"Windows.Networking.Vpn.VpnDomainNameInfo";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnInterfaceId
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnInterfaceIdFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnInterfaceId ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnInterfaceId_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnInterfaceId_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnInterfaceId[] = L"Windows.Networking.Vpn.VpnInterfaceId";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnManagementAgent
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnManagementAgent ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnManagementAgent_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnManagementAgent_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnManagementAgent[] = L"Windows.Networking.Vpn.VpnManagementAgent";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnNamespaceAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnNamespaceAssignment ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnNamespaceAssignment_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnNamespaceAssignment_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnNamespaceAssignment[] = L"Windows.Networking.Vpn.VpnNamespaceAssignment";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnNamespaceInfo
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnNamespaceInfoFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnNamespaceInfo ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnNamespaceInfo_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnNamespaceInfo_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnNamespaceInfo[] = L"Windows.Networking.Vpn.VpnNamespaceInfo";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnNativeProfile
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnNativeProfile ** Default Interface **
 *    Windows.Networking.Vpn.IVpnProfile
 *    Windows.Networking.Vpn.IVpnNativeProfile2
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnNativeProfile_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnNativeProfile_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnNativeProfile[] = L"Windows.Networking.Vpn.VpnNativeProfile";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnPacketBuffer
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnPacketBufferFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnPacketBuffer ** Default Interface **
 *    Windows.Networking.Vpn.IVpnPacketBuffer2
 *    Windows.Networking.Vpn.IVpnPacketBuffer3
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnPacketBuffer_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnPacketBuffer_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnPacketBuffer[] = L"Windows.Networking.Vpn.VpnPacketBuffer";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnPacketBufferList
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnPacketBufferList ** Default Interface **
 *    Windows.Foundation.Collections.IIterable_1_Windows.Networking.Vpn.VpnPacketBuffer
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnPacketBufferList_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnPacketBufferList_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnPacketBufferList[] = L"Windows.Networking.Vpn.VpnPacketBufferList";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnPickedCredential
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnPickedCredential ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnPickedCredential_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnPickedCredential_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnPickedCredential[] = L"Windows.Networking.Vpn.VpnPickedCredential";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnPlugInProfile
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnPlugInProfile ** Default Interface **
 *    Windows.Networking.Vpn.IVpnProfile
 *    Windows.Networking.Vpn.IVpnPlugInProfile2
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnPlugInProfile_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnPlugInProfile_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnPlugInProfile[] = L"Windows.Networking.Vpn.VpnPlugInProfile";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnRoute
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnRouteFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnRoute ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnRoute_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnRoute_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnRoute[] = L"Windows.Networking.Vpn.VpnRoute";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnRouteAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnRouteAssignment ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnRouteAssignment_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnRouteAssignment_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnRouteAssignment[] = L"Windows.Networking.Vpn.VpnRouteAssignment";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnSystemHealth
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnSystemHealth ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnSystemHealth_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnSystemHealth_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnSystemHealth[] = L"Windows.Networking.Vpn.VpnSystemHealth";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnTrafficFilter
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via the Windows.Networking.Vpn.IVpnTrafficFilterFactory interface starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnTrafficFilter ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnTrafficFilter_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnTrafficFilter_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnTrafficFilter[] = L"Windows.Networking.Vpn.VpnTrafficFilter";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000


/*
 *
 * Class Windows.Networking.Vpn.VpnTrafficFilterAssignment
 *
 * Introduced to Windows.Foundation.UniversalApiContract in version 1.0
 *
 *
 * RuntimeClass can be activated.
 *   Type can be activated via RoActivateInstance starting with version 1.0 of the Windows.Foundation.UniversalApiContract API contract
 *
 * Class implements the following interfaces:
 *    Windows.Networking.Vpn.IVpnTrafficFilterAssignment ** Default Interface **
 *
 * Class Threading Model:  Multi Threaded Apartment
 *
 * Class Marshaling Behavior:  Agile - Class is agile
 *
 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000

#ifndef RUNTIMECLASS_Windows_Networking_Vpn_VpnTrafficFilterAssignment_DEFINED
#define RUNTIMECLASS_Windows_Networking_Vpn_VpnTrafficFilterAssignment_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Vpn_VpnTrafficFilterAssignment[] = L"Windows.Networking.Vpn.VpnTrafficFilterAssignment";
#endif
#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000




#endif // defined(__cplusplus)
#pragma pop_macro("MIDL_CONST_ID")
// Restore the original value of the 'DEPRECATED' macro
#pragma pop_macro("DEPRECATED")

#ifdef __clang__
#pragma clang diagnostic pop // deprecated-declarations
#else
#pragma warning(pop)
#endif
#endif // __windows2Enetworking2Evpn_p_h__

#endif // __windows2Enetworking2Evpn_h__
