

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 8.00.0613 */
/* @@MIDL_FILE_HEADING(  ) */



/* 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__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt;

#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt;

#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement;

#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement;

#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile;

#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile;

#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId;

#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId;

#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_FWD_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer;

#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_FWD_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer;

#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute;

#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute;

#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt;

#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement;

#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile;

#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId;

#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute;

#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__ */


#ifndef ____FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId;

#endif 	/* ____FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__ */


#ifndef ____FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

#endif 	/* ____FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__ */


#ifndef ____FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

#endif 	/* ____FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__ */


#ifndef ____FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute;

#endif 	/* ____FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__ */


#ifndef ____FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

#endif 	/* ____FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile;

#endif 	/* ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
#define ____FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
typedef interface __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile;

#endif 	/* ____FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential;

#endif 	/* ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus;

#endif 	/* ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPlugIn;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPrompt;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomEditBox;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomComboBox;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomTextBox;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomCheckBox;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomErrorBox;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnRouteFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnRoute;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

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

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnRouteAssignment;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnNamespaceInfoFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnNamespaceInfo;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnNamespaceAssignment;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnInterfaceIdFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnInterfaceId;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPickedCredential;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCredential;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnSystemHealth;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannelConfiguration;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

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

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannelConfiguration2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannelActivityEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannel;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

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

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannel2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPromptElement;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannelStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPacketBufferFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPacketBuffer;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

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

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPacketBuffer2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPacketBufferList;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

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

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPacketBufferList2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPromptTextInput;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPromptOptionSelector;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPromptBooleanInput;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnCustomPromptText;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnChannelActivityStateChangedArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnDomainNameInfoFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnDomainNameInfo;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnDomainNameAssignment;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnAppIdFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_FWD_DEFINED__ */


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

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnAppId;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnTrafficFilterFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnTrafficFilter;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

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

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnTrafficFilterAssignment;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnProfile;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnPlugInProfile;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnNativeProfile;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_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;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                interface IVpnManagementAgent;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_FWD_DEFINED__ */


/* header files for imported files */
#include "inspectable.h"
#include "AsyncInfo.h"
#include "EventToken.h"
#include "Windows.Foundation.h"
#include "Windows.Networking.h"

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0000 */
/* [local] */ 

#ifdef __cplusplus
} /*extern "C"*/ 
#endif
#include <windows.foundation.collections.h>
#ifdef __cplusplus
extern "C" {
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnCustomPrompt;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0000 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0000_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2548 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2548 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2548_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2548_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0001 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t;
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__
#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0001 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0001_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2549 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2549 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2549_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2549_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0002 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t;
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__
#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE */

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnCustomPromptElement;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0002 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0002_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2550 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2550 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2550_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2550_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0003 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t;
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__
#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0003 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0003_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2551 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2551 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2551_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2551_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0004 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t;
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__
#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE */

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnProfile;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0004 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0004_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2552 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2552 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2552_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2552_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0005 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<ABI::Windows::Networking::Vpn::IVpnProfile*> __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_t;
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
#define __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0005 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0005_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2553 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2553 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2553_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2553_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0006 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<ABI::Windows::Networking::Vpn::IVpnProfile*> __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_t;
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
#define __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnAppId;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnAppId;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0006 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0006_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2554 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2554 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2554_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2554_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0007 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<ABI::Windows::Networking::Vpn::VpnAppId*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_t;
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0007 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0007_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2555 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2555 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2555_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2555_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0008 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<ABI::Windows::Networking::Vpn::VpnAppId*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_t;
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnDomainNameInfo;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnDomainNameInfo;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0008 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0008_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2556 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2556 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2556_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2556_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0009 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t;
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0009 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0009_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2557 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2557 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2557_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2557_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0010 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t;
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnNamespaceInfo;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnNamespaceInfo;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0010 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0010_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2558 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2558 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2558_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2558_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0011 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t;
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0011 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0011_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2559 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2559 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2559_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2559_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0012 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t;
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnPacketBuffer;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnPacketBuffer;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0012 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0012_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2560 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2560 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2560_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2560_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0013 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<ABI::Windows::Networking::Vpn::VpnPacketBuffer*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_t;
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_FWD_DEFINED__
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0013 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0013_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2561 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2561 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2561_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2561_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0014 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<ABI::Windows::Networking::Vpn::VpnPacketBuffer*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_t;
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_FWD_DEFINED__
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnRoute;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnRoute;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0014 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0014_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2562 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2562 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2562_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2562_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0015 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<ABI::Windows::Networking::Vpn::VpnRoute*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_t;
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0015 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0015_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2563 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2563 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2563_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2563_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0016 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<ABI::Windows::Networking::Vpn::VpnRoute*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_t;
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnTrafficFilter;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnTrafficFilter;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0016 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0016_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2564 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2564 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2564_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2564_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0017 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t;
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
#define __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0017 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0017_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0017_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2565 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2565 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2565_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2565_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0018 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t;
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
#define __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0018 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0018_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0018_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2566 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2566 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2566_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2566_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0019 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVectorView<ABI::Windows::Networking::Vpn::IVpnCustomPrompt*> __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t;
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_FWD_DEFINED__
#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0019 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0019_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0019_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2567 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2567 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2567_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2567_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0020 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVectorView<ABI::Windows::Networking::Vpn::IVpnCustomPromptElement*> __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t;
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_FWD_DEFINED__
#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0020 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0020_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0020_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2568 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2568 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2568_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2568_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0021 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVectorView<ABI::Windows::Networking::Vpn::IVpnProfile*> __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t;
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_FWD_DEFINED__
#define __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0021 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0021_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0021_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2569 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2569 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2569_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2569_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0022 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVectorView<ABI::Windows::Networking::Vpn::VpnAppId*> __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_t;
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0022 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0022_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2570 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2570 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2570_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2570_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0023 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVectorView<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t;
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0023 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0023_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2571 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2571 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2571_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2571_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0024 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVectorView<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t;
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0024 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0024_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2572 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2572 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2572_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2572_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0025 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVectorView<ABI::Windows::Networking::Vpn::VpnRoute*> __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_t;
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0025 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0025_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0025_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2573 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2573 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2573_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2573_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0026 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVectorView<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t;
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
#define __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0026 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0026_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0026_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2574 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2574 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2574_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2574_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0027 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVector<ABI::Windows::Networking::Vpn::VpnAppId*> __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_t;
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_FWD_DEFINED__
#define __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0027 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0027_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0027_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2575 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2575 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2575_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2575_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0028 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVector<ABI::Windows::Networking::Vpn::VpnDomainNameInfo*> __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t;
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_FWD_DEFINED__
#define __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0028 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0028_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0028_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2576 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2576 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2576_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2576_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0029 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVector<ABI::Windows::Networking::Vpn::VpnNamespaceInfo*> __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t;
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_FWD_DEFINED__
#define __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0029 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0029_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0029_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2577 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2577 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2577_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2577_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0030 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVector<ABI::Windows::Networking::Vpn::VpnRoute*> __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_t;
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_FWD_DEFINED__
#define __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0030 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0030_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0030_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2578 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2578 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2578_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2578_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0031 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVector<ABI::Windows::Networking::Vpn::VpnTrafficFilter*> __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t;
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_FWD_DEFINED__
#define __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0031 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0031_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2579 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2579 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2579_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2579_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0032 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#define DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>>"; }
};
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_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0032 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0032_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0032_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2580 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2580 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2580_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2580_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0033 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#define DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>>"; }
};
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_FWD_DEFINED__
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile ABI::Windows::Foundation::__FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnCredential;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnCredential;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0033 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0033_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0033_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2581 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2581 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2581_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2581_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0034 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Networking::Vpn::VpnCredential*> __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0034 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0034_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0034_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2582 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2582 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2582_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2582_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0035 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_USE
#define DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IAsyncOperation<ABI::Windows::Networking::Vpn::VpnCredential*> __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_t;
#define ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_USE */

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
enum VpnManagementErrorStatus;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0035 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0035_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0035_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2583 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2583 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2583_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2583_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0036 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IAsyncOperationCompletedHandler<enum ABI::Windows::Networking::Vpn::VpnManagementErrorStatus> __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0036 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0036_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0036_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2584 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2584 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2584_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2584_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0037 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE
#define DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IAsyncOperation<enum ABI::Windows::Networking::Vpn::VpnManagementErrorStatus> __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_t;
#define ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnChannel;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnChannel;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnChannelActivityEventArgs;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnChannelActivityEventArgs;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0037 */
/* [local] */ 






extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0037_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0037_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2585 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2585 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2585_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2585_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0038 */
/* [local] */ 

#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(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
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_FWD_DEFINED__
#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 */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnChannelActivityStateChangedArgs;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
interface IVpnChannelActivityStateChangedArgs;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0038 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0038_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0038_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2586 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2586 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2586_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2586_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0039 */
/* [local] */ 

#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(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
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_FWD_DEFINED__
#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 */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0039 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0039_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0039_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2587 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2587 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2587_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2587_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0040 */
/* [local] */ 

#ifndef DEF___FIIterator_1_HSTRING_USE
#define DEF___FIIterator_1_HSTRING_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<HSTRING> __FIIterator_1_HSTRING_t;
#define ____FIIterator_1_HSTRING_FWD_DEFINED__
#define __FIIterator_1_HSTRING ABI::Windows::Foundation::Collections::__FIIterator_1_HSTRING_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_HSTRING_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0040 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0040_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0040_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2588 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2588 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2588_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2588_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0041 */
/* [local] */ 

#ifndef DEF___FIIterable_1_HSTRING_USE
#define DEF___FIIterable_1_HSTRING_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<HSTRING> __FIIterable_1_HSTRING_t;
#define ____FIIterable_1_HSTRING_FWD_DEFINED__
#define __FIIterable_1_HSTRING ABI::Windows::Foundation::Collections::__FIIterable_1_HSTRING_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_HSTRING_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0041 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0041_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0041_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2589 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2589 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2589_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2589_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0042 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_HSTRING_USE
#define DEF___FIVectorView_1_HSTRING_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVectorView<HSTRING> __FIVectorView_1_HSTRING_t;
#define ____FIVectorView_1_HSTRING_FWD_DEFINED__
#define __FIVectorView_1_HSTRING ABI::Windows::Foundation::Collections::__FIVectorView_1_HSTRING_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_HSTRING_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
class HostName;
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
interface IHostName;
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0042 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0042_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0042_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2590 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2590 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2590_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2590_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0043 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CHostName_USE
#define DEF___FIIterator_1_Windows__CNetworking__CHostName_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<ABI::Windows::Networking::HostName*> __FIIterator_1_Windows__CNetworking__CHostName_t;
#define ____FIIterator_1_Windows__CNetworking__CHostName_FWD_DEFINED__
#define __FIIterator_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CHostName_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CNetworking__CHostName_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0043 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0043_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0043_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2591 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2591 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2591_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2591_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0044 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CHostName_USE
#define DEF___FIIterable_1_Windows__CNetworking__CHostName_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<ABI::Windows::Networking::HostName*> __FIIterable_1_Windows__CNetworking__CHostName_t;
#define ____FIIterable_1_Windows__CNetworking__CHostName_FWD_DEFINED__
#define __FIIterable_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CHostName_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CNetworking__CHostName_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0044 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0044_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0044_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2592 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2592 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2592_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2592_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0045 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CHostName_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CHostName_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVectorView<ABI::Windows::Networking::HostName*> __FIVectorView_1_Windows__CNetworking__CHostName_t;
#define ____FIVectorView_1_Windows__CNetworking__CHostName_FWD_DEFINED__
#define __FIVectorView_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CHostName_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CHostName_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0045 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0045_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0045_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2593 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2593 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2593_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2593_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0046 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CNetworking__CHostName_USE
#define DEF___FIVector_1_Windows__CNetworking__CHostName_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVector<ABI::Windows::Networking::HostName*> __FIVector_1_Windows__CNetworking__CHostName_t;
#define ____FIVector_1_Windows__CNetworking__CHostName_FWD_DEFINED__
#define __FIVector_1_Windows__CNetworking__CHostName ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CNetworking__CHostName_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_Windows__CNetworking__CHostName_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Foundation {
class Uri;
} /*Foundation*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Foundation {
interface IUriRuntimeClass;
} /*Foundation*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0046 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0046_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0046_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2594 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2594 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2594_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2594_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0047 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CFoundation__CUri_USE
#define DEF___FIIterator_1_Windows__CFoundation__CUri_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterator<ABI::Windows::Foundation::Uri*> __FIIterator_1_Windows__CFoundation__CUri_t;
#define ____FIIterator_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define __FIIterator_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CFoundation__CUri_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterator_1_Windows__CFoundation__CUri_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0047 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0047_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0047_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2595 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2595 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2595_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2595_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0048 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CFoundation__CUri_USE
#define DEF___FIIterable_1_Windows__CFoundation__CUri_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IIterable<ABI::Windows::Foundation::Uri*> __FIIterable_1_Windows__CFoundation__CUri_t;
#define ____FIIterable_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define __FIIterable_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CFoundation__CUri_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIIterable_1_Windows__CFoundation__CUri_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0048 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0048_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0048_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2596 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2596 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2596_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2596_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0049 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CFoundation__CUri_USE
#define DEF___FIVectorView_1_Windows__CFoundation__CUri_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVectorView<ABI::Windows::Foundation::Uri*> __FIVectorView_1_Windows__CFoundation__CUri_t;
#define ____FIVectorView_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define __FIVectorView_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CFoundation__CUri_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVectorView_1_Windows__CFoundation__CUri_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0049 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0049_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0049_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2597 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2597 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2597_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2597_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0050 */
/* [local] */ 

#ifndef DEF___FIVector_1_HSTRING_USE
#define DEF___FIVector_1_HSTRING_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVector<HSTRING> __FIVector_1_HSTRING_t;
#define ____FIVector_1_HSTRING_FWD_DEFINED__
#define __FIVector_1_HSTRING ABI::Windows::Foundation::Collections::__FIVector_1_HSTRING_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_HSTRING_USE */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0050 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0050_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0050_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2598 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2598 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2598_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2598_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0051 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CFoundation__CUri_USE
#define DEF___FIVector_1_Windows__CFoundation__CUri_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
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>"; }
};
typedef IVector<ABI::Windows::Foundation::Uri*> __FIVector_1_Windows__CFoundation__CUri_t;
#define ____FIVector_1_Windows__CFoundation__CUri_FWD_DEFINED__
#define __FIVector_1_Windows__CFoundation__CUri ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CFoundation__CUri_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_Windows__CFoundation__CUri_USE */
#if defined(__cplusplus)
}
#endif // defined(__cplusplus)
#include <Windows.Foundation.h>
#if !defined(__windows2Enetworking_h__)
#include <Windows.Networking.h>
#endif // !defined(__windows2Enetworking_h__)
#if !defined(__windows2Esecurity2Ecredentials_h__)
#include <Windows.Security.Credentials.h>
#endif // !defined(__windows2Esecurity2Ecredentials_h__)
#if !defined(__windows2Esecurity2Ecryptography2Ecertificates_h__)
#include <Windows.Security.Cryptography.Certificates.h>
#endif // !defined(__windows2Esecurity2Ecryptography2Ecertificates_h__)
#if !defined(__windows2Estorage2Estreams_h__)
#include <Windows.Storage.Streams.h>
#endif // !defined(__windows2Estorage2Estreams_h__)
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Security {
namespace Credentials {
class PasswordCredential;
} /*Credentials*/
} /*Security*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Security {
namespace Cryptography {
namespace Certificates {
class Certificate;
} /*Certificates*/
} /*Cryptography*/
} /*Security*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Storage {
namespace Streams {
class Buffer;
} /*Streams*/
} /*Storage*/
} /*Windows*/
}
#endif

#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnDataPathType __x_ABI_CWindows_CNetworking_CVpn_CVpnDataPathType;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelActivityEventType __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelActivityEventType;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnCredentialType __x_ABI_CWindows_CNetworking_CVpn_CVpnCredentialType;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelRequestCredentialsOptions __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelRequestCredentialsOptions;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnDomainNameType __x_ABI_CWindows_CNetworking_CVpn_CVpnDomainNameType;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType __x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnIPProtocol __x_ABI_CWindows_CNetworking_CVpn_CVpnIPProtocol;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType __x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnNativeProtocolType __x_ABI_CWindows_CNetworking_CVpn_CVpnNativeProtocolType;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod;


#endif /* end if !defined(__cplusplus) */


#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef enum __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementErrorStatus __x_ABI_CWindows_CNetworking_CVpn_CVpnManagementErrorStatus;


#endif /* end if !defined(__cplusplus) */


#endif


































#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnInterfaceId;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnRouteAssignment;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnNamespaceAssignment;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnPickedCredential;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnChannelConfiguration;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnSystemHealth;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnDomainNameAssignment;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnTrafficFilterAssignment;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnPacketBufferList;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnCustomEditBox;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnCustomPromptTextInput;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnCustomComboBox;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnCustomPromptOptionSelector;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnCustomTextBox;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnCustomPromptText;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnCustomCheckBox;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnCustomPromptBooleanInput;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnCustomErrorBox;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnPlugInProfile;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnNativeProfile;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
class VpnManagementAgent;
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0051 */
/* [local] */ 






#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnDataPathType VpnDataPathType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnChannelActivityEventType VpnChannelActivityEventType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnCredentialType VpnCredentialType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnPacketBufferStatus VpnPacketBufferStatus;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnChannelRequestCredentialsOptions VpnChannelRequestCredentialsOptions;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnDomainNameType VpnDomainNameType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnAppIdType VpnAppIdType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnIPProtocol VpnIPProtocol;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnRoutingPolicyType VpnRoutingPolicyType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnNativeProtocolType VpnNativeProtocolType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnAuthenticationMethod VpnAuthenticationMethod;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                typedef enum VpnManagementErrorStatus VpnManagementErrorStatus;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif





































extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0051_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0051_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2599 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2599 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2599_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2599_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0052 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0052 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0052_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0052_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6fc7cfe8-1882-5ba1-8e5e-4c5e3a4fa86d")
    __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnCustomPrompt **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnCustomPrompt **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0053 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0053 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0053_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0053_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2600 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2600 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2600_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2600_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0054 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0054 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0054_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0054_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8bac695c-70cb-54d6-8606-af6e3a25e3a1")
    __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0055 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0055 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0055_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0055_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2601 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2601 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2601_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2601_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0056 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0056 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0056_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0056_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ee23ff21-51ba-5cc4-9856-625c79c28080")
    __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnCustomPromptElement **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnCustomPromptElement **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0057 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0057 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0057_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0057_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2602 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2602 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2602_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2602_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0058 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0058 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0058_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0058_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("437d3693-00c4-50b4-989a-938f1016a230")
    __FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0059 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0059 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0059_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0059_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2603 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2603 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2603_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2603_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0060 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0060 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0060_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0060_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("91ccb492-ec28-530b-b45e-c431744ca9b5")
    __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnProfile **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnProfile **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0061 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0061 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0061_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0061_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2604 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2604 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2604_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2604_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0062 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0062 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0062_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0062_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("db35f6b1-f266-5c87-8862-9dd87d9df18f")
    __FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CIVpnProfile **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0063 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CIVpnProfile */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0063 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0063_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0063_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2605 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2605 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2605_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2605_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0064 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0064 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0064_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0064_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ec9298b0-8ca2-549c-bbe2-252823e70eef")
    __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnAppId **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnAppId **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0065 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0065 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0065_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0065_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2606 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2606 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2606_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2606_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0066 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0066 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0066_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0066_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0e1e00aa-f93d-5dc7-9912-e07d1fa6bd67")
    __FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnAppId **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0067 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnAppId */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0067 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0067_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0067_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2607 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2607 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2607_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2607_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0068 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0068 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0068_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0068_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("29f9008e-3e81-5c58-8a78-6be91abcc17d")
    __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnDomainNameInfo **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnDomainNameInfo **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0069 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0069 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0069_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0069_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2608 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2608 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2608_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2608_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0070 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0070 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0070_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0070_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("33abe488-be1a-558a-a9cf-b5330ab49f50")
    __FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0071 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0071 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0071_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0071_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2609 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2609 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2609_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2609_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0072 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0072 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0072_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0072_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("91e28244-7555-594d-b54d-9c87095e79a2")
    __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnNamespaceInfo **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnNamespaceInfo **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0073 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0073 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0073_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0073_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2610 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2610 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2610_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2610_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0074 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0074 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0074_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0074_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("17781d03-ddcf-553f-aba8-d2e8155cb6b8")
    __FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0075 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0075 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0075_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0075_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2611 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2611 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2611_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2611_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0076 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0076 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0076_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0076_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("04c88ba5-05e9-53b2-8524-df458d2a9179")
    __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnPacketBuffer **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0077 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0077 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0077_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0077_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2612 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2612 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2612_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2612_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0078 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0078 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0078_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0078_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("fa954f6e-30d7-50e0-9d43-dadb6c53e196")
    __FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnPacketBuffer **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0079 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnPacketBuffer */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0079 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0079_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0079_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2613 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2613 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2613_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2613_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0080 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0080 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0080_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0080_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("44f813ac-052f-514b-a776-aad37a64fdc6")
    __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnRoute **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnRoute **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0081 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0081 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0081_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0081_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2614 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2614 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2614_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2614_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0082 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0082 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0082_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0082_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("bbf498d5-b9ef-55f1-97b1-77a06639e4e2")
    __FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnRoute **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0083 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnRoute */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0083 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0083_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0083_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2615 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2615 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2615_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2615_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0084 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
#define DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0084 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0084_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0084_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */
/* [unique][uuid][object] */ 



/* interface __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8f37d5a0-5905-55bf-9c18-b9b3b544648b")
    __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilter **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnTrafficFilter **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0085 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0085 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0085_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0085_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2616 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2616 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2616_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2616_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0086 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
#define DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0086 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0086_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0086_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */
/* [unique][uuid][object] */ 



/* interface __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b6d4c853-77c9-52ca-9ce9-853add4554cf")
    __FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CNetworking__CVpn__CVpnTrafficFilter **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0087 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0087 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0087_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0087_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2617 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2617 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2617_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2617_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0088 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0088 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0088_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0088_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("804449c2-3bc1-5cfe-8468-3bbece4a5cd7")
    __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnCustomPrompt **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnCustomPrompt *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnCustomPrompt **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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] */ __RPC__in_opt __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 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0089 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0089 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0089_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0089_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2618 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2618 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2618_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2618_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0090 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0090 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0090_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0090_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("25eaf5eb-2f39-5b4d-bb6e-e652c7d00f6a")
    __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnCustomPromptElement **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnCustomPromptElement *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnCustomPromptElement **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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] */ __RPC__in_opt __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 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0091 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0091 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0091_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0091_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2619 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2619 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2619_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2619_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0092 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0092 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0092_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0092_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f1dc8f7d-ca33-53fd-9d4c-40c51b5873ec")
    __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnProfile **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnProfile *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnProfile **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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] */ __RPC__in_opt __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 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0093 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0093 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0093_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0093_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2620 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2620 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2620_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2620_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0094 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0094 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0094_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0094_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("faecbc50-da9a-5102-8229-1dd24e873d1f")
    __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnAppId **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnAppId *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnAppId **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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] */ __RPC__in_opt __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 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0095 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0095 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0095_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0095_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2621 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2621 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2621_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2621_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0096 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0096 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0096_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0096_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d4772f57-2328-5c25-9a11-246da17e39d5")
    __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnDomainNameInfo **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnDomainNameInfo *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnDomainNameInfo **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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] */ __RPC__in_opt __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 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0097 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0097 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0097_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0097_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2622 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2622 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2622_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2622_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0098 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0098 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0098_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0098_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c6ed05a9-4dc7-507d-9c92-7c78c2ef4786")
    __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnNamespaceInfo **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnNamespaceInfo *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnNamespaceInfo **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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] */ __RPC__in_opt __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 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0099 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0099 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0099_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0099_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2623 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2623 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2623_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2623_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0100 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0100 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0100_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0100_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("43701a74-e497-5559-a71b-11d0156fa839")
    __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnRoute **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnRoute *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnRoute **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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] */ __RPC__in_opt __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 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0101 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0101 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0101_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0101_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2624 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2624 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2624_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2624_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0102 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
#define DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0102 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0102_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0102_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */
/* [unique][uuid][object] */ 



/* interface __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("75de1766-ee22-56e9-be99-2714065349e5")
    __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilter **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilter *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnTrafficFilter **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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] */ __RPC__in_opt __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 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0103 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0103 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0103_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0103_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2625 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2625 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2625_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2625_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0104 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnAppId
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnAppId
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0104 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0104_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0104_v0_0_s_ifspec;

#ifndef ____FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__

/* interface __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId */
/* [unique][uuid][object] */ 



/* interface __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVector_1_Windows__CNetworking__CVpn__CVpnAppId;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("89097d58-edb8-5ad4-abc5-603f21dd4b15")
    __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnAppId **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetView( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CVpn__CVpnAppId **view) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnAppId *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnAppId *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnAppId *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ unsigned int index) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnAppId *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnAppId **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReplaceAll( 
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) ABI::Windows::Networking::Vpn::IVpnAppId **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 HSTRING *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_opt __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_opt __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_opt __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_opt __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 	/* C style interface */




#endif 	/* ____FIVector_1_Windows__CNetworking__CVpn__CVpnAppId_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0105 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnAppId */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0105 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0105_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0105_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2626 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2626 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2626_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2626_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0106 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0106 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0106_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0106_v0_0_s_ifspec;

#ifndef ____FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__

/* interface __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */
/* [unique][uuid][object] */ 



/* interface __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8179b6f2-7273-5ca3-a81b-53e902ca209b")
    __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnDomainNameInfo **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetView( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo **view) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnDomainNameInfo *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnDomainNameInfo *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnDomainNameInfo *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ unsigned int index) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnDomainNameInfo *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnDomainNameInfo **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReplaceAll( 
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) ABI::Windows::Networking::Vpn::IVpnDomainNameInfo **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 HSTRING *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_opt __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_opt __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_opt __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_opt __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 	/* C style interface */




#endif 	/* ____FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0107 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0107 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0107_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0107_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2627 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2627 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2627_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2627_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0108 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0108 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0108_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0108_v0_0_s_ifspec;

#ifndef ____FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__

/* interface __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */
/* [unique][uuid][object] */ 



/* interface __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("056bddf2-135d-542e-a322-36aa4ca0e60d")
    __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnNamespaceInfo **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetView( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo **view) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnNamespaceInfo *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnNamespaceInfo *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnNamespaceInfo *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ unsigned int index) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnNamespaceInfo *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnNamespaceInfo **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReplaceAll( 
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) ABI::Windows::Networking::Vpn::IVpnNamespaceInfo **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 HSTRING *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_opt __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_opt __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_opt __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_opt __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 	/* C style interface */




#endif 	/* ____FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0109 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0109 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0109_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0109_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2628 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2628 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2628_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2628_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0110 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnRoute
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnRoute
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0110 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0110_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0110_v0_0_s_ifspec;

#ifndef ____FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__

/* interface __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute */
/* [unique][uuid][object] */ 



/* interface __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVector_1_Windows__CNetworking__CVpn__CVpnRoute;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5b026bd8-2cc5-5570-bde5-0db7c4331279")
    __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnRoute **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetView( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CVpn__CVpnRoute **view) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnRoute *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnRoute *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnRoute *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ unsigned int index) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnRoute *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnRoute **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReplaceAll( 
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) ABI::Windows::Networking::Vpn::IVpnRoute **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 HSTRING *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_opt __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_opt __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_opt __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_opt __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 	/* C style interface */




#endif 	/* ____FIVector_1_Windows__CNetworking__CVpn__CVpnRoute_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0111 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnRoute */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0111 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0111_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0111_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2629 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2629 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2629_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2629_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0112 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
#define DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0112 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0112_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0112_v0_0_s_ifspec;

#ifndef ____FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__
#define ____FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__

/* interface __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */
/* [unique][uuid][object] */ 



/* interface __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2a5b9ad8-f005-5f69-ad81-300642e7c667")
    __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilter **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetView( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CVpn__CVpnTrafficFilter **view) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilter *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilter *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilter *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ unsigned int index) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilter *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Networking::Vpn::IVpnTrafficFilter **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReplaceAll( 
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) ABI::Windows::Networking::Vpn::IVpnTrafficFilter **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 HSTRING *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_opt __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_opt __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_opt __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_opt __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 	/* C style interface */




#endif 	/* ____FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0113 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0113 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0113_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0113_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2630 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2630 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2630_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2630_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0114 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile
#define DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)



/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0114 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0114_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0114_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

/* interface __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile */
/* [unique][uuid][object] */ 



/* interface __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("dac6dd72-a5d1-56d4-afc4-989f84dcb2b3")
    __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0115 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0115 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0115_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0115_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2631 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2631 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2631_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2631_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0116 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile
#define DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0116 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0116_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0116_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__

/* interface __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile */
/* [unique][uuid][object] */ 



/* interface __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("69d957be-045e-538f-98f6-1aa65cee244a")
    __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile **results) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0117 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0117 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0117_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0117_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2632 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2632 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2632_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2632_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0118 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)



/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0118 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0118_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0118_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__

/* interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential */
/* [unique][uuid][object] */ 



/* interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1c9c4504-4b75-57ea-837d-5338358bb762")
    __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0119 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0119 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0119_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0119_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2633 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2633 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2633_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2633_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0120 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential
#define DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0120 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0120_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0120_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__

/* interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential */
/* [unique][uuid][object] */ 



/* interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("216a6f97-dba1-5f71-a14b-2818ad3c4c69")
    __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnCredential **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnCredential **results) = 0;
        
    };
    
    
#else 	/* C style interface */

    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__deref_out_opt __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 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0121 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0121 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0121_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0121_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2634 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2634 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2634_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2634_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0122 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)



/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0122 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0122_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0122_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__

/* interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus */
/* [unique][uuid][object] */ 



/* interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("31229f8c-709d-5017-8629-57ef1289e616")
    __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0123 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0123 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0123_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0123_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2635 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2635 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2635_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2635_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0124 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus
#define DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0124 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0124_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0124_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__

/* interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus */
/* [unique][uuid][object] */ 



/* interface __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e99b86dc-6b65-5f23-9419-90b55852f283")
    __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__out enum ABI::Windows::Networking::Vpn::VpnManagementErrorStatus *results) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0125 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0125 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0125_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0125_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2636 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2636 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2636_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2636_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0126 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs
#define DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0126 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0126_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0126_v0_0_s_ifspec;

#ifndef ____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__

/* interface __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs */
/* [unique][uuid][object] */ 



/* interface __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("39907949-a8cc-5ce5-9e0a-06e3b2d31570")
    __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnChannel *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnChannelActivityEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0127 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0127 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0127_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0127_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2637 */




/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_2637 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2637_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_2637_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0128 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs
#define DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs
#if !defined(__cplusplus) || defined(RO_NO_TEMPLATE_NAME)


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0128 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0128_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0128_v0_0_s_ifspec;

#ifndef ____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__

/* interface __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs */
/* [unique][uuid][object] */ 



/* interface __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2cfcf1ba-bffc-5746-b868-2e45a46d2958")
    __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnChannel *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnChannelActivityStateChangedArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

    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 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0129 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs */
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnDataPathType
    {
        VpnDataPathType_Send	= 0,
        VpnDataPathType_Receive	= 1
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelActivityEventType
    {
        VpnChannelActivityEventType_Idle	= 0,
        VpnChannelActivityEventType_Active	= 1
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
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 /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus
    {
        VpnPacketBufferStatus_Ok	= 0,
        VpnPacketBufferStatus_InvalidBufferSize	= 1
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnChannelRequestCredentialsOptions
    {
        VpnChannelRequestCredentialsOptions_None	= 0,
        VpnChannelRequestCredentialsOptions_Retrying	= 0x1,
        VpnChannelRequestCredentialsOptions_UseForSingleSignIn	= 0x2
    } ;
#endif /* end if !defined(__cplusplus) */

#else
namespace ABI {
namespace Windows {
namespace Networking {
namespace Vpn {
enum VpnChannelRequestCredentialsOptions;
DEFINE_ENUM_FLAG_OPERATORS(VpnChannelRequestCredentialsOptions)
} /*Vpn*/
} /*Networking*/
} /*Windows*/
}
#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnDomainNameType
    {
        VpnDomainNameType_Suffix	= 0,
        VpnDomainNameType_FullyQualified	= 1,
        VpnDomainNameType_Reserved	= 65535
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType
    {
        VpnAppIdType_PackageFamilyName	= 0,
        VpnAppIdType_FullyQualifiedBinaryName	= 1,
        VpnAppIdType_FilePath	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
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 /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType
    {
        VpnRoutingPolicyType_SplitRouting	= 0,
        VpnRoutingPolicyType_ForceAllTrafficOverVpn	= 1
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnNativeProtocolType
    {
        VpnNativeProtocolType_Pptp	= 0,
        VpnNativeProtocolType_L2tp	= 1,
        VpnNativeProtocolType_IpsecIkev2	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod
    {
        VpnAuthenticationMethod_Mschapv2	= 0,
        VpnAuthenticationMethod_Eap	= 1,
        VpnAuthenticationMethod_Certificate	= 2,
        VpnAuthenticationMethod_PresharedKey	= 3
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
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
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0129 */
/* [local] */ 

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnDataPathType
                    {
                        VpnDataPathType_Send	= 0,
                        VpnDataPathType_Receive	= 1
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnChannelActivityEventType
                    {
                        VpnChannelActivityEventType_Idle	= 0,
                        VpnChannelActivityEventType_Active	= 1
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnCredentialType
                    {
                        VpnCredentialType_UsernamePassword	= 0,
                        VpnCredentialType_UsernameOtpPin	= 1,
                        VpnCredentialType_UsernamePasswordAndPin	= 2,
                        VpnCredentialType_UsernamePasswordChange	= 3,
                        VpnCredentialType_SmartCard	= 4,
                        VpnCredentialType_ProtectedCertificate	= 5,
                        VpnCredentialType_UnProtectedCertificate	= 6
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnPacketBufferStatus
                    {
                        VpnPacketBufferStatus_Ok	= 0,
                        VpnPacketBufferStatus_InvalidBufferSize	= 1
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnChannelRequestCredentialsOptions
                    {
                        VpnChannelRequestCredentialsOptions_None	= 0,
                        VpnChannelRequestCredentialsOptions_Retrying	= 0x1,
                        VpnChannelRequestCredentialsOptions_UseForSingleSignIn	= 0x2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnDomainNameType
                    {
                        VpnDomainNameType_Suffix	= 0,
                        VpnDomainNameType_FullyQualified	= 1,
                        VpnDomainNameType_Reserved	= 65535
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnAppIdType
                    {
                        VpnAppIdType_PackageFamilyName	= 0,
                        VpnAppIdType_FullyQualifiedBinaryName	= 1,
                        VpnAppIdType_FilePath	= 2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnIPProtocol
                    {
                        VpnIPProtocol_None	= 0,
                        VpnIPProtocol_Tcp	= 6,
                        VpnIPProtocol_Udp	= 17,
                        VpnIPProtocol_Icmp	= 1,
                        VpnIPProtocol_Ipv6Icmp	= 58,
                        VpnIPProtocol_Igmp	= 2,
                        VpnIPProtocol_Pgm	= 113
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnRoutingPolicyType
                    {
                        VpnRoutingPolicyType_SplitRouting	= 0,
                        VpnRoutingPolicyType_ForceAllTrafficOverVpn	= 1
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnNativeProtocolType
                    {
                        VpnNativeProtocolType_Pptp	= 0,
                        VpnNativeProtocolType_L2tp	= 1,
                        VpnNativeProtocolType_IpsecIkev2	= 2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnAuthenticationMethod
                    {
                        VpnAuthenticationMethod_Mschapv2	= 0,
                        VpnAuthenticationMethod_Eap	= 1,
                        VpnAuthenticationMethod_Certificate	= 2,
                        VpnAuthenticationMethod_PresharedKey	= 3
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Vpn {
                
                /* [v1_enum] */ 
                enum VpnManagementErrorStatus
                    {
                        VpnManagementErrorStatus_Ok	= 0,
                        VpnManagementErrorStatus_Other	= 1,
                        VpnManagementErrorStatus_InvalidXmlSyntax	= 2,
                        VpnManagementErrorStatus_ProfileNameTooLong	= 3,
                        VpnManagementErrorStatus_ProfileInvalidAppId	= 4,
                        VpnManagementErrorStatus_AccessDenied	= 5
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0129_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0129_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnPlugIn */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    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 const __declspec(selectany) IID & IID_IVpnPlugIn = __uuidof(IVpnPlugIn);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel *channel);
        
        HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel *channel);
        
        HRESULT ( STDMETHODCALLTYPE *GetKeepAlivePayload )( 
            __RPC__in __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 )( 
            __RPC__in __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 )( 
            __RPC__in __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugIn_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0130 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0130 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0130_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0130_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCustomPrompt */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("9B2EBE7B-87D5-433C-B4F6-EEE6AA68A244")
                    IVpnCustomPrompt : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Label( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Label( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Compulsory( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Compulsory( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Bordered( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Bordered( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCustomPrompt = __uuidof(IVpnCustomPrompt);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Compulsory )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Compulsory )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bordered )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bordered )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPrompt_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0131 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0131 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0131_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0131_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCustomEditBox */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("3002D9A0-CFBF-4C0B-8F3C-66F503C20B39")
                    IVpnCustomEditBox : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultText( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultText( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NoEcho( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NoEcho( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Text( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCustomEditBox = __uuidof(IVpnCustomEditBox);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultText )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NoEcho )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NoEcho )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomEditBox_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0132 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0132 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0132_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0132_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCustomComboBox */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("9A24158E-DBA1-4C6F-8270-DCF3C9761C4C")
                    IVpnCustomComboBox : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OptionsText( 
                            /* [in] */ __RPC__in_opt __FIVectorView_1_HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OptionsText( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_HSTRING **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Selected( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCustomComboBox = __uuidof(IVpnCustomComboBox);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This,
            /* [in] */ __RPC__in_opt __FIVectorView_1_HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OptionsText )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_HSTRING **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Selected )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomComboBox_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0133 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0133 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0133_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0133_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCustomTextBox */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("DAA4C3CA-8F23-4D36-91F1-76D937827942")
                    IVpnCustomTextBox : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DisplayText( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DisplayText( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCustomTextBox = __uuidof(IVpnCustomTextBox);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayText )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomTextBox_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0134 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0134 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0134_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0134_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCustomCheckBox */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("43878753-03C5-4E61-93D7-A957714C4282")
                    IVpnCustomCheckBox : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InitialCheckState( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InitialCheckState( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Checked( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCustomCheckBox = __uuidof(IVpnCustomCheckBox);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InitialCheckState )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Checked )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomCheckBox_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0135 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0135 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0135_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0135_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCustomErrorBox */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("9EC4EFB2-C942-42AF-B223-588B48328721")
                    IVpnCustomErrorBox : public IInspectable
                    {
                    public:
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCustomErrorBox = __uuidof(IVpnCustomErrorBox);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomErrorBox_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0136 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0136 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0136_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0136_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnRouteFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("BDEAB5FF-45CF-4B99-83FB-DB3BC2672B02")
                    IVpnRouteFactory : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE CreateVpnRoute( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *address,
                            /* [in][range] */ __RPC__in_range(0,128) BYTE prefixSize,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnRoute **route) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnRouteFactory = __uuidof(IVpnRouteFactory);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *address,
            /* [in][range] */ __RPC__in_range(0,128) BYTE prefixSize,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0137 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0137 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0137_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0137_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnRoute */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("B5731B83-0969-4699-938E-7776DB29CFB3")
                    IVpnRoute : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Address( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Address( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::IHostName **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PrefixSize( 
                            /* [in][range] */ __RPC__in_range(0,128) BYTE value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PrefixSize( 
                            /* [out][retval] */ __RPC__out BYTE *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnRoute = __uuidof(IVpnRoute);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Address )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrefixSize )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
            /* [in][range] */ __RPC__in_range(0,128) BYTE value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrefixSize )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRoute_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0138 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0138 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0138_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0138_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnRouteAssignment */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("DB64DE22-CE39-4A76-9550-F61039F80E48")
                    IVpnRouteAssignment : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Ipv4InclusionRoutes( 
                            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Ipv6InclusionRoutes( 
                            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Ipv4InclusionRoutes( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Ipv6InclusionRoutes( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Ipv4ExclusionRoutes( 
                            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Ipv6ExclusionRoutes( 
                            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Ipv4ExclusionRoutes( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Ipv6ExclusionRoutes( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExcludeLocalSubnets( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExcludeLocalSubnets( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnRouteAssignment = __uuidof(IVpnRouteAssignment);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Ipv6InclusionRoutes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Ipv4InclusionRoutes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Ipv6InclusionRoutes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Ipv4ExclusionRoutes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Ipv6ExclusionRoutes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Ipv4ExclusionRoutes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Ipv6ExclusionRoutes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExcludeLocalSubnets )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExcludeLocalSubnets )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnRouteAssignment_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0139 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0139 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0139_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0139_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnNamespaceInfoFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    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,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnNamespaceInfo **namespaceInfo) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnNamespaceInfoFactory = __uuidof(IVpnNamespaceInfoFactory);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __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,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfoFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0140 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0140 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0140_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0140_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnNamespaceInfo */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("30EDFB43-444F-44C5-8167-A35A91F1AF94")
                    IVpnNamespaceInfo : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Namespace( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Namespace( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DnsServers( 
                            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DnsServers( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WebProxyServers( 
                            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WebProxyServers( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnNamespaceInfo = __uuidof(IVpnNamespaceInfo);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Namespace )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DnsServers )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DnsServers )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WebProxyServers )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CHostName *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebProxyServers )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0141 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0141 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0141_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0141_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnNamespaceAssignment */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("D7F7DB18-307D-4C0E-BD62-8FA270BBADD6")
                    IVpnNamespaceAssignment : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NamespaceList( 
                            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NamespaceList( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProxyAutoConfigUri( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Foundation::IUriRuntimeClass *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProxyAutoConfigUri( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IUriRuntimeClass **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnNamespaceAssignment = __uuidof(IVpnNamespaceAssignment);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
            /* [in] */ __RPC__in_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NamespaceList )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnNamespaceInfo **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProxyAutoConfigUri )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProxyAutoConfigUri )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNamespaceAssignment_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0142 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0142 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0142_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0142_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnInterfaceIdFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("9E2DDCA2-1712-4CE4-B179-8C652C6D1000")
                    IVpnInterfaceIdFactory : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE CreateVpnInterfaceId( 
                            /* [range][in] */ __RPC__in_range(0,8) UINT32 __addressSize,
                            /* [in][size_is] */ __RPC__in_ecount_full(__addressSize) BYTE *address,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnInterfaceId **vpnInterfaceId) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnInterfaceIdFactory = __uuidof(IVpnInterfaceIdFactory);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory * This,
            /* [range][in] */ __RPC__in_range(0,8) UINT32 __addressSize,
            /* [in][size_is] */ __RPC__in_ecount_full(__addressSize) BYTE *address,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceIdFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0143 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0143 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0143_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0143_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnInterfaceId */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("9E2DDCA2-1712-4CE4-B179-8C652C6D1011")
                    IVpnInterfaceId : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE GetAddressInfo( 
                            /* [out] */ __RPC__out UINT32 *__idSize,
                            /* [out][size_is][size_is] */ __RPC__deref_out_ecount_full_opt(*__idSize) BYTE **id) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnInterfaceId = __uuidof(IVpnInterfaceId);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId * This,
            /* [out] */ __RPC__out UINT32 *__idSize,
            /* [out][size_is][size_is] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnInterfaceId_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0144 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0144 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0144_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0144_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnPickedCredential */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("9A793AC7-8854-4E52-AD97-24DD9A842BCE")
                    IVpnPickedCredential : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PasskeyCredential( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Security::Credentials::IPasswordCredential **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdditionalPin( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OldPasswordCredential( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Security::Credentials::IPasswordCredential **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnPickedCredential = __uuidof(IVpnPickedCredential);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionalPin )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OldPasswordCredential )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0145 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0145 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0145_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0145_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCredential */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("B7E78AF3-A46D-404B-8729-1832522853AC")
                    IVpnCredential : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PasskeyCredential( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Security::Credentials::IPasswordCredential **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CertificateCredential( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Security::Cryptography::Certificates::ICertificate **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdditionalPin( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OldPasswordCredential( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Security::Credentials::IPasswordCredential **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCredential = __uuidof(IVpnCredential);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CertificateCredential )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionalPin )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OldPasswordCredential )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCredential_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0146 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0146 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0146_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0146_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnSystemHealth */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("99A8F8AF-C0EE-4E75-817A-F231AEE5123D")
                    IVpnSystemHealth : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StatementOfHealth( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnSystemHealth = __uuidof(IVpnSystemHealth);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0147 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0147 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0147_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0147_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnChannelConfiguration */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("0E2DDCA2-2012-4FE4-B179-8C652C6D107E")
                    IVpnChannelConfiguration : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerServiceName( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerHostNameList( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CHostName **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CustomField( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnChannelConfiguration = __uuidof(IVpnChannelConfiguration);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerHostNameList )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CNetworking__CHostName **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CustomField )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0148 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0148 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0148_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0148_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnChannelConfiguration2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("F30B574C-7824-471C-A118-63DBC93AE4C7")
                    IVpnChannelConfiguration2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerUris( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CFoundation__CUri **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnChannelConfiguration2 = __uuidof(IVpnChannelConfiguration2);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2 * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0149 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0149 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0149_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0149_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnChannelActivityEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("A36C88F2-AFDC-4775-855D-D4AC0A35FC55")
                    IVpnChannelActivityEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnChannelActivityEventType *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnChannelActivityEventArgs = __uuidof(IVpnChannelActivityEventArgs);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0150 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0150 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0150_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0150_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnChannel */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    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;
                        
                        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,
                            /* [out][retval] */ __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;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Configuration( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnChannelConfiguration **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_ActivityChange( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_ActivityChange( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PlugInContext( 
                            /* [in] */ __RPC__in_opt IInspectable *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PlugInContext( 
                            /* [out][retval] */ __RPC__deref_out_opt IInspectable **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SystemHealth( 
                            /* [out][retval] */ __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 const __declspec(selectany) IID & IID_IVpnChannel = __uuidof(IVpnChannel);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
            /* [in] */ __RPC__in_opt IInspectable *mainOuterTunnelTransport,
            /* [in] */ __RPC__in_opt IInspectable *optionalOuterTunnelTransport);
        
        HRESULT ( STDMETHODCALLTYPE *Start )( 
            __RPC__in __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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This);
        
        HRESULT ( STDMETHODCALLTYPE *RequestCredentials )( 
            __RPC__in __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,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPickedCredential **credential);
        
        HRESULT ( STDMETHODCALLTYPE *RequestVpnPacketBuffer )( 
            __RPC__in __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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
            /* [in] */ __RPC__in HSTRING message);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Configuration )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelConfiguration **value);
        
        HRESULT ( STDMETHODCALLTYPE *add_ActivityChange )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityEventArgs *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_ActivityChange )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
            /* [in] */ EventRegistrationToken token);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlugInContext )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
            /* [in] */ __RPC__in_opt IInspectable *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlugInContext )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
            /* [out][retval] */ __RPC__deref_out_opt IInspectable **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SystemHealth )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnSystemHealth **value);
        
        HRESULT ( STDMETHODCALLTYPE *RequestCustomPrompt )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
            /* [in] */ __RPC__in_opt __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPrompt *customPrompt);
        
        HRESULT ( STDMETHODCALLTYPE *SetErrorMessage )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel * This,
            /* [in] */ __RPC__in HSTRING message);
        
        HRESULT ( STDMETHODCALLTYPE *SetAllowedSslTlsVersions )( 
            __RPC__in __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0151 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0151 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0151_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0151_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnChannel2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    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;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_ActivityStateChange( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_ActivityStateChange( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetVpnSendPacketBuffer( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer **vpnSendPacketBuffer) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetVpnReceivePacketBuffer( 
                            /* [out][retval] */ __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,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **action) = 0;
                        
                        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,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential **credential) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE RequestCredentialsWithOptionsAsync( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnCredentialType credType,
                            /* [in] */ UINT32 credOptions,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential **credential) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE RequestCredentialsSimpleAsync( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnCredentialType credType,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential **credential) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE TerminateConnection( 
                            /* [in] */ __RPC__in HSTRING message) = 0;
                        
                        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 const __declspec(selectany) IID & IID_IVpnChannel2 = __uuidof(IVpnChannel2);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __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 )( 
            __RPC__in __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);
        
        HRESULT ( STDMETHODCALLTYPE *add_ActivityStateChange )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CVpn__CVpnChannel_Windows__CNetworking__CVpn__CVpnChannelActivityStateChangedArgs *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_ActivityStateChange )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
            /* [in] */ EventRegistrationToken token);
        
        HRESULT ( STDMETHODCALLTYPE *GetVpnSendPacketBuffer )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer **vpnSendPacketBuffer);
        
        HRESULT ( STDMETHODCALLTYPE *GetVpnReceivePacketBuffer )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer **vpnReceivePacketBuffer);
        
        HRESULT ( STDMETHODCALLTYPE *RequestCustomPromptAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
            /* [in] */ __RPC__in_opt __FIVectorView_1_Windows__CNetworking__CVpn__CIVpnCustomPromptElement *customPromptElement,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **action);
        
        HRESULT ( STDMETHODCALLTYPE *RequestCredentialsWithCertificateAsync )( 
            __RPC__in __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,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential **credential);
        
        HRESULT ( STDMETHODCALLTYPE *RequestCredentialsWithOptionsAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnCredentialType credType,
            /* [in] */ UINT32 credOptions,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential **credential);
        
        HRESULT ( STDMETHODCALLTYPE *RequestCredentialsSimpleAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnCredentialType credType,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnCredential **credential);
        
        HRESULT ( STDMETHODCALLTYPE *TerminateConnection )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2 * This,
            /* [in] */ __RPC__in HSTRING message);
        
        HRESULT ( STDMETHODCALLTYPE *StartWithTrafficFilter )( 
            __RPC__in __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannel2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0152 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0152 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0152_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0152_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCustomPromptElement */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("73BD5638-6F04-404D-93DD-50A44924A38B")
                    IVpnCustomPromptElement : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DisplayName( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Compulsory( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Compulsory( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Emphasized( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Emphasized( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCustomPromptElement = __uuidof(IVpnCustomPromptElement);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Compulsory )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Compulsory )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Emphasized )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Emphasized )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptElement_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0153 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0153 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0153_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0153_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnChannelStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    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 const __declspec(selectany) IID & IID_IVpnChannelStatics = __uuidof(IVpnChannelStatics);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0154 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0154 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0154_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0154_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnPacketBufferFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    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,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer **vpnPacketBuffer) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnPacketBufferFactory = __uuidof(IVpnPacketBufferFactory);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer *parentBuffer,
            /* [in] */ UINT32 offset,
            /* [in] */ UINT32 length,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0155 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0155 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0155_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0155_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnPacketBuffer */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("C2F891FC-4D5C-4A63-B70D-4E307EACCE55")
                    IVpnPacketBuffer : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Buffer( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Status( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnPacketBufferStatus value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnPacketBufferStatus *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TransportAffinity( 
                            /* [in] */ UINT32 value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TransportAffinity( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnPacketBuffer = __uuidof(IVpnPacketBuffer);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Status )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TransportAffinity )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
            /* [in] */ UINT32 value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TransportAffinity )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0156 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0156 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0156_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0156_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnPacketBuffer2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("665E91F0-8805-4BF5-A619-2E84882E6B4F")
                    IVpnPacketBuffer2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AppId( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnAppId **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnPacketBuffer2 = __uuidof(IVpnPacketBuffer2);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2 * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0157 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0157 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0157_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0157_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnPacketBufferList */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    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( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer **nextVpnPacketBuffer) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE RemoveAtBegin( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer **nextVpnPacketBuffer) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Status( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnPacketBufferStatus value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnPacketBufferStatus *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnPacketBufferList = __uuidof(IVpnPacketBufferList);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer *nextVpnPacketBuffer);
        
        HRESULT ( STDMETHODCALLTYPE *AddAtBegin )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer *nextVpnPacketBuffer);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer **nextVpnPacketBuffer);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAtBegin )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer **nextVpnPacketBuffer);
        
        HRESULT ( STDMETHODCALLTYPE *Clear )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Status )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnPacketBufferStatus *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0158 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0158 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0158_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0158_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnPacketBufferList2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    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( 
                            /* [out][retval] */ __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( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnPacketBuffer **nextVpnPacketBuffer) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnPacketBufferList2 = __uuidof(IVpnPacketBufferList2);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer *nextVpnPacketBuffer);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveLeadingPacket )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer **nextVpnPacketBuffer);
        
        HRESULT ( STDMETHODCALLTYPE *AddTrailingPacket )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBuffer *nextVpnPacketBuffer);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveTrailingPacket )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2 * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPacketBufferList2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0159 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0159 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0159_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0159_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCustomPromptTextInput */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("C9DA9C75-913C-47D5-88BA-48FC48930235")
                    IVpnCustomPromptTextInput : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PlaceholderText( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PlaceholderText( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsTextHidden( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsTextHidden( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Text( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCustomPromptTextInput = __uuidof(IVpnCustomPromptTextInput);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaceholderText )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsTextHidden )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsTextHidden )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptTextInput_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0160 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0160 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0160_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0160_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCustomPromptOptionSelector */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("3B8F34D9-8EC1-4E95-9A4E-7BA64D38F330")
                    IVpnCustomPromptOptionSelector : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Options( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SelectedIndex( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCustomPromptOptionSelector = __uuidof(IVpnCustomPromptOptionSelector);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedIndex )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptOptionSelector_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0161 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0161 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0161_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0161_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCustomPromptBooleanInput */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("C4C9A69E-FF47-4527-9F27-A49292019979")
                    IVpnCustomPromptBooleanInput : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InitialValue( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InitialValue( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCustomPromptBooleanInput = __uuidof(IVpnCustomPromptBooleanInput);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InitialValue )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptBooleanInput_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0162 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0162 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0162_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0162_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnCustomPromptText */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("3BC8BDEE-3A42-49A3-ABDD-07B2EDEA752D")
                    IVpnCustomPromptText : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Text( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Text( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnCustomPromptText = __uuidof(IVpnCustomPromptText);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnCustomPromptText_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0163 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0163 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0163_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0163_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnChannelActivityStateChangedArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("3D750565-FDC0-4BBE-A23B-45FFFC6D97A1")
                    IVpnChannelActivityStateChangedArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ActivityState( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnChannelActivityEventType *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnChannelActivityStateChangedArgs = __uuidof(IVpnChannelActivityStateChangedArgs);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnChannelActivityStateChangedArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0164 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0164 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0164_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0164_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnDomainNameInfoFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    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,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnDomainNameInfo **domainNameInfo) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnDomainNameInfoFactory = __uuidof(IVpnDomainNameInfoFactory);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __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,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfoFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0165 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0165 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0165_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0165_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnDomainNameInfo */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("AD2EB82F-EA8E-4F7A-843E-1A87E32E1B9A")
                    IVpnDomainNameInfo : public IInspectable
                    {
                    public:
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DomainName( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DomainName( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::IHostName **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DomainNameType( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnDomainNameType value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DomainNameType( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnDomainNameType *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DnsServers( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WebProxyServers( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnDomainNameInfo = __uuidof(IVpnDomainNameInfo);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DomainName )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DomainNameType )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnDomainNameType value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DomainNameType )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnDomainNameType *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DnsServers )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CHostName **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebProxyServers )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0166 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0166 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0166_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0166_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnDomainNameAssignment */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("4135B141-CCDB-49B5-9401-039A8AE767E9")
                    IVpnDomainNameAssignment : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DomainNameList( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProxyAutoConfigurationUri( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Foundation::IUriRuntimeClass *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProxyAutoConfigurationUri( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IUriRuntimeClass **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnDomainNameAssignment = __uuidof(IVpnDomainNameAssignment);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProxyAutoConfigurationUri )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProxyAutoConfigurationUri )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment * This,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnDomainNameAssignment_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0167 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0167 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0167_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0167_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnAppIdFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    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,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnAppId **result) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnAppIdFactory = __uuidof(IVpnAppIdFactory);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType type,
            /* [in] */ __RPC__in HSTRING value,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppIdFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0168 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0168 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0168_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0168_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnAppId */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("7B06A635-5C58-41D9-94A7-BFBCF1D8CA54")
                    IVpnAppId : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnAppIdType *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnAppIdType value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnAppId = __uuidof(IVpnAppId);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnAppIdType value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            __RPC__in __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0169 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0169 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0169_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0169_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnTrafficFilterFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    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,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnTrafficFilter **result) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnTrafficFilterFactory = __uuidof(IVpnTrafficFilterFactory);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId *appId,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0170 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0170 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0170_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0170_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnTrafficFilter */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("2F691B60-6C9F-47F5-AC36-BB1B042E2C50")
                    IVpnTrafficFilter : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AppId( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Vpn::IVpnAppId **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AppId( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Vpn::IVpnAppId *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AppClaims( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Protocol( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnIPProtocol *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Protocol( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnIPProtocol value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalPortRanges( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemotePortRanges( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalAddressRanges( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemoteAddressRanges( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RoutingPolicyType( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnRoutingPolicyType *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RoutingPolicyType( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnRoutingPolicyType value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnTrafficFilter = __uuidof(IVpnTrafficFilter);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AppId )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnAppId *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AppClaims )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Protocol )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnIPProtocol *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Protocol )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnIPProtocol value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalPortRanges )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemotePortRanges )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalAddressRanges )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemoteAddressRanges )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoutingPolicyType )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RoutingPolicyType )( 
            __RPC__in __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0171 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0171 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0171_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0171_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnTrafficFilterAssignment */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("56CCD45C-E664-471E-89CD-601603B9E0F3")
                    IVpnTrafficFilterAssignment : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TrafficFilterList( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllowOutbound( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AllowOutbound( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllowInbound( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AllowInbound( 
                            /* [in] */ boolean value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnTrafficFilterAssignment = __uuidof(IVpnTrafficFilterAssignment);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowOutbound )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowOutbound )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowInbound )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowInbound )( 
            __RPC__in __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnTrafficFilterAssignment_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0172 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0172 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0172_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0172_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnProfile */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("7875B751-B0D7-43DB-8A93-D3FE2479E56A")
                    IVpnProfile : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProfileName( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProfileName( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AppTriggers( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Routes( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DomainNameInfoList( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TrafficFilters( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RememberCredentials( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RememberCredentials( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AlwaysOn( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AlwaysOn( 
                            /* [in] */ boolean value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnProfile = __uuidof(IVpnProfile);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProfileName )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AppTriggers )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnAppId **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Routes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnRoute **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DomainNameInfoList )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnDomainNameInfo **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrafficFilters )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CNetworking__CVpn__CVpnTrafficFilter **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RememberCredentials )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RememberCredentials )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlwaysOn )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AlwaysOn )( 
            __RPC__in __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0173 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0173 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0173_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0173_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnPlugInProfile */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("0EDF0DA4-4F00-4589-8D7B-4BF988F6542C")
                    IVpnPlugInProfile : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerUris( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CFoundation__CUri **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CustomConfiguration( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CustomConfiguration( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VpnPluginPackageFamilyName( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VpnPluginPackageFamilyName( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnPlugInProfile = __uuidof(IVpnPlugInProfile);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CFoundation__CUri **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CustomConfiguration )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CustomConfiguration )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VpnPluginPackageFamilyName )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VpnPluginPackageFamilyName )( 
            __RPC__in __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnPlugInProfile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0174 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0174 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0174_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0174_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnNativeProfile */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("A4AEE29E-6417-4333-9842-F0A66DB69802")
                    IVpnNativeProfile : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Servers( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RoutingPolicyType( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnRoutingPolicyType *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RoutingPolicyType( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnRoutingPolicyType value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NativeProtocolType( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnNativeProtocolType *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NativeProtocolType( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnNativeProtocolType value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UserAuthenticationMethod( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnAuthenticationMethod *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UserAuthenticationMethod( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnAuthenticationMethod value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TunnelAuthenticationMethod( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Vpn::VpnAuthenticationMethod *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TunnelAuthenticationMethod( 
                            /* [in] */ ABI::Windows::Networking::Vpn::VpnAuthenticationMethod value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EapConfiguration( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *Value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EapConfiguration( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnNativeProfile = __uuidof(IVpnNativeProfile);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoutingPolicyType )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RoutingPolicyType )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnRoutingPolicyType value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NativeProtocolType )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnNativeProtocolType *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NativeProtocolType )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnNativeProtocolType value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAuthenticationMethod )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAuthenticationMethod )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TunnelAuthenticationMethod )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TunnelAuthenticationMethod )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CVpn_CVpnAuthenticationMethod value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EapConfiguration )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *Value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EapConfiguration )( 
            __RPC__in __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnNativeProfile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0175 */
/* [local] */ 

#if !defined(____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";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0175 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0175_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0175_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Vpn::IVpnManagementAgent */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Vpn {
                    
                    MIDL_INTERFACE("193696CD-A5C4-4ABE-852B-785BE4CB3E34")
                    IVpnManagementAgent : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE AddProfileFromXmlAsync( 
                            /* [in] */ __RPC__in HSTRING xml,
                            /* [out][retval] */ __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,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE UpdateProfileFromXmlAsync( 
                            /* [in] */ __RPC__in HSTRING xml,
                            /* [out][retval] */ __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,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetProfilesAsync( 
                            /* [out][retval] */ __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,
                            /* [out][retval] */ __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,
                            /* [out][retval] */ __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,
                            /* [out][retval] */ __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,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **operation) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IVpnManagementAgent = __uuidof(IVpnManagementAgent);

                    
                }  /* end namespace */
            }  /* end namespace */
        }  /* end namespace */
    }  /* end namespace */
    extern "C" { 
    
#else 	/* C style interface */

    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 )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
            /* [in] */ __RPC__in HSTRING xml,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **operation);
        
        HRESULT ( STDMETHODCALLTYPE *AddProfileFromObjectAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile *profile,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **operation);
        
        HRESULT ( STDMETHODCALLTYPE *UpdateProfileFromXmlAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
            /* [in] */ __RPC__in HSTRING xml,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **operation);
        
        HRESULT ( STDMETHODCALLTYPE *UpdateProfileFromObjectAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile *profile,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **operation);
        
        HRESULT ( STDMETHODCALLTYPE *GetProfilesAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CVpn__CIVpnProfile **operation);
        
        HRESULT ( STDMETHODCALLTYPE *DeleteProfileAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile *profile,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **operation);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectProfileAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile *profile,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **operation);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectProfileWithPasswordCredentialAsync )( 
            __RPC__in __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,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CNetworking__CVpn__CVpnManagementErrorStatus **operation);
        
        HRESULT ( STDMETHODCALLTYPE *DisconnectProfileAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CVpn_CIVpnProfile *profile,
            /* [out][retval] */ __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 */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CVpn_CIVpnManagementAgent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0176 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Evpn_0000_0176 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0176_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Evpn_0000_0176_v0_0_s_ifspec;

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  HSTRING_UserSize(     __RPC__in unsigned long *, unsigned long            , __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserMarshal(  __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HSTRING * ); 
void                      __RPC_USER  HSTRING_UserFree(     __RPC__in unsigned long *, __RPC__in HSTRING * ); 

unsigned long             __RPC_USER  HSTRING_UserSize64(     __RPC__in unsigned long *, unsigned long            , __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserMarshal64(  __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in HSTRING * ); 
unsigned char * __RPC_USER  HSTRING_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out HSTRING * ); 
void                      __RPC_USER  HSTRING_UserFree64(     __RPC__in unsigned long *, __RPC__in HSTRING * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


