

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


 /* File created by MIDL compiler version 8.01.0622 */
/* @@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 __windows2Enetworking2Esockets_h__
#define __windows2Enetworking2Esockets_h__

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

/* Forward Declarations */ 

#ifndef ____FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
#define ____FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
typedef interface __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation;

#endif 	/* ____FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__ */


#ifndef ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
#define ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
typedef interface __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation;

#endif 	/* ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__ */


#ifndef ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
#define ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
typedef interface __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation;

#endif 	/* ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__ */


#ifndef ____FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
#define ____FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
typedef interface __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation;

#endif 	/* ____FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket;

#endif 	/* ____FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_FWD_DEFINED__ */


#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_FWD_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_FWD_DEFINED__
typedef interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs;

#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IControlChannelTrigger;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2 __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IControlChannelTrigger2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IControlChannelTriggerEventDetails;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IControlChannelTriggerFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IControlChannelTriggerResetEventDetails;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IDatagramSocket;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2 __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IDatagramSocket2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IDatagramSocket3;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IDatagramSocketControl;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2 __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IDatagramSocketControl2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3 __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IDatagramSocketControl3;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IDatagramSocketInformation;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IDatagramSocketMessageReceivedEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IDatagramSocketStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IMessageWebSocket;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2 __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IMessageWebSocket2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IMessageWebSocketControl;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IMessageWebSocketMessageReceivedEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface ISocketActivityContext;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface ISocketActivityContextFactory;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface ISocketActivityInformation;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface ISocketActivityInformationStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface ISocketActivityTriggerDetails;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface ISocketErrorStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocket;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2 __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocket2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocket3;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketControl;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2 __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketControl2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3 __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketControl3;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketInformation;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2 __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketInformation2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketListener;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2 __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketListener2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketListener3;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketListenerConnectionReceivedEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketListenerControl;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketListenerControl2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketListenerInformation;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamSocketStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamWebSocket;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2 __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamWebSocket2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IStreamWebSocketControl;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IWebSocket;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IWebSocketClosedEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IWebSocketControl;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2 __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IWebSocketControl2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IWebSocketErrorStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IWebSocketInformation;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2 __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IWebSocketInformation2;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_FWD_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                interface IWebSocketServerCustomValidationRequestedEventArgs;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_FWD_DEFINED__ */


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

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_windows2Enetworking2Esockets_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 Sockets {
class SocketActivityInformation;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0000 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0000_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4623 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4623 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4623_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4623_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0001 */
/* [local] */ 

#ifndef DEF___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_USE
#define DEF___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("7e4bda2c-0125-587d-8806-1285060f3b2d"))
IKeyValuePair<HSTRING,ABI::Windows::Networking::Sockets::SocketActivityInformation*> : IKeyValuePair_impl<HSTRING,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::SocketActivityInformation*, ABI::Windows::Networking::Sockets::ISocketActivityInformation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IKeyValuePair`2<String, Windows.Networking.Sockets.SocketActivityInformation>"; }
};
typedef IKeyValuePair<HSTRING,ABI::Windows::Networking::Sockets::SocketActivityInformation*> __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_t;
#define ____FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
#define __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation ABI::Windows::Foundation::Collections::__FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0001 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0001_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4624 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4624 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4624_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4624_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0002 */
/* [local] */ 

#ifndef DEF___FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_USE
#define DEF___FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("f656f7a2-264b-5cfd-8288-64eb89455157"))
IIterator<__FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation*> : IIterator_impl<__FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Foundation.Collections.IKeyValuePair`2<String, Windows.Networking.Sockets.SocketActivityInformation>>"; }
};
typedef IIterator<__FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation*> __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_t;
#define ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
#define __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation ABI::Windows::Foundation::Collections::__FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0002 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0002_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4625 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4625 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4625_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4625_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0003 */
/* [local] */ 

#ifndef DEF___FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_USE
#define DEF___FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("3e43fa16-7af1-51df-a0d3-da81b321639d"))
IIterable<__FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation*> : IIterable_impl<__FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Collections.IKeyValuePair`2<String, Windows.Networking.Sockets.SocketActivityInformation>>"; }
};
typedef IIterable<__FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation*> __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_t;
#define ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
#define __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation ABI::Windows::Foundation::Collections::__FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0003 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0003_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4626 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4626 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4626_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4626_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0004 */
/* [local] */ 

#ifndef DEF___FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_USE
#define DEF___FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("e6ac8bee-a31c-5af2-9227-5be2f9e80763"))
IMapView<HSTRING,ABI::Windows::Networking::Sockets::SocketActivityInformation*> : IMapView_impl<HSTRING,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::SocketActivityInformation*, ABI::Windows::Networking::Sockets::ISocketActivityInformation*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IMapView`2<String, Windows.Networking.Sockets.SocketActivityInformation>"; }
};
typedef IMapView<HSTRING,ABI::Windows::Networking::Sockets::SocketActivityInformation*> __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_t;
#define ____FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_FWD_DEFINED__
#define __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation ABI::Windows::Foundation::Collections::__FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class StreamSocket;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0004 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0004_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4627 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4627 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4627_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4627_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0005 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("71b5d99e-3854-5e9a-b4dc-d1b58bf198fc"))
IAsyncOperationCompletedHandler<ABI::Windows::Networking::Sockets::StreamSocket*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::StreamSocket*, ABI::Windows::Networking::Sockets::IStreamSocket*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Networking.Sockets.StreamSocket>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Networking::Sockets::StreamSocket*> __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0005 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0005_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4628 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4628 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4628_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4628_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0006 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_USE
#define DEF___FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("fb3e3d3c-6fe5-5e27-a132-902247e2a93e"))
IAsyncOperation<ABI::Windows::Networking::Sockets::StreamSocket*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::StreamSocket*, ABI::Windows::Networking::Sockets::IStreamSocket*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Networking.Sockets.StreamSocket>"; }
};
typedef IAsyncOperation<ABI::Windows::Networking::Sockets::StreamSocket*> __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_t;
#define ____FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class DatagramSocket;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
interface IDatagramSocket;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class DatagramSocketMessageReceivedEventArgs;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0006 */
/* [local] */ 






extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0006_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4629 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4629 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4629_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4629_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0007 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("4482e19b-2389-5767-9b0b-8d7a8ef55743"))
ITypedEventHandler<ABI::Windows::Networking::Sockets::DatagramSocket*,ABI::Windows::Networking::Sockets::DatagramSocketMessageReceivedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::DatagramSocket*, ABI::Windows::Networking::Sockets::IDatagramSocket*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::DatagramSocketMessageReceivedEventArgs*, ABI::Windows::Networking::Sockets::IDatagramSocketMessageReceivedEventArgs*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Networking.Sockets.DatagramSocket, Windows.Networking.Sockets.DatagramSocketMessageReceivedEventArgs>"; }
};
typedef ITypedEventHandler<ABI::Windows::Networking::Sockets::DatagramSocket*,ABI::Windows::Networking::Sockets::DatagramSocketMessageReceivedEventArgs*> __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_t;
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_t

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

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
interface IWebSocket;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class WebSocketClosedEventArgs;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0007 */
/* [local] */ 






extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0007_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4630 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4630 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4630_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4630_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0008 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("03cf8f90-1669-5f4d-9404-2b784678e6dd"))
ITypedEventHandler<ABI::Windows::Networking::Sockets::IWebSocket*,ABI::Windows::Networking::Sockets::WebSocketClosedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Networking::Sockets::IWebSocket*,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::WebSocketClosedEventArgs*, ABI::Windows::Networking::Sockets::IWebSocketClosedEventArgs*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Networking.Sockets.IWebSocket, Windows.Networking.Sockets.WebSocketClosedEventArgs>"; }
};
typedef ITypedEventHandler<ABI::Windows::Networking::Sockets::IWebSocket*,ABI::Windows::Networking::Sockets::WebSocketClosedEventArgs*> __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_t;
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class MessageWebSocket;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
interface IMessageWebSocket;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class MessageWebSocketMessageReceivedEventArgs;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0008 */
/* [local] */ 






extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0008_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4631 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4631 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4631_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4631_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0009 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("de980538-6dcd-52b0-802f-4b6cf59a01ab"))
ITypedEventHandler<ABI::Windows::Networking::Sockets::MessageWebSocket*,ABI::Windows::Networking::Sockets::MessageWebSocketMessageReceivedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::MessageWebSocket*, ABI::Windows::Networking::Sockets::IMessageWebSocket*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::MessageWebSocketMessageReceivedEventArgs*, ABI::Windows::Networking::Sockets::IMessageWebSocketMessageReceivedEventArgs*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Networking.Sockets.MessageWebSocket, Windows.Networking.Sockets.MessageWebSocketMessageReceivedEventArgs>"; }
};
typedef ITypedEventHandler<ABI::Windows::Networking::Sockets::MessageWebSocket*,ABI::Windows::Networking::Sockets::MessageWebSocketMessageReceivedEventArgs*> __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_t;
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class WebSocketServerCustomValidationRequestedEventArgs;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0009 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0009_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4632 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4632 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4632_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4632_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0010 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("2c34c585-9cf6-56c7-8dd1-5da26e322078"))
ITypedEventHandler<ABI::Windows::Networking::Sockets::MessageWebSocket*,ABI::Windows::Networking::Sockets::WebSocketServerCustomValidationRequestedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::MessageWebSocket*, ABI::Windows::Networking::Sockets::IMessageWebSocket*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::WebSocketServerCustomValidationRequestedEventArgs*, ABI::Windows::Networking::Sockets::IWebSocketServerCustomValidationRequestedEventArgs*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Networking.Sockets.MessageWebSocket, Windows.Networking.Sockets.WebSocketServerCustomValidationRequestedEventArgs>"; }
};
typedef ITypedEventHandler<ABI::Windows::Networking::Sockets::MessageWebSocket*,ABI::Windows::Networking::Sockets::WebSocketServerCustomValidationRequestedEventArgs*> __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_t;
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class StreamSocketListener;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
interface IStreamSocketListener;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class StreamSocketListenerConnectionReceivedEventArgs;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0010 */
/* [local] */ 






extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0010_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4633 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4633 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4633_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4633_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0011 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("33d00d41-c94f-5a61-9ab7-280dcefa0b08"))
ITypedEventHandler<ABI::Windows::Networking::Sockets::StreamSocketListener*,ABI::Windows::Networking::Sockets::StreamSocketListenerConnectionReceivedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::StreamSocketListener*, ABI::Windows::Networking::Sockets::IStreamSocketListener*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::StreamSocketListenerConnectionReceivedEventArgs*, ABI::Windows::Networking::Sockets::IStreamSocketListenerConnectionReceivedEventArgs*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Networking.Sockets.StreamSocketListener, Windows.Networking.Sockets.StreamSocketListenerConnectionReceivedEventArgs>"; }
};
typedef ITypedEventHandler<ABI::Windows::Networking::Sockets::StreamSocketListener*,ABI::Windows::Networking::Sockets::StreamSocketListenerConnectionReceivedEventArgs*> __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_t;
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class StreamWebSocket;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0011 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0011_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4634 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4634 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4634_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4634_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0012 */
/* [local] */ 

#ifndef DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_USE
#define DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("18b143d3-897e-595e-acc1-ef35614b4cec"))
ITypedEventHandler<ABI::Windows::Networking::Sockets::StreamWebSocket*,ABI::Windows::Networking::Sockets::WebSocketServerCustomValidationRequestedEventArgs*> : ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::StreamWebSocket*, ABI::Windows::Networking::Sockets::IStreamWebSocket*>,ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::Sockets::WebSocketServerCustomValidationRequestedEventArgs*, ABI::Windows::Networking::Sockets::IWebSocketServerCustomValidationRequestedEventArgs*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.TypedEventHandler`2<Windows.Networking.Sockets.StreamWebSocket, Windows.Networking.Sockets.WebSocketServerCustomValidationRequestedEventArgs>"; }
};
typedef ITypedEventHandler<ABI::Windows::Networking::Sockets::StreamWebSocket*,ABI::Windows::Networking::Sockets::WebSocketServerCustomValidationRequestedEventArgs*> __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_t;
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_FWD_DEFINED__
#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs ABI::Windows::Foundation::__FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_t

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

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Storage {
namespace Streams {
interface IOutputStream;
} /*Streams*/
} /*Storage*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0012 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0012_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4635 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4635 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4635_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4635_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0013 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIOutputStream_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIOutputStream_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("bcb37f4f-3af4-561c-a9e3-eef1738494d7"))
IAsyncOperationCompletedHandler<ABI::Windows::Storage::Streams::IOutputStream*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Storage::Streams::IOutputStream*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Storage.Streams.IOutputStream>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Storage::Streams::IOutputStream*> __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIOutputStream_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIOutputStream_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIOutputStream ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CStorage__CStreams__CIOutputStream_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0013 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0013_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4636 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4636 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4636_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4636_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0014 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CStorage__CStreams__CIOutputStream_USE
#define DEF___FIAsyncOperation_1_Windows__CStorage__CStreams__CIOutputStream_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("e8736833-d013-5361-977d-c5e99934680e"))
IAsyncOperation<ABI::Windows::Storage::Streams::IOutputStream*> : IAsyncOperation_impl<ABI::Windows::Storage::Streams::IOutputStream*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Storage.Streams.IOutputStream>"; }
};
typedef IAsyncOperation<ABI::Windows::Storage::Streams::IOutputStream*> __FIAsyncOperation_1_Windows__CStorage__CStreams__CIOutputStream_t;
#define ____FIAsyncOperation_1_Windows__CStorage__CStreams__CIOutputStream_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CStorage__CStreams__CIOutputStream ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CStorage__CStreams__CIOutputStream_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CStorage__CStreams__CIOutputStream_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
class EndpointPair;
} /*Networking*/
} /*Windows*/
}
#endif

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0014 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0014_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4637 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4637 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4637_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4637_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0015 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CNetworking__CEndpointPair_USE
#define DEF___FIIterator_1_Windows__CNetworking__CEndpointPair_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("c899ff9f-e6f5-5673-810c-04e2ff98704f"))
IIterator<ABI::Windows::Networking::EndpointPair*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::EndpointPair*, ABI::Windows::Networking::IEndpointPair*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Networking.EndpointPair>"; }
};
typedef IIterator<ABI::Windows::Networking::EndpointPair*> __FIIterator_1_Windows__CNetworking__CEndpointPair_t;
#define ____FIIterator_1_Windows__CNetworking__CEndpointPair_FWD_DEFINED__
#define __FIIterator_1_Windows__CNetworking__CEndpointPair ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CNetworking__CEndpointPair_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0015 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0015_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4638 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4638 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4638_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4638_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0016 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CNetworking__CEndpointPair_USE
#define DEF___FIIterable_1_Windows__CNetworking__CEndpointPair_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("d7ec83c4-a17b-51bf-8997-aa33b9102dc9"))
IIterable<ABI::Windows::Networking::EndpointPair*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::EndpointPair*, ABI::Windows::Networking::IEndpointPair*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Networking.EndpointPair>"; }
};
typedef IIterable<ABI::Windows::Networking::EndpointPair*> __FIIterable_1_Windows__CNetworking__CEndpointPair_t;
#define ____FIIterable_1_Windows__CNetworking__CEndpointPair_FWD_DEFINED__
#define __FIIterable_1_Windows__CNetworking__CEndpointPair ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CNetworking__CEndpointPair_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0016 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0016_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4639 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4639 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4639_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4639_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0017 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CNetworking__CEndpointPair_USE
#define DEF___FIVectorView_1_Windows__CNetworking__CEndpointPair_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("8780a851-6d48-5006-9288-81f3d7045a96"))
IVectorView<ABI::Windows::Networking::EndpointPair*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Networking::EndpointPair*, ABI::Windows::Networking::IEndpointPair*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Networking.EndpointPair>"; }
};
typedef IVectorView<ABI::Windows::Networking::EndpointPair*> __FIVectorView_1_Windows__CNetworking__CEndpointPair_t;
#define ____FIVectorView_1_Windows__CNetworking__CEndpointPair_FWD_DEFINED__
#define __FIVectorView_1_Windows__CNetworking__CEndpointPair ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CNetworking__CEndpointPair_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0017 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0017_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0017_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4640 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4640 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4640_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4640_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0018 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CEndpointPair_USE
#define DEF___FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CEndpointPair_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("20d6faab-3b8e-5a1f-8397-b01cb219a18d"))
IAsyncOperationCompletedHandler<__FIVectorView_1_Windows__CNetworking__CEndpointPair*> : IAsyncOperationCompletedHandler_impl<__FIVectorView_1_Windows__CNetworking__CEndpointPair*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Foundation.Collections.IVectorView`1<Windows.Networking.EndpointPair>>"; }
};
typedef IAsyncOperationCompletedHandler<__FIVectorView_1_Windows__CNetworking__CEndpointPair*> __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CEndpointPair_t;
#define ____FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CEndpointPair_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CEndpointPair ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1___FIVectorView_1_Windows__CNetworking__CEndpointPair_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0018 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0018_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0018_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4641 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4641 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4641_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4641_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0019 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair_USE
#define DEF___FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("afc2ff8e-e393-566a-89c4-d043e940050d"))
IAsyncOperation<__FIVectorView_1_Windows__CNetworking__CEndpointPair*> : IAsyncOperation_impl<__FIVectorView_1_Windows__CNetworking__CEndpointPair*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Foundation.Collections.IVectorView`1<Windows.Networking.EndpointPair>>"; }
};
typedef IAsyncOperation<__FIVectorView_1_Windows__CNetworking__CEndpointPair*> __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair_t;
#define ____FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair_FWD_DEFINED__
#define __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair ABI::Windows::Foundation::__FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair_t

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

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Security {
namespace Cryptography {
namespace Certificates {
enum ChainValidationResult;
} /*Certificates*/
} /*Cryptography*/
} /*Security*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0019 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0019_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0019_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4642 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4642 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4642_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4642_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0020 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_USE
#define DEF___FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("8bcad2b7-0e3b-5eae-bf69-e1f6d9c888f8"))
IIterator<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> : IIterator_impl<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Security.Cryptography.Certificates.ChainValidationResult>"; }
};
typedef IIterator<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> __FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_t;
#define ____FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_FWD_DEFINED__
#define __FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0020 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0020_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0020_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4643 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4643 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4643_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4643_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0021 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_USE
#define DEF___FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("2628f58f-3f02-54f2-808f-e1117709d6d0"))
IIterable<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> : IIterable_impl<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Security.Cryptography.Certificates.ChainValidationResult>"; }
};
typedef IIterable<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> __FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_t;
#define ____FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_FWD_DEFINED__
#define __FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0021 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0021_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0021_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4644 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4644 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4644_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4644_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0022 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_USE
#define DEF___FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("cb383486-c2bc-5756-912d-6a708a07e5bd"))
IVectorView<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> : IVectorView_impl<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Security.Cryptography.Certificates.ChainValidationResult>"; }
};
typedef IVectorView<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_t;
#define ____FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_FWD_DEFINED__
#define __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0022 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0022_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4645 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4645 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4645_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4645_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0023 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_USE
#define DEF___FIVector_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("d7828cf7-4301-58d3-aab5-06e5eefcf79f"))
IVector<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> : IVector_impl<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVector`1<Windows.Security.Cryptography.Certificates.ChainValidationResult>"; }
};
typedef IVector<enum ABI::Windows::Security::Cryptography::Certificates::ChainValidationResult> __FIVector_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_t;
#define ____FIVector_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_FWD_DEFINED__
#define __FIVector_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult_USE */
#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 Security {
namespace Cryptography {
namespace Certificates {
interface ICertificate;
} /*Certificates*/
} /*Cryptography*/
} /*Security*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0023 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0023_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4646 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4646 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4646_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4646_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0024 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_USE
#define DEF___FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("676fc159-f15c-58bd-91a7-28f7e795c756"))
IIterator<ABI::Windows::Security::Cryptography::Certificates::Certificate*> : IIterator_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Security::Cryptography::Certificates::Certificate*, ABI::Windows::Security::Cryptography::Certificates::ICertificate*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Security.Cryptography.Certificates.Certificate>"; }
};
typedef IIterator<ABI::Windows::Security::Cryptography::Certificates::Certificate*> __FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_t;
#define ____FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_FWD_DEFINED__
#define __FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0024 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0024_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4647 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4647 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4647_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4647_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0025 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_USE
#define DEF___FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("0c7d1423-e8fd-5a91-b55c-8bfbe7ac2d40"))
IIterable<ABI::Windows::Security::Cryptography::Certificates::Certificate*> : IIterable_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Security::Cryptography::Certificates::Certificate*, ABI::Windows::Security::Cryptography::Certificates::ICertificate*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Security.Cryptography.Certificates.Certificate>"; }
};
typedef IIterable<ABI::Windows::Security::Cryptography::Certificates::Certificate*> __FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_t;
#define ____FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_FWD_DEFINED__
#define __FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0025 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0025_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0025_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4648 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4648 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4648_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4648_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0026 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_USE
#define DEF___FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("963f7013-77c2-51c5-8038-b5bcef633edb"))
IVectorView<ABI::Windows::Security::Cryptography::Certificates::Certificate*> : IVectorView_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Security::Cryptography::Certificates::Certificate*, ABI::Windows::Security::Cryptography::Certificates::ICertificate*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Security.Cryptography.Certificates.Certificate>"; }
};
typedef IVectorView<ABI::Windows::Security::Cryptography::Certificates::Certificate*> __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_t;
#define ____FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_FWD_DEFINED__
#define __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate_t

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0026 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0026_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0026_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4649 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4649 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4649_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4649_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0027 */
/* [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_windows2Enetworking2Esockets_0000_0027 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0027_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0027_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4650 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4650 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4650_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4650_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0028 */
/* [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_windows2Enetworking2Esockets_0000_0028 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0028_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0028_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4651 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4651 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4651_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4651_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0029 */
/* [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 */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0029 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0029_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0029_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4652 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4652 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4652_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4652_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0030 */
/* [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 */
#if defined(__cplusplus)
}
#endif // defined(__cplusplus)
#include <Windows.Foundation.h>
#if !defined(__windows2Eapplicationmodel2Ebackground_h__)
#include <Windows.ApplicationModel.Background.h>
#endif // !defined(__windows2Eapplicationmodel2Ebackground_h__)
#if !defined(__windows2Enetworking_h__)
#include <Windows.Networking.h>
#endif // !defined(__windows2Enetworking_h__)
#if !defined(__windows2Enetworking2Econnectivity_h__)
#include <Windows.Networking.Connectivity.h>
#endif // !defined(__windows2Enetworking2Econnectivity_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(__windows2Eweb_h__)
#include <Windows.Web.h>
#endif // !defined(__windows2Eweb_h__)
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)


#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Foundation {
class Deferral;
} /*Foundation*/
} /*Windows*/
}
#endif



#if !defined(__cplusplus)
typedef struct __x_ABI_CWindows_CFoundation_CTimeSpan __x_ABI_CWindows_CFoundation_CTimeSpan;

#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Foundation {
class Uri;
} /*Foundation*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Connectivity {
class NetworkAdapter;
} /*Connectivity*/
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
class HostName;
} /*Networking*/
} /*Windows*/
}
#endif

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

typedef enum __x_ABI_CWindows_CNetworking_CHostNameSortOptions __x_ABI_CWindows_CNetworking_CHostNameSortOptions;


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


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

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

typedef enum __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CChainValidationResult;


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


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



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

typedef enum __x_ABI_CWindows_CWeb_CWebErrorStatus __x_ABI_CWindows_CWeb_CWebErrorStatus;


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


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

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerResetReason __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerResetReason;


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


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

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerResourceType __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerResourceType;


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


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

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerStatus __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerStatus;


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


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

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityConnectedStandbyAction __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityConnectedStandbyAction;


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


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

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityKind __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityKind;


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


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

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityTriggerReason __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityTriggerReason;


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


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

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CSocketErrorStatus __x_ABI_CWindows_CNetworking_CSockets_CSocketErrorStatus;


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


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

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CSocketMessageType __x_ABI_CWindows_CNetworking_CSockets_CSocketMessageType;


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


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

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CSocketProtectionLevel __x_ABI_CWindows_CNetworking_CSockets_CSocketProtectionLevel;


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


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

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CSocketQualityOfService __x_ABI_CWindows_CNetworking_CSockets_CSocketQualityOfService;


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


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

typedef enum __x_ABI_CWindows_CNetworking_CSockets_CSocketSslErrorSeverity __x_ABI_CWindows_CNetworking_CSockets_CSocketSslErrorSeverity;


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


#endif
#if !defined(__cplusplus)
typedef struct __x_ABI_CWindows_CNetworking_CSockets_CBandwidthStatistics __x_ABI_CWindows_CNetworking_CSockets_CBandwidthStatistics;

#endif
#if !defined(__cplusplus)
typedef struct __x_ABI_CWindows_CNetworking_CSockets_CRoundTripTimeStatistics __x_ABI_CWindows_CNetworking_CSockets_CRoundTripTimeStatistics;

#endif







































#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class ControlChannelTrigger;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class DatagramSocketControl;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class DatagramSocketInformation;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class MessageWebSocketControl;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class MessageWebSocketInformation;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class SocketActivityContext;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class SocketActivityTriggerDetails;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class StreamSocketControl;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class StreamSocketInformation;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class StreamSocketListenerControl;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class StreamSocketListenerInformation;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class StreamWebSocketControl;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class StreamWebSocketInformation;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
namespace Sockets {
class WebSocketKeepAlive;
} /*Sockets*/
} /*Networking*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0030 */
/* [local] */ 







#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Foundation {
            
            typedef struct TimeSpan TimeSpan;
            
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif




#ifdef __cplusplus

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

extern "C" { 
#endif


#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Security {
            namespace Cryptography {
                namespace Certificates {
                    
                    typedef enum ChainValidationResult ChainValidationResult;
                    
                } /* end namespace */
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif




#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Web {
            
            typedef enum WebErrorStatus WebErrorStatus;
            
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum ControlChannelTriggerResetReason ControlChannelTriggerResetReason;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum ControlChannelTriggerResourceType ControlChannelTriggerResourceType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum ControlChannelTriggerStatus ControlChannelTriggerStatus;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum SocketActivityConnectedStandbyAction SocketActivityConnectedStandbyAction;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum SocketActivityKind SocketActivityKind;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum SocketActivityTriggerReason SocketActivityTriggerReason;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum SocketErrorStatus SocketErrorStatus;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum SocketMessageType SocketMessageType;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum SocketProtectionLevel SocketProtectionLevel;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum SocketQualityOfService SocketQualityOfService;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef enum SocketSslErrorSeverity SocketSslErrorSeverity;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef struct BandwidthStatistics BandwidthStatistics;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                typedef struct RoundTripTimeStatistics RoundTripTimeStatistics;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif










































extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0030_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0030_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4653 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4653 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4653_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4653_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0031 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0031 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0031_v0_0_s_ifspec;

#ifndef ____FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__
#define ____FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7e4bda2c-0125-587d-8806-1285060f3b2d")
    __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Key( 
            /* [retval][out] */ __RPC__deref_out_opt HSTRING *key) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::ISocketActivityInformation **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * 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 __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Key )( 
            __RPC__in __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [retval][out] */ __RPC__deref_out_opt HSTRING *key);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            __RPC__in __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation **value);
        
        END_INTERFACE
    } __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl;

    interface __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation
    {
        CONST_VTBL struct __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_get_Key(This,key)	\
    ( (This)->lpVtbl -> get_Key(This,key) ) 

#define __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_get_Value(This,value)	\
    ( (This)->lpVtbl -> get_Value(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0032 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0032 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0032_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0032_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4654 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4654 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4654_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4654_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0033 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0033 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0033_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0033_v0_0_s_ifspec;

#ifndef ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__
#define ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f656f7a2-264b-5cfd-8288-64eb89455157")
    __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **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) __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * 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___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )( 
            __RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **current);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            __RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            __RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl;

    interface __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation
    {
        CONST_VTBL struct __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0034 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0034 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0034_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0034_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4655 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4655 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4655_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4655_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0035 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0035 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0035_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0035_v0_0_s_ifspec;

#ifndef ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__
#define ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3e43fa16-7af1-51df-a0d3-da81b321639d")
    __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * 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___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **first);
        
        END_INTERFACE
    } __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl;

    interface __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation
    {
        CONST_VTBL struct __FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0036 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1___FIKeyValuePair_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0036 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0036_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0036_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4656 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4656 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4656_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4656_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0037 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0037 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0037_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0037_v0_0_s_ifspec;

#ifndef ____FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__
#define ____FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e6ac8bee-a31c-5af2-9227-5be2f9e80763")
    __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Lookup( 
            /* [in] */ __RPC__in HSTRING key,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::ISocketActivityInformation **value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HasKey( 
            /* [in] */ __RPC__in HSTRING key,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Split( 
            /* [out] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **firstPartition,
            /* [out] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **secondPartition) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * 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 __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *Lookup )( 
            __RPC__in __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [in] */ __RPC__in HSTRING key,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *HasKey )( 
            __RPC__in __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [in] */ __RPC__in HSTRING key,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *Split )( 
            __RPC__in __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation * This,
            /* [out] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **firstPartition,
            /* [out] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **secondPartition);
        
        END_INTERFACE
    } __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl;

    interface __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation
    {
        CONST_VTBL struct __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_Lookup(This,key,value)	\
    ( (This)->lpVtbl -> Lookup(This,key,value) ) 

#define __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_get_Size(This,size)	\
    ( (This)->lpVtbl -> get_Size(This,size) ) 

#define __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_HasKey(This,key,found)	\
    ( (This)->lpVtbl -> HasKey(This,key,found) ) 

#define __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_Split(This,firstPartition,secondPartition)	\
    ( (This)->lpVtbl -> Split(This,firstPartition,secondPartition) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0038 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0038 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0038_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0038_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4657 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4657 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4657_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4657_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0039 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0039 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0039_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0039_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("71b5d99e-3854-5e9a-b4dc-d1b58bf198fc")
    __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocketVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket * This,
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket *asyncInfo,
            /* [in] */ AsyncStatus status);
        
        END_INTERFACE
    } __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocketVtbl;

    interface __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocketVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_Invoke(This,asyncInfo,status)	\
    ( (This)->lpVtbl -> Invoke(This,asyncInfo,status) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0040 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0040 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0040_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0040_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4658 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4658 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4658_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4658_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0041 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0041 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0041_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0041_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("fb3e3d3c-6fe5-5e27-a132-902247e2a93e")
    __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IStreamSocket **results) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocketVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket * 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__CSockets__CStreamSocket * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Completed )( 
            __RPC__in __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket * This,
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket *handler);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )( 
            __RPC__in __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CNetworking__CSockets__CStreamSocket **handler);
        
        HRESULT ( STDMETHODCALLTYPE *GetResults )( 
            __RPC__in __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket **results);
        
        END_INTERFACE
    } __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocketVtbl;

    interface __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocketVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_put_Completed(This,handler)	\
    ( (This)->lpVtbl -> put_Completed(This,handler) ) 

#define __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_get_Completed(This,handler)	\
    ( (This)->lpVtbl -> get_Completed(This,handler) ) 

#define __FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_GetResults(This,results)	\
    ( (This)->lpVtbl -> GetResults(This,results) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0042 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CNetworking__CSockets__CStreamSocket */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0042 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0042_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0042_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4659 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4659 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4659_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4659_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0043 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0043 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0043_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0043_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4482e19b-2389-5767-9b0b-8d7a8ef55743")
    __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IDatagramSocket *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IDatagramSocketMessageReceivedEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket *sender,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs *e);
        
        END_INTERFACE
    } __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgsVtbl;

    interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0044 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0044 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0044_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0044_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4660 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4660 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4660_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4660_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0045 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0045 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0045_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0045_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("03cf8f90-1669-5f4d-9404-2b784678e6dd")
    __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IWebSocket *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IWebSocketClosedEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket *sender,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs *e);
        
        END_INTERFACE
    } __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgsVtbl;

    interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0046 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0046 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0046_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0046_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4661 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4661 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4661_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4661_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0047 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0047 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0047_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0047_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("de980538-6dcd-52b0-802f-4b6cf59a01ab")
    __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IMessageWebSocket *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IMessageWebSocketMessageReceivedEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket *sender,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs *e);
        
        END_INTERFACE
    } __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgsVtbl;

    interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0048 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0048 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0048_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0048_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4662 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4662 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4662_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4662_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0049 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0049 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0049_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0049_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2c34c585-9cf6-56c7-8dd1-5da26e322078")
    __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IMessageWebSocket *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IWebSocketServerCustomValidationRequestedEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket *sender,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs *e);
        
        END_INTERFACE
    } __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgsVtbl;

    interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0050 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0050 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0050_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0050_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4663 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4663 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4663_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4663_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0051 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0051 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0051_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0051_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("33d00d41-c94f-5a61-9ab7-280dcefa0b08")
    __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IStreamSocketListener *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IStreamSocketListenerConnectionReceivedEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener *sender,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs *e);
        
        END_INTERFACE
    } __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgsVtbl;

    interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0052 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0052 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0052_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0052_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4664 */




/* interface __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4664 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4664_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets2Eidl_0000_4664_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0053 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0053 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0053_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0053_v0_0_s_ifspec;

#ifndef ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__
#define ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("18b143d3-897e-595e-acc1-ef35614b4cec")
    __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IStreamWebSocket *sender,
            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::IWebSocketServerCustomValidationRequestedEventArgs *e) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket *sender,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs *e);
        
        END_INTERFACE
    } __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgsVtbl;

    interface __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs
    {
        CONST_VTBL struct __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_Invoke(This,sender,e)	\
    ( (This)->lpVtbl -> Invoke(This,sender,e) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0054 */
/* [local] */ 

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

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerResetReason
    {
        ControlChannelTriggerResetReason_FastUserSwitched	= 0,
        ControlChannelTriggerResetReason_LowPowerExit	= 1,
        ControlChannelTriggerResetReason_QuietHoursExit	= 2,
        ControlChannelTriggerResetReason_ApplicationRestart	= 3
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerResourceType
    {
        ControlChannelTriggerResourceType_RequestSoftwareSlot	= 0,
        ControlChannelTriggerResourceType_RequestHardwareSlot	= 1
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerStatus
    {
        ControlChannelTriggerStatus_HardwareSlotRequested	= 0,
        ControlChannelTriggerStatus_SoftwareSlotAllocated	= 1,
        ControlChannelTriggerStatus_HardwareSlotAllocated	= 2,
        ControlChannelTriggerStatus_PolicyError	= 3,
        ControlChannelTriggerStatus_SystemError	= 4,
        ControlChannelTriggerStatus_TransportDisconnected	= 5,
        ControlChannelTriggerStatus_ServiceUnavailable	= 6
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityConnectedStandbyAction
    {
        SocketActivityConnectedStandbyAction_DoNotWake	= 0,
        SocketActivityConnectedStandbyAction_Wake	= 1
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityKind
    {
        SocketActivityKind_None	= 0,
        SocketActivityKind_StreamSocketListener	= 1,
        SocketActivityKind_DatagramSocket	= 2,
        SocketActivityKind_StreamSocket	= 3
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityTriggerReason
    {
        SocketActivityTriggerReason_None	= 0,
        SocketActivityTriggerReason_SocketActivity	= 1,
        SocketActivityTriggerReason_ConnectionAccepted	= 2,
        SocketActivityTriggerReason_KeepAliveTimerExpired	= 3,
        SocketActivityTriggerReason_SocketClosed	= 4
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CSockets_CSocketErrorStatus
    {
        SocketErrorStatus_Unknown	= 0,
        SocketErrorStatus_OperationAborted	= 1,
        SocketErrorStatus_HttpInvalidServerResponse	= 2,
        SocketErrorStatus_ConnectionTimedOut	= 3,
        SocketErrorStatus_AddressFamilyNotSupported	= 4,
        SocketErrorStatus_SocketTypeNotSupported	= 5,
        SocketErrorStatus_HostNotFound	= 6,
        SocketErrorStatus_NoDataRecordOfRequestedType	= 7,
        SocketErrorStatus_NonAuthoritativeHostNotFound	= 8,
        SocketErrorStatus_ClassTypeNotFound	= 9,
        SocketErrorStatus_AddressAlreadyInUse	= 10,
        SocketErrorStatus_CannotAssignRequestedAddress	= 11,
        SocketErrorStatus_ConnectionRefused	= 12,
        SocketErrorStatus_NetworkIsUnreachable	= 13,
        SocketErrorStatus_UnreachableHost	= 14,
        SocketErrorStatus_NetworkIsDown	= 15,
        SocketErrorStatus_NetworkDroppedConnectionOnReset	= 16,
        SocketErrorStatus_SoftwareCausedConnectionAbort	= 17,
        SocketErrorStatus_ConnectionResetByPeer	= 18,
        SocketErrorStatus_HostIsDown	= 19,
        SocketErrorStatus_NoAddressesFound	= 20,
        SocketErrorStatus_TooManyOpenFiles	= 21,
        SocketErrorStatus_MessageTooLong	= 22,
        SocketErrorStatus_CertificateExpired	= 23,
        SocketErrorStatus_CertificateUntrustedRoot	= 24,
        SocketErrorStatus_CertificateCommonNameIsIncorrect	= 25,
        SocketErrorStatus_CertificateWrongUsage	= 26,
        SocketErrorStatus_CertificateRevoked	= 27,
        SocketErrorStatus_CertificateNoRevocationCheck	= 28,
        SocketErrorStatus_CertificateRevocationServerOffline	= 29,
        SocketErrorStatus_CertificateIsInvalid	= 30
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CSockets_CSocketMessageType
    {
        SocketMessageType_Binary	= 0,
        SocketMessageType_Utf8	= 1
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CSockets_CSocketProtectionLevel
    {
        SocketProtectionLevel_PlainSocket	= 0,
        SocketProtectionLevel_Ssl	= 1,
        SocketProtectionLevel_SslAllowNullEncryption	= 2,
        SocketProtectionLevel_BluetoothEncryptionAllowNullAuthentication	= 3,
        SocketProtectionLevel_BluetoothEncryptionWithAuthentication	= 4,
        SocketProtectionLevel_Ssl3AllowWeakEncryption	= 5,
        SocketProtectionLevel_Tls10	= 6,
        SocketProtectionLevel_Tls11	= 7,
        SocketProtectionLevel_Tls12	= 8
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CSockets_CSocketQualityOfService
    {
        SocketQualityOfService_Normal	= 0,
        SocketQualityOfService_LowLatency	= 1
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)

#if !defined(__cplusplus)
/* [v1_enum] */ 
enum __x_ABI_CWindows_CNetworking_CSockets_CSocketSslErrorSeverity
    {
        SocketSslErrorSeverity_None	= 0,
        SocketSslErrorSeverity_Ignorable	= 1,
        SocketSslErrorSeverity_Fatal	= 2
    } ;
#endif /* end if !defined(__cplusplus) */

#endif
#if !defined(__cplusplus)
struct __x_ABI_CWindows_CNetworking_CSockets_CBandwidthStatistics
    {
    UINT64 OutboundBitsPerSecond;
    UINT64 InboundBitsPerSecond;
    UINT64 OutboundBitsPerSecondInstability;
    UINT64 InboundBitsPerSecondInstability;
    boolean OutboundBandwidthPeaked;
    boolean InboundBandwidthPeaked;
    } ;
#endif
#if !defined(__cplusplus)
struct __x_ABI_CWindows_CNetworking_CSockets_CRoundTripTimeStatistics
    {
    UINT32 Variance;
    UINT32 Max;
    UINT32 Min;
    UINT32 Sum;
    } ;
#endif
#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IControlChannelTrigger[] = L"Windows.Networking.Sockets.IControlChannelTrigger";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0054 */
/* [local] */ 

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                /* [v1_enum] */ 
                enum ControlChannelTriggerResetReason
                    {
                        ControlChannelTriggerResetReason_FastUserSwitched	= 0,
                        ControlChannelTriggerResetReason_LowPowerExit	= 1,
                        ControlChannelTriggerResetReason_QuietHoursExit	= 2,
                        ControlChannelTriggerResetReason_ApplicationRestart	= 3
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                /* [v1_enum] */ 
                enum ControlChannelTriggerResourceType
                    {
                        ControlChannelTriggerResourceType_RequestSoftwareSlot	= 0,
                        ControlChannelTriggerResourceType_RequestHardwareSlot	= 1
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                /* [v1_enum] */ 
                enum ControlChannelTriggerStatus
                    {
                        ControlChannelTriggerStatus_HardwareSlotRequested	= 0,
                        ControlChannelTriggerStatus_SoftwareSlotAllocated	= 1,
                        ControlChannelTriggerStatus_HardwareSlotAllocated	= 2,
                        ControlChannelTriggerStatus_PolicyError	= 3,
                        ControlChannelTriggerStatus_SystemError	= 4,
                        ControlChannelTriggerStatus_TransportDisconnected	= 5,
                        ControlChannelTriggerStatus_ServiceUnavailable	= 6
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                /* [v1_enum] */ 
                enum SocketActivityConnectedStandbyAction
                    {
                        SocketActivityConnectedStandbyAction_DoNotWake	= 0,
                        SocketActivityConnectedStandbyAction_Wake	= 1
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                /* [v1_enum] */ 
                enum SocketActivityKind
                    {
                        SocketActivityKind_None	= 0,
                        SocketActivityKind_StreamSocketListener	= 1,
                        SocketActivityKind_DatagramSocket	= 2,
                        SocketActivityKind_StreamSocket	= 3
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                /* [v1_enum] */ 
                enum SocketActivityTriggerReason
                    {
                        SocketActivityTriggerReason_None	= 0,
                        SocketActivityTriggerReason_SocketActivity	= 1,
                        SocketActivityTriggerReason_ConnectionAccepted	= 2,
                        SocketActivityTriggerReason_KeepAliveTimerExpired	= 3,
                        SocketActivityTriggerReason_SocketClosed	= 4
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                /* [v1_enum] */ 
                enum SocketErrorStatus
                    {
                        SocketErrorStatus_Unknown	= 0,
                        SocketErrorStatus_OperationAborted	= 1,
                        SocketErrorStatus_HttpInvalidServerResponse	= 2,
                        SocketErrorStatus_ConnectionTimedOut	= 3,
                        SocketErrorStatus_AddressFamilyNotSupported	= 4,
                        SocketErrorStatus_SocketTypeNotSupported	= 5,
                        SocketErrorStatus_HostNotFound	= 6,
                        SocketErrorStatus_NoDataRecordOfRequestedType	= 7,
                        SocketErrorStatus_NonAuthoritativeHostNotFound	= 8,
                        SocketErrorStatus_ClassTypeNotFound	= 9,
                        SocketErrorStatus_AddressAlreadyInUse	= 10,
                        SocketErrorStatus_CannotAssignRequestedAddress	= 11,
                        SocketErrorStatus_ConnectionRefused	= 12,
                        SocketErrorStatus_NetworkIsUnreachable	= 13,
                        SocketErrorStatus_UnreachableHost	= 14,
                        SocketErrorStatus_NetworkIsDown	= 15,
                        SocketErrorStatus_NetworkDroppedConnectionOnReset	= 16,
                        SocketErrorStatus_SoftwareCausedConnectionAbort	= 17,
                        SocketErrorStatus_ConnectionResetByPeer	= 18,
                        SocketErrorStatus_HostIsDown	= 19,
                        SocketErrorStatus_NoAddressesFound	= 20,
                        SocketErrorStatus_TooManyOpenFiles	= 21,
                        SocketErrorStatus_MessageTooLong	= 22,
                        SocketErrorStatus_CertificateExpired	= 23,
                        SocketErrorStatus_CertificateUntrustedRoot	= 24,
                        SocketErrorStatus_CertificateCommonNameIsIncorrect	= 25,
                        SocketErrorStatus_CertificateWrongUsage	= 26,
                        SocketErrorStatus_CertificateRevoked	= 27,
                        SocketErrorStatus_CertificateNoRevocationCheck	= 28,
                        SocketErrorStatus_CertificateRevocationServerOffline	= 29,
                        SocketErrorStatus_CertificateIsInvalid	= 30
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                /* [v1_enum] */ 
                enum SocketMessageType
                    {
                        SocketMessageType_Binary	= 0,
                        SocketMessageType_Utf8	= 1
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                /* [v1_enum] */ 
                enum SocketProtectionLevel
                    {
                        SocketProtectionLevel_PlainSocket	= 0,
                        SocketProtectionLevel_Ssl	= 1,
                        SocketProtectionLevel_SslAllowNullEncryption	= 2,
                        SocketProtectionLevel_BluetoothEncryptionAllowNullAuthentication	= 3,
                        SocketProtectionLevel_BluetoothEncryptionWithAuthentication	= 4,
                        SocketProtectionLevel_Ssl3AllowWeakEncryption	= 5,
                        SocketProtectionLevel_Tls10	= 6,
                        SocketProtectionLevel_Tls11	= 7,
                        SocketProtectionLevel_Tls12	= 8
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                /* [v1_enum] */ 
                enum SocketQualityOfService
                    {
                        SocketQualityOfService_Normal	= 0,
                        SocketQualityOfService_LowLatency	= 1
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                /* [v1_enum] */ 
                enum SocketSslErrorSeverity
                    {
                        SocketSslErrorSeverity_None	= 0,
                        SocketSslErrorSeverity_Ignorable	= 1,
                        SocketSslErrorSeverity_Fatal	= 2
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                struct BandwidthStatistics
                    {
                    UINT64 OutboundBitsPerSecond;
                    UINT64 InboundBitsPerSecond;
                    UINT64 OutboundBitsPerSecondInstability;
                    UINT64 InboundBitsPerSecondInstability;
                    boolean OutboundBandwidthPeaked;
                    boolean InboundBandwidthPeaked;
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus
} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Networking {
            namespace Sockets {
                
                struct RoundTripTimeStatistics
                    {
                    UINT32 Variance;
                    UINT32 Max;
                    UINT32 Min;
                    UINT32 Sum;
                    } ;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0054_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0054_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IControlChannelTrigger */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("7D1431A7-EE96-40E8-A199-8703CD969EC3")
                    IControlChannelTrigger : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ControlChannelTriggerId( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerKeepAliveIntervalInMinutes( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ServerKeepAliveIntervalInMinutes( 
                            /* [in] */ UINT32 value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CurrentKeepAliveIntervalInMinutes( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TransportObject( 
                            /* [out][retval] */ __RPC__deref_out_opt IInspectable **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeepAliveTrigger( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::ApplicationModel::Background::IBackgroundTrigger **trigger) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PushNotificationTrigger( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::ApplicationModel::Background::IBackgroundTrigger **trigger) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE UsingTransport( 
                            /* [in] */ __RPC__in_opt IInspectable *transport) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE WaitForPushEnabled( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::ControlChannelTriggerStatus *channelTriggerStatus) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE DecreaseNetworkKeepAliveInterval( void) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE FlushTransport( void) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IControlChannelTrigger = __uuidof(IControlChannelTrigger);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * 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_CSockets_CIControlChannelTrigger * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ControlChannelTriggerId )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerKeepAliveIntervalInMinutes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ServerKeepAliveIntervalInMinutes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This,
            /* [in] */ UINT32 value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentKeepAliveIntervalInMinutes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TransportObject )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This,
            /* [out][retval] */ __RPC__deref_out_opt IInspectable **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeepAliveTrigger )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTrigger **trigger);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PushNotificationTrigger )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CApplicationModel_CBackground_CIBackgroundTrigger **trigger);
        
        HRESULT ( STDMETHODCALLTYPE *UsingTransport )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This,
            /* [in] */ __RPC__in_opt IInspectable *transport);
        
        HRESULT ( STDMETHODCALLTYPE *WaitForPushEnabled )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerStatus *channelTriggerStatus);
        
        HRESULT ( STDMETHODCALLTYPE *DecreaseNetworkKeepAliveInterval )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This);
        
        HRESULT ( STDMETHODCALLTYPE *FlushTransport )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger * This);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_get_ControlChannelTriggerId(This,value)	\
    ( (This)->lpVtbl -> get_ControlChannelTriggerId(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_get_ServerKeepAliveIntervalInMinutes(This,value)	\
    ( (This)->lpVtbl -> get_ServerKeepAliveIntervalInMinutes(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_put_ServerKeepAliveIntervalInMinutes(This,value)	\
    ( (This)->lpVtbl -> put_ServerKeepAliveIntervalInMinutes(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_get_CurrentKeepAliveIntervalInMinutes(This,value)	\
    ( (This)->lpVtbl -> get_CurrentKeepAliveIntervalInMinutes(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_get_TransportObject(This,value)	\
    ( (This)->lpVtbl -> get_TransportObject(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_get_KeepAliveTrigger(This,trigger)	\
    ( (This)->lpVtbl -> get_KeepAliveTrigger(This,trigger) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_get_PushNotificationTrigger(This,trigger)	\
    ( (This)->lpVtbl -> get_PushNotificationTrigger(This,trigger) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_UsingTransport(This,transport)	\
    ( (This)->lpVtbl -> UsingTransport(This,transport) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_WaitForPushEnabled(This,channelTriggerStatus)	\
    ( (This)->lpVtbl -> WaitForPushEnabled(This,channelTriggerStatus) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_DecreaseNetworkKeepAliveInterval(This)	\
    ( (This)->lpVtbl -> DecreaseNetworkKeepAliveInterval(This) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_FlushTransport(This)	\
    ( (This)->lpVtbl -> FlushTransport(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0055 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IControlChannelTrigger2[] = L"Windows.Networking.Sockets.IControlChannelTrigger2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0055 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0055_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0055_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IControlChannelTrigger2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("AF00D237-51BE-4514-9725-3556E1879580")
                    IControlChannelTrigger2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsWakeFromLowPowerSupported( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IControlChannelTrigger2 = __uuidof(IControlChannelTrigger2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2 * 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_CSockets_CIControlChannelTrigger2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWakeFromLowPowerSupported )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2 * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2_get_IsWakeFromLowPowerSupported(This,value)	\
    ( (This)->lpVtbl -> get_IsWakeFromLowPowerSupported(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0056 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IControlChannelTriggerEventDetails[] = L"Windows.Networking.Sockets.IControlChannelTriggerEventDetails";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0056 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0056_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0056_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IControlChannelTriggerEventDetails */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("1B36E047-89BB-4236-96AC-71D012BB4869")
                    IControlChannelTriggerEventDetails : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ControlChannelTrigger( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IControlChannelTrigger **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IControlChannelTriggerEventDetails = __uuidof(IControlChannelTriggerEventDetails);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetailsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails * 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_CSockets_CIControlChannelTriggerEventDetails * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ControlChannelTrigger )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetailsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetailsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails_get_ControlChannelTrigger(This,value)	\
    ( (This)->lpVtbl -> get_ControlChannelTrigger(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0057 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IControlChannelTriggerFactory[] = L"Windows.Networking.Sockets.IControlChannelTriggerFactory";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0057 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0057_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0057_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IControlChannelTriggerFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("DA4B7CF0-8D71-446F-88C3-B95184A2D6CD")
                    IControlChannelTriggerFactory : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE CreateControlChannelTrigger( 
                            /* [in] */ __RPC__in HSTRING channelId,
                            /* [in] */ UINT32 serverKeepAliveIntervalInMinutes,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IControlChannelTrigger **notificationChannel) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateControlChannelTriggerEx( 
                            /* [in] */ __RPC__in HSTRING channelId,
                            /* [in] */ UINT32 serverKeepAliveIntervalInMinutes,
                            /* [in] */ ABI::Windows::Networking::Sockets::ControlChannelTriggerResourceType resourceRequestType,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IControlChannelTrigger **notificationChannel) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IControlChannelTriggerFactory = __uuidof(IControlChannelTriggerFactory);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory * 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_CSockets_CIControlChannelTriggerFactory * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *CreateControlChannelTrigger )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory * This,
            /* [in] */ __RPC__in HSTRING channelId,
            /* [in] */ UINT32 serverKeepAliveIntervalInMinutes,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger **notificationChannel);
        
        HRESULT ( STDMETHODCALLTYPE *CreateControlChannelTriggerEx )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory * This,
            /* [in] */ __RPC__in HSTRING channelId,
            /* [in] */ UINT32 serverKeepAliveIntervalInMinutes,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerResourceType resourceRequestType,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger **notificationChannel);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactoryVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory_CreateControlChannelTrigger(This,channelId,serverKeepAliveIntervalInMinutes,notificationChannel)	\
    ( (This)->lpVtbl -> CreateControlChannelTrigger(This,channelId,serverKeepAliveIntervalInMinutes,notificationChannel) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory_CreateControlChannelTriggerEx(This,channelId,serverKeepAliveIntervalInMinutes,resourceRequestType,notificationChannel)	\
    ( (This)->lpVtbl -> CreateControlChannelTriggerEx(This,channelId,serverKeepAliveIntervalInMinutes,resourceRequestType,notificationChannel) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0058 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IControlChannelTriggerResetEventDetails[] = L"Windows.Networking.Sockets.IControlChannelTriggerResetEventDetails";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0058 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0058_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0058_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IControlChannelTriggerResetEventDetails */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("6851038E-8EC4-42FE-9BB2-21E91B7BFCB1")
                    IControlChannelTriggerResetEventDetails : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResetReason( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::ControlChannelTriggerResetReason *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HardwareSlotReset( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SoftwareSlotReset( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IControlChannelTriggerResetEventDetails = __uuidof(IControlChannelTriggerResetEventDetails);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetailsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails * 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_CSockets_CIControlChannelTriggerResetEventDetails * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResetReason )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CControlChannelTriggerResetReason *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HardwareSlotReset )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SoftwareSlotReset )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetailsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetailsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_get_ResetReason(This,value)	\
    ( (This)->lpVtbl -> get_ResetReason(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_get_HardwareSlotReset(This,value)	\
    ( (This)->lpVtbl -> get_HardwareSlotReset(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_get_SoftwareSlotReset(This,value)	\
    ( (This)->lpVtbl -> get_SoftwareSlotReset(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0059 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IDatagramSocket[] = L"Windows.Networking.Sockets.IDatagramSocket";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0059 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0059_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0059_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IDatagramSocket */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("7FE25BBB-C3BC-4677-8446-CA28A465A3AF")
                    IDatagramSocket : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Control( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IDatagramSocketControl **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Information( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IDatagramSocketInformation **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutputStream( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IOutputStream **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ConnectAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *remoteHostName,
                            /* [in] */ __RPC__in HSTRING remoteServiceName,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ConnectWithEndpointPairAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IEndpointPair *endpointPair,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE BindServiceNameAsync( 
                            /* [in] */ __RPC__in HSTRING localServiceName,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE BindEndpointAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *localHostName,
                            /* [in] */ __RPC__in HSTRING localServiceName,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE JoinMulticastGroup( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *host) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetOutputStreamAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *remoteHostName,
                            /* [in] */ __RPC__in HSTRING remoteServiceName,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CStorage__CStreams__CIOutputStream **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetOutputStreamWithEndpointPairAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IEndpointPair *endpointPair,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CStorage__CStreams__CIOutputStream **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_MessageReceived( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs *eventHandler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_MessageReceived( 
                            /* [in] */ EventRegistrationToken eventCookie) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDatagramSocket = __uuidof(IDatagramSocket);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * 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_CSockets_CIDatagramSocket * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Control )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Information )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputStream )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIOutputStream **value);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *remoteHostName,
            /* [in] */ __RPC__in HSTRING remoteServiceName,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectWithEndpointPairAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIEndpointPair *endpointPair,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *BindServiceNameAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [in] */ __RPC__in HSTRING localServiceName,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *BindEndpointAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *localHostName,
            /* [in] */ __RPC__in HSTRING localServiceName,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *JoinMulticastGroup )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *host);
        
        HRESULT ( STDMETHODCALLTYPE *GetOutputStreamAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *remoteHostName,
            /* [in] */ __RPC__in HSTRING remoteServiceName,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CStorage__CStreams__CIOutputStream **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetOutputStreamWithEndpointPairAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIEndpointPair *endpointPair,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CStorage__CStreams__CIOutputStream **value);
        
        HRESULT ( STDMETHODCALLTYPE *add_MessageReceived )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CDatagramSocket_Windows__CNetworking__CSockets__CDatagramSocketMessageReceivedEventArgs *eventHandler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie);
        
        HRESULT ( STDMETHODCALLTYPE *remove_MessageReceived )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket * This,
            /* [in] */ EventRegistrationToken eventCookie);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_get_Control(This,value)	\
    ( (This)->lpVtbl -> get_Control(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_get_Information(This,value)	\
    ( (This)->lpVtbl -> get_Information(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_get_OutputStream(This,value)	\
    ( (This)->lpVtbl -> get_OutputStream(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_ConnectAsync(This,remoteHostName,remoteServiceName,operation)	\
    ( (This)->lpVtbl -> ConnectAsync(This,remoteHostName,remoteServiceName,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_ConnectWithEndpointPairAsync(This,endpointPair,operation)	\
    ( (This)->lpVtbl -> ConnectWithEndpointPairAsync(This,endpointPair,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_BindServiceNameAsync(This,localServiceName,operation)	\
    ( (This)->lpVtbl -> BindServiceNameAsync(This,localServiceName,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_BindEndpointAsync(This,localHostName,localServiceName,operation)	\
    ( (This)->lpVtbl -> BindEndpointAsync(This,localHostName,localServiceName,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_JoinMulticastGroup(This,host)	\
    ( (This)->lpVtbl -> JoinMulticastGroup(This,host) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_GetOutputStreamAsync(This,remoteHostName,remoteServiceName,value)	\
    ( (This)->lpVtbl -> GetOutputStreamAsync(This,remoteHostName,remoteServiceName,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_GetOutputStreamWithEndpointPairAsync(This,endpointPair,value)	\
    ( (This)->lpVtbl -> GetOutputStreamWithEndpointPairAsync(This,endpointPair,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_add_MessageReceived(This,eventHandler,eventCookie)	\
    ( (This)->lpVtbl -> add_MessageReceived(This,eventHandler,eventCookie) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_remove_MessageReceived(This,eventCookie)	\
    ( (This)->lpVtbl -> remove_MessageReceived(This,eventCookie) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0060 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IDatagramSocket2[] = L"Windows.Networking.Sockets.IDatagramSocket2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0060 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0060_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0060_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IDatagramSocket2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("D83BA354-9A9D-4185-A20A-1424C9C2A7CD")
                    IDatagramSocket2 : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE BindServiceNameAndAdapterAsync( 
                            /* [in] */ __RPC__in HSTRING localServiceName,
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Connectivity::INetworkAdapter *adapter,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDatagramSocket2 = __uuidof(IDatagramSocket2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2 * 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_CSockets_CIDatagramSocket2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *BindServiceNameAndAdapterAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2 * This,
            /* [in] */ __RPC__in HSTRING localServiceName,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CConnectivity_CINetworkAdapter *adapter,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2_BindServiceNameAndAdapterAsync(This,localServiceName,adapter,operation)	\
    ( (This)->lpVtbl -> BindServiceNameAndAdapterAsync(This,localServiceName,adapter,operation) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0061 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IDatagramSocket3[] = L"Windows.Networking.Sockets.IDatagramSocket3";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0061 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0061_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0061_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IDatagramSocket3 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("37544F09-AB92-4306-9AC1-0C381283D9C6")
                    IDatagramSocket3 : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE CancelIOAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE EnableTransferOwnership( 
                            /* [in] */ GUID taskId) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE EnableTransferOwnershipWithConnectedStandbyAction( 
                            /* [in] */ GUID taskId,
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketActivityConnectedStandbyAction connectedStandbyAction) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE TransferOwnership( 
                            /* [in] */ __RPC__in HSTRING socketId) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE TransferOwnershipWithContext( 
                            /* [in] */ __RPC__in HSTRING socketId,
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::ISocketActivityContext *data) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE TransferOwnershipWithContextAndKeepAliveTime( 
                            /* [in] */ __RPC__in HSTRING socketId,
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::ISocketActivityContext *data,
                            /* [in] */ ABI::Windows::Foundation::TimeSpan keepAliveTime) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDatagramSocket3 = __uuidof(IDatagramSocket3);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 * 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_CSockets_CIDatagramSocket3 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *CancelIOAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *EnableTransferOwnership )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 * This,
            /* [in] */ GUID taskId);
        
        HRESULT ( STDMETHODCALLTYPE *EnableTransferOwnershipWithConnectedStandbyAction )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 * This,
            /* [in] */ GUID taskId,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityConnectedStandbyAction connectedStandbyAction);
        
        HRESULT ( STDMETHODCALLTYPE *TransferOwnership )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 * This,
            /* [in] */ __RPC__in HSTRING socketId);
        
        HRESULT ( STDMETHODCALLTYPE *TransferOwnershipWithContext )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 * This,
            /* [in] */ __RPC__in HSTRING socketId,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext *data);
        
        HRESULT ( STDMETHODCALLTYPE *TransferOwnershipWithContextAndKeepAliveTime )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3 * This,
            /* [in] */ __RPC__in HSTRING socketId,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext *data,
            /* [in] */ __x_ABI_CWindows_CFoundation_CTimeSpan keepAliveTime);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_CancelIOAsync(This,operation)	\
    ( (This)->lpVtbl -> CancelIOAsync(This,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_EnableTransferOwnership(This,taskId)	\
    ( (This)->lpVtbl -> EnableTransferOwnership(This,taskId) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_EnableTransferOwnershipWithConnectedStandbyAction(This,taskId,connectedStandbyAction)	\
    ( (This)->lpVtbl -> EnableTransferOwnershipWithConnectedStandbyAction(This,taskId,connectedStandbyAction) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_TransferOwnership(This,socketId)	\
    ( (This)->lpVtbl -> TransferOwnership(This,socketId) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_TransferOwnershipWithContext(This,socketId,data)	\
    ( (This)->lpVtbl -> TransferOwnershipWithContext(This,socketId,data) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_TransferOwnershipWithContextAndKeepAliveTime(This,socketId,data,keepAliveTime)	\
    ( (This)->lpVtbl -> TransferOwnershipWithContextAndKeepAliveTime(This,socketId,data,keepAliveTime) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket3_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0062 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IDatagramSocketControl[] = L"Windows.Networking.Sockets.IDatagramSocketControl";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0062 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0062_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0062_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IDatagramSocketControl */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("52AC3F2E-349A-4135-BB58-B79B2647D390")
                    IDatagramSocketControl : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_QualityOfService( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketQualityOfService *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_QualityOfService( 
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketQualityOfService value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutboundUnicastHopLimit( 
                            /* [out][retval] */ __RPC__out BYTE *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OutboundUnicastHopLimit( 
                            /* [in] */ BYTE value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDatagramSocketControl = __uuidof(IDatagramSocketControl);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl * 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_CSockets_CIDatagramSocketControl * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_QualityOfService )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketQualityOfService *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_QualityOfService )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketQualityOfService value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutboundUnicastHopLimit )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl * This,
            /* [out][retval] */ __RPC__out BYTE *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OutboundUnicastHopLimit )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl * This,
            /* [in] */ BYTE value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControlVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_get_QualityOfService(This,value)	\
    ( (This)->lpVtbl -> get_QualityOfService(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_put_QualityOfService(This,value)	\
    ( (This)->lpVtbl -> put_QualityOfService(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_get_OutboundUnicastHopLimit(This,value)	\
    ( (This)->lpVtbl -> get_OutboundUnicastHopLimit(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_put_OutboundUnicastHopLimit(This,value)	\
    ( (This)->lpVtbl -> put_OutboundUnicastHopLimit(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0063 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IDatagramSocketControl2[] = L"Windows.Networking.Sockets.IDatagramSocketControl2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0063 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0063_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0063_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IDatagramSocketControl2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("33EAD5C2-979C-4415-82A1-3CFAF646C192")
                    IDatagramSocketControl2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InboundBufferSizeInBytes( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InboundBufferSizeInBytes( 
                            /* [in] */ UINT32 value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DontFragment( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DontFragment( 
                            /* [in] */ boolean value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDatagramSocketControl2 = __uuidof(IDatagramSocketControl2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2 * 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_CSockets_CIDatagramSocketControl2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InboundBufferSizeInBytes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2 * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_InboundBufferSizeInBytes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2 * This,
            /* [in] */ UINT32 value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DontFragment )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2 * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DontFragment )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2 * This,
            /* [in] */ boolean value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_get_InboundBufferSizeInBytes(This,value)	\
    ( (This)->lpVtbl -> get_InboundBufferSizeInBytes(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_put_InboundBufferSizeInBytes(This,value)	\
    ( (This)->lpVtbl -> put_InboundBufferSizeInBytes(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_get_DontFragment(This,value)	\
    ( (This)->lpVtbl -> get_DontFragment(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_put_DontFragment(This,value)	\
    ( (This)->lpVtbl -> put_DontFragment(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0064 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IDatagramSocketControl3[] = L"Windows.Networking.Sockets.IDatagramSocketControl3";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0064 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0064_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0064_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IDatagramSocketControl3 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("D4EB8256-1F6D-4598-9B57-D42A001DF349")
                    IDatagramSocketControl3 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MulticastOnly( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MulticastOnly( 
                            /* [in] */ boolean value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDatagramSocketControl3 = __uuidof(IDatagramSocketControl3);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3 * 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_CSockets_CIDatagramSocketControl3 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MulticastOnly )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3 * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MulticastOnly )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3 * This,
            /* [in] */ boolean value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3_get_MulticastOnly(This,value)	\
    ( (This)->lpVtbl -> get_MulticastOnly(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3_put_MulticastOnly(This,value)	\
    ( (This)->lpVtbl -> put_MulticastOnly(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl3_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0065 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IDatagramSocketInformation[] = L"Windows.Networking.Sockets.IDatagramSocketInformation";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0065 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0065_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0065_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IDatagramSocketInformation */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("5F1A569A-55FB-48CD-9706-7A974F7B1585")
                    IDatagramSocketInformation : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalAddress( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::IHostName **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalPort( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemoteAddress( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::IHostName **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemotePort( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDatagramSocketInformation = __uuidof(IDatagramSocketInformation);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation * 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_CSockets_CIDatagramSocketInformation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalAddress )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalPort )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemoteAddress )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemotePort )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformationVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_get_LocalAddress(This,value)	\
    ( (This)->lpVtbl -> get_LocalAddress(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_get_LocalPort(This,value)	\
    ( (This)->lpVtbl -> get_LocalPort(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_get_RemoteAddress(This,value)	\
    ( (This)->lpVtbl -> get_RemoteAddress(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_get_RemotePort(This,value)	\
    ( (This)->lpVtbl -> get_RemotePort(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0066 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IDatagramSocketMessageReceivedEventArgs[] = L"Windows.Networking.Sockets.IDatagramSocketMessageReceivedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0066 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0066_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0066_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IDatagramSocketMessageReceivedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("9E2DDCA2-1712-4CE4-B179-8C652C6D107E")
                    IDatagramSocketMessageReceivedEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemoteAddress( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::IHostName **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemotePort( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalAddress( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::IHostName **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetDataReader( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IDataReader **dataReader) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetDataStream( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IInputStream **inputStream) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDatagramSocketMessageReceivedEventArgs = __uuidof(IDatagramSocketMessageReceivedEventArgs);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs * 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_CSockets_CIDatagramSocketMessageReceivedEventArgs * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemoteAddress )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemotePort )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalAddress )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetDataReader )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIDataReader **dataReader);
        
        HRESULT ( STDMETHODCALLTYPE *GetDataStream )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIInputStream **inputStream);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_get_RemoteAddress(This,value)	\
    ( (This)->lpVtbl -> get_RemoteAddress(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_get_RemotePort(This,value)	\
    ( (This)->lpVtbl -> get_RemotePort(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_get_LocalAddress(This,value)	\
    ( (This)->lpVtbl -> get_LocalAddress(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_GetDataReader(This,dataReader)	\
    ( (This)->lpVtbl -> GetDataReader(This,dataReader) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_GetDataStream(This,inputStream)	\
    ( (This)->lpVtbl -> GetDataStream(This,inputStream) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0067 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IDatagramSocketStatics[] = L"Windows.Networking.Sockets.IDatagramSocketStatics";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0067 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0067_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0067_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IDatagramSocketStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("E9C62AEE-1494-4A21-BB7E-8589FC751D9D")
                    IDatagramSocketStatics : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE GetEndpointPairsAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *remoteHostName,
                            /* [in] */ __RPC__in HSTRING remoteServiceName,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetEndpointPairsWithSortOptionsAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *remoteHostName,
                            /* [in] */ __RPC__in HSTRING remoteServiceName,
                            /* [in] */ ABI::Windows::Networking::HostNameSortOptions sortOptions,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair **operation) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDatagramSocketStatics = __uuidof(IDatagramSocketStatics);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics * 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_CSockets_CIDatagramSocketStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetEndpointPairsAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *remoteHostName,
            /* [in] */ __RPC__in HSTRING remoteServiceName,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair **operation);
        
        HRESULT ( STDMETHODCALLTYPE *GetEndpointPairsWithSortOptionsAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *remoteHostName,
            /* [in] */ __RPC__in HSTRING remoteServiceName,
            /* [in] */ __x_ABI_CWindows_CNetworking_CHostNameSortOptions sortOptions,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair **operation);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStaticsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics_GetEndpointPairsAsync(This,remoteHostName,remoteServiceName,operation)	\
    ( (This)->lpVtbl -> GetEndpointPairsAsync(This,remoteHostName,remoteServiceName,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics_GetEndpointPairsWithSortOptionsAsync(This,remoteHostName,remoteServiceName,sortOptions,operation)	\
    ( (This)->lpVtbl -> GetEndpointPairsWithSortOptionsAsync(This,remoteHostName,remoteServiceName,sortOptions,operation) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0068 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IMessageWebSocket[] = L"Windows.Networking.Sockets.IMessageWebSocket";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0068 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0068_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0068_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IMessageWebSocket */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("33727D08-34D5-4746-AD7B-8DDE5BC2EF88")
                    IMessageWebSocket : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Control( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IMessageWebSocketControl **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Information( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IWebSocketInformation **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_MessageReceived( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs *eventHandler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_MessageReceived( 
                            /* [in] */ EventRegistrationToken eventCookie) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IMessageWebSocket = __uuidof(IMessageWebSocket);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket * 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_CSockets_CIMessageWebSocket * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Control )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Information )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation **value);
        
        HRESULT ( STDMETHODCALLTYPE *add_MessageReceived )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CMessageWebSocketMessageReceivedEventArgs *eventHandler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie);
        
        HRESULT ( STDMETHODCALLTYPE *remove_MessageReceived )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket * This,
            /* [in] */ EventRegistrationToken eventCookie);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_get_Control(This,value)	\
    ( (This)->lpVtbl -> get_Control(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_get_Information(This,value)	\
    ( (This)->lpVtbl -> get_Information(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_add_MessageReceived(This,eventHandler,eventCookie)	\
    ( (This)->lpVtbl -> add_MessageReceived(This,eventHandler,eventCookie) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_remove_MessageReceived(This,eventCookie)	\
    ( (This)->lpVtbl -> remove_MessageReceived(This,eventCookie) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0069 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IMessageWebSocket2[] = L"Windows.Networking.Sockets.IMessageWebSocket2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0069 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0069_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0069_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IMessageWebSocket2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("BED0CEE7-F9C8-440A-9AD5-737281D9742E")
                    IMessageWebSocket2 : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE add_ServerCustomValidationRequested( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs *eventHandler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_ServerCustomValidationRequested( 
                            /* [in] */ EventRegistrationToken eventCookie) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IMessageWebSocket2 = __uuidof(IMessageWebSocket2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2 * 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_CSockets_CIMessageWebSocket2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *add_ServerCustomValidationRequested )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2 * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CMessageWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs *eventHandler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie);
        
        HRESULT ( STDMETHODCALLTYPE *remove_ServerCustomValidationRequested )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2 * This,
            /* [in] */ EventRegistrationToken eventCookie);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2_add_ServerCustomValidationRequested(This,eventHandler,eventCookie)	\
    ( (This)->lpVtbl -> add_ServerCustomValidationRequested(This,eventHandler,eventCookie) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2_remove_ServerCustomValidationRequested(This,eventCookie)	\
    ( (This)->lpVtbl -> remove_ServerCustomValidationRequested(This,eventCookie) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0070 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IMessageWebSocketControl[] = L"Windows.Networking.Sockets.IMessageWebSocketControl";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0070 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0070_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0070_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IMessageWebSocketControl */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("8118388A-C629-4F0A-80FB-81FC05538862")
                    IMessageWebSocketControl : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxMessageSize( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MaxMessageSize( 
                            /* [in] */ UINT32 value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MessageType( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketMessageType *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MessageType( 
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketMessageType value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IMessageWebSocketControl = __uuidof(IMessageWebSocketControl);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl * 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_CSockets_CIMessageWebSocketControl * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxMessageSize )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxMessageSize )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl * This,
            /* [in] */ UINT32 value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MessageType )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketMessageType *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MessageType )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketMessageType value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControlVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_get_MaxMessageSize(This,value)	\
    ( (This)->lpVtbl -> get_MaxMessageSize(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_put_MaxMessageSize(This,value)	\
    ( (This)->lpVtbl -> put_MaxMessageSize(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_get_MessageType(This,value)	\
    ( (This)->lpVtbl -> get_MessageType(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_put_MessageType(This,value)	\
    ( (This)->lpVtbl -> put_MessageType(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0071 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IMessageWebSocketMessageReceivedEventArgs[] = L"Windows.Networking.Sockets.IMessageWebSocketMessageReceivedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0071 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0071_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0071_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IMessageWebSocketMessageReceivedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("478C22AC-4C4B-42ED-9ED7-1EF9F94FA3D5")
                    IMessageWebSocketMessageReceivedEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MessageType( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketMessageType *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetDataReader( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IDataReader **dataReader) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetDataStream( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IInputStream **inputStream) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IMessageWebSocketMessageReceivedEventArgs = __uuidof(IMessageWebSocketMessageReceivedEventArgs);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs * 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_CSockets_CIMessageWebSocketMessageReceivedEventArgs * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MessageType )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketMessageType *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetDataReader )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIDataReader **dataReader);
        
        HRESULT ( STDMETHODCALLTYPE *GetDataStream )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIInputStream **inputStream);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_get_MessageType(This,value)	\
    ( (This)->lpVtbl -> get_MessageType(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_GetDataReader(This,dataReader)	\
    ( (This)->lpVtbl -> GetDataReader(This,dataReader) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_GetDataStream(This,inputStream)	\
    ( (This)->lpVtbl -> GetDataStream(This,inputStream) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0072 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_ISocketActivityContext[] = L"Windows.Networking.Sockets.ISocketActivityContext";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0072 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0072_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0072_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::ISocketActivityContext */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("43B04D64-4C85-4396-A637-1D973F6EBD49")
                    ISocketActivityContext : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Data( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_ISocketActivityContext = __uuidof(ISocketActivityContext);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext * 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_CSockets_CISocketActivityContext * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext_get_Data(This,value)	\
    ( (This)->lpVtbl -> get_Data(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0073 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_ISocketActivityContextFactory[] = L"Windows.Networking.Sockets.ISocketActivityContextFactory";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0073 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0073_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0073_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::ISocketActivityContextFactory */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("B99FC3C3-088C-4388-83AE-2525138E049A")
                    ISocketActivityContextFactory : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE Create( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Storage::Streams::IBuffer *data,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::ISocketActivityContext **context) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_ISocketActivityContextFactory = __uuidof(ISocketActivityContextFactory);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory * 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_CSockets_CISocketActivityContextFactory * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer *data,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext **context);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactoryVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory_Create(This,data,context)	\
    ( (This)->lpVtbl -> Create(This,data,context) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContextFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0074 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_ISocketActivityInformation[] = L"Windows.Networking.Sockets.ISocketActivityInformation";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0074 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0074_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0074_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::ISocketActivityInformation */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("8D8A42E4-A87E-4B74-9968-185B2511DEFE")
                    ISocketActivityInformation : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TaskId( 
                            /* [out][retval] */ __RPC__out GUID *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SocketKind( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketActivityKind *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Context( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::ISocketActivityContext **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DatagramSocket( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IDatagramSocket **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StreamSocket( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IStreamSocket **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StreamSocketListener( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IStreamSocketListener **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_ISocketActivityInformation = __uuidof(ISocketActivityInformation);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * 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_CSockets_CISocketActivityInformation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TaskId )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * This,
            /* [out][retval] */ __RPC__out GUID *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SocketKind )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityKind *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Context )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DatagramSocket )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StreamSocket )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StreamSocketListener )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_get_TaskId(This,value)	\
    ( (This)->lpVtbl -> get_TaskId(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_get_Id(This,value)	\
    ( (This)->lpVtbl -> get_Id(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_get_SocketKind(This,value)	\
    ( (This)->lpVtbl -> get_SocketKind(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_get_Context(This,value)	\
    ( (This)->lpVtbl -> get_Context(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_get_DatagramSocket(This,value)	\
    ( (This)->lpVtbl -> get_DatagramSocket(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_get_StreamSocket(This,value)	\
    ( (This)->lpVtbl -> get_StreamSocket(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_get_StreamSocketListener(This,value)	\
    ( (This)->lpVtbl -> get_StreamSocketListener(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0075 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_ISocketActivityInformationStatics[] = L"Windows.Networking.Sockets.ISocketActivityInformationStatics";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0075 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0075_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0075_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::ISocketActivityInformationStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("8570B47A-7E7D-4736-8041-1327A6543C56")
                    ISocketActivityInformationStatics : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllSockets( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **sockets) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_ISocketActivityInformationStatics = __uuidof(ISocketActivityInformationStatics);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics * 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_CSockets_CISocketActivityInformationStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllSockets )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIMapView_2_HSTRING_Windows__CNetworking__CSockets__CSocketActivityInformation **sockets);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStaticsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics_get_AllSockets(This,sockets)	\
    ( (This)->lpVtbl -> get_AllSockets(This,sockets) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformationStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0076 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_ISocketActivityTriggerDetails[] = L"Windows.Networking.Sockets.ISocketActivityTriggerDetails";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0076 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0076_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0076_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::ISocketActivityTriggerDetails */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("45F406A7-FC9F-4F81-ACAD-355FEF51E67B")
                    ISocketActivityTriggerDetails : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Reason( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketActivityTriggerReason *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SocketInformation( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::ISocketActivityInformation **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_ISocketActivityTriggerDetails = __uuidof(ISocketActivityTriggerDetails);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetailsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails * 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_CSockets_CISocketActivityTriggerDetails * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Reason )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityTriggerReason *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SocketInformation )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityInformation **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetailsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetailsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails_get_Reason(This,value)	\
    ( (This)->lpVtbl -> get_Reason(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails_get_SocketInformation(This,value)	\
    ( (This)->lpVtbl -> get_SocketInformation(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketActivityTriggerDetails_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0077 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_ISocketErrorStatics[] = L"Windows.Networking.Sockets.ISocketErrorStatics";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0077 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0077_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0077_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::ISocketErrorStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("828337F4-7D56-4D8E-B7B4-A07DD7C1BCA9")
                    ISocketErrorStatics : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE GetStatus( 
                            /* [in] */ INT32 hresult,
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketErrorStatus *status) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_ISocketErrorStatics = __uuidof(ISocketErrorStatics);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics * 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_CSockets_CISocketErrorStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics * This,
            /* [in] */ INT32 hresult,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketErrorStatus *status);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStaticsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics_GetStatus(This,hresult,status)	\
    ( (This)->lpVtbl -> GetStatus(This,hresult,status) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0078 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocket[] = L"Windows.Networking.Sockets.IStreamSocket";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0078 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0078_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0078_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocket */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("69A22CF3-FC7B-4857-AF38-F6E7DE6A5B49")
                    IStreamSocket : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Control( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IStreamSocketControl **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Information( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IStreamSocketInformation **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InputStream( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IInputStream **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutputStream( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IOutputStream **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ConnectWithEndpointPairAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IEndpointPair *endpointPair,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ConnectAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *remoteHostName,
                            /* [in] */ __RPC__in HSTRING remoteServiceName,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ConnectWithEndpointPairAndProtectionLevelAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IEndpointPair *endpointPair,
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketProtectionLevel protectionLevel,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ConnectWithProtectionLevelAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *remoteHostName,
                            /* [in] */ __RPC__in HSTRING remoteServiceName,
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketProtectionLevel protectionLevel,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE UpgradeToSslAsync( 
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketProtectionLevel protectionLevel,
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *validationHostName,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocket = __uuidof(IStreamSocket);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * 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_CSockets_CIStreamSocket * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Control )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Information )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputStream )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIInputStream **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputStream )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIOutputStream **value);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectWithEndpointPairAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIEndpointPair *endpointPair,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *remoteHostName,
            /* [in] */ __RPC__in HSTRING remoteServiceName,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectWithEndpointPairAndProtectionLevelAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIEndpointPair *endpointPair,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketProtectionLevel protectionLevel,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectWithProtectionLevelAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *remoteHostName,
            /* [in] */ __RPC__in HSTRING remoteServiceName,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketProtectionLevel protectionLevel,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *UpgradeToSslAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketProtectionLevel protectionLevel,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *validationHostName,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_get_Control(This,value)	\
    ( (This)->lpVtbl -> get_Control(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_get_Information(This,value)	\
    ( (This)->lpVtbl -> get_Information(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_get_InputStream(This,value)	\
    ( (This)->lpVtbl -> get_InputStream(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_get_OutputStream(This,value)	\
    ( (This)->lpVtbl -> get_OutputStream(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_ConnectWithEndpointPairAsync(This,endpointPair,operation)	\
    ( (This)->lpVtbl -> ConnectWithEndpointPairAsync(This,endpointPair,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_ConnectAsync(This,remoteHostName,remoteServiceName,operation)	\
    ( (This)->lpVtbl -> ConnectAsync(This,remoteHostName,remoteServiceName,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_ConnectWithEndpointPairAndProtectionLevelAsync(This,endpointPair,protectionLevel,operation)	\
    ( (This)->lpVtbl -> ConnectWithEndpointPairAndProtectionLevelAsync(This,endpointPair,protectionLevel,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_ConnectWithProtectionLevelAsync(This,remoteHostName,remoteServiceName,protectionLevel,operation)	\
    ( (This)->lpVtbl -> ConnectWithProtectionLevelAsync(This,remoteHostName,remoteServiceName,protectionLevel,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_UpgradeToSslAsync(This,protectionLevel,validationHostName,operation)	\
    ( (This)->lpVtbl -> UpgradeToSslAsync(This,protectionLevel,validationHostName,operation) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0079 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocket2[] = L"Windows.Networking.Sockets.IStreamSocket2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0079 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0079_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0079_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocket2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("29D0E575-F314-4D09-ADF0-0FBD967FBD9F")
                    IStreamSocket2 : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE ConnectWithProtectionLevelAndAdapterAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *remoteHostName,
                            /* [in] */ __RPC__in HSTRING remoteServiceName,
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketProtectionLevel protectionLevel,
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Connectivity::INetworkAdapter *adapter,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocket2 = __uuidof(IStreamSocket2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2 * 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_CSockets_CIStreamSocket2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectWithProtectionLevelAndAdapterAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2 * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *remoteHostName,
            /* [in] */ __RPC__in HSTRING remoteServiceName,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketProtectionLevel protectionLevel,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CConnectivity_CINetworkAdapter *adapter,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2_ConnectWithProtectionLevelAndAdapterAsync(This,remoteHostName,remoteServiceName,protectionLevel,adapter,operation)	\
    ( (This)->lpVtbl -> ConnectWithProtectionLevelAndAdapterAsync(This,remoteHostName,remoteServiceName,protectionLevel,adapter,operation) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0080 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocket3[] = L"Windows.Networking.Sockets.IStreamSocket3";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0080 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0080_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0080_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocket3 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("3F430B00-9D28-4854-BAC3-2301941EC223")
                    IStreamSocket3 : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE CancelIOAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE EnableTransferOwnership( 
                            /* [in] */ GUID taskId) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE EnableTransferOwnershipWithConnectedStandbyAction( 
                            /* [in] */ GUID taskId,
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketActivityConnectedStandbyAction connectedStandbyAction) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE TransferOwnership( 
                            /* [in] */ __RPC__in HSTRING socketId) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE TransferOwnershipWithContext( 
                            /* [in] */ __RPC__in HSTRING socketId,
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::ISocketActivityContext *data) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE TransferOwnershipWithContextAndKeepAliveTime( 
                            /* [in] */ __RPC__in HSTRING socketId,
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::ISocketActivityContext *data,
                            /* [in] */ ABI::Windows::Foundation::TimeSpan keepAliveTime) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocket3 = __uuidof(IStreamSocket3);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 * 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_CSockets_CIStreamSocket3 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *CancelIOAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *EnableTransferOwnership )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 * This,
            /* [in] */ GUID taskId);
        
        HRESULT ( STDMETHODCALLTYPE *EnableTransferOwnershipWithConnectedStandbyAction )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 * This,
            /* [in] */ GUID taskId,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityConnectedStandbyAction connectedStandbyAction);
        
        HRESULT ( STDMETHODCALLTYPE *TransferOwnership )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 * This,
            /* [in] */ __RPC__in HSTRING socketId);
        
        HRESULT ( STDMETHODCALLTYPE *TransferOwnershipWithContext )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 * This,
            /* [in] */ __RPC__in HSTRING socketId,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext *data);
        
        HRESULT ( STDMETHODCALLTYPE *TransferOwnershipWithContextAndKeepAliveTime )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3 * This,
            /* [in] */ __RPC__in HSTRING socketId,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext *data,
            /* [in] */ __x_ABI_CWindows_CFoundation_CTimeSpan keepAliveTime);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_CancelIOAsync(This,operation)	\
    ( (This)->lpVtbl -> CancelIOAsync(This,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_EnableTransferOwnership(This,taskId)	\
    ( (This)->lpVtbl -> EnableTransferOwnership(This,taskId) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_EnableTransferOwnershipWithConnectedStandbyAction(This,taskId,connectedStandbyAction)	\
    ( (This)->lpVtbl -> EnableTransferOwnershipWithConnectedStandbyAction(This,taskId,connectedStandbyAction) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_TransferOwnership(This,socketId)	\
    ( (This)->lpVtbl -> TransferOwnership(This,socketId) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_TransferOwnershipWithContext(This,socketId,data)	\
    ( (This)->lpVtbl -> TransferOwnershipWithContext(This,socketId,data) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_TransferOwnershipWithContextAndKeepAliveTime(This,socketId,data,keepAliveTime)	\
    ( (This)->lpVtbl -> TransferOwnershipWithContextAndKeepAliveTime(This,socketId,data,keepAliveTime) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket3_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0081 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketControl[] = L"Windows.Networking.Sockets.IStreamSocketControl";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0081 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0081_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0081_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketControl */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("FE25ADF1-92AB-4AF3-9992-0F4C85E36CC4")
                    IStreamSocketControl : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NoDelay( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NoDelay( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeepAlive( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeepAlive( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutboundBufferSizeInBytes( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OutboundBufferSizeInBytes( 
                            /* [in] */ UINT32 value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_QualityOfService( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketQualityOfService *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_QualityOfService( 
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketQualityOfService value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutboundUnicastHopLimit( 
                            /* [out][retval] */ __RPC__out BYTE *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OutboundUnicastHopLimit( 
                            /* [in] */ BYTE value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketControl = __uuidof(IStreamSocketControl);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * 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_CSockets_CIStreamSocketControl * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NoDelay )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NoDelay )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeepAlive )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeepAlive )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutboundBufferSizeInBytes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OutboundBufferSizeInBytes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [in] */ UINT32 value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_QualityOfService )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketQualityOfService *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_QualityOfService )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketQualityOfService value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutboundUnicastHopLimit )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [out][retval] */ __RPC__out BYTE *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OutboundUnicastHopLimit )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl * This,
            /* [in] */ BYTE value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControlVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_get_NoDelay(This,value)	\
    ( (This)->lpVtbl -> get_NoDelay(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_put_NoDelay(This,value)	\
    ( (This)->lpVtbl -> put_NoDelay(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_get_KeepAlive(This,value)	\
    ( (This)->lpVtbl -> get_KeepAlive(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_put_KeepAlive(This,value)	\
    ( (This)->lpVtbl -> put_KeepAlive(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_get_OutboundBufferSizeInBytes(This,value)	\
    ( (This)->lpVtbl -> get_OutboundBufferSizeInBytes(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_put_OutboundBufferSizeInBytes(This,value)	\
    ( (This)->lpVtbl -> put_OutboundBufferSizeInBytes(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_get_QualityOfService(This,value)	\
    ( (This)->lpVtbl -> get_QualityOfService(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_put_QualityOfService(This,value)	\
    ( (This)->lpVtbl -> put_QualityOfService(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_get_OutboundUnicastHopLimit(This,value)	\
    ( (This)->lpVtbl -> get_OutboundUnicastHopLimit(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_put_OutboundUnicastHopLimit(This,value)	\
    ( (This)->lpVtbl -> put_OutboundUnicastHopLimit(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0082 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketControl2[] = L"Windows.Networking.Sockets.IStreamSocketControl2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0082 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0082_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0082_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketControl2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("C2D09A56-060F-44C1-B8E2-1FBF60BD62C5")
                    IStreamSocketControl2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IgnorableServerCertificateErrors( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketControl2 = __uuidof(IStreamSocketControl2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2 * 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_CSockets_CIStreamSocketControl2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IgnorableServerCertificateErrors )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2_get_IgnorableServerCertificateErrors(This,value)	\
    ( (This)->lpVtbl -> get_IgnorableServerCertificateErrors(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0083 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketControl3[] = L"Windows.Networking.Sockets.IStreamSocketControl3";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0083 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0083_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0083_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketControl3 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("C56A444C-4E74-403E-894C-B31CAE5C7342")
                    IStreamSocketControl3 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SerializeConnectionAttempts( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SerializeConnectionAttempts( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClientCertificate( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Security::Cryptography::Certificates::ICertificate **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClientCertificate( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Security::Cryptography::Certificates::ICertificate *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketControl3 = __uuidof(IStreamSocketControl3);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3 * 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_CSockets_CIStreamSocketControl3 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerializeConnectionAttempts )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3 * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SerializeConnectionAttempts )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3 * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientCertificate )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3 * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClientCertificate )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3 * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_get_SerializeConnectionAttempts(This,value)	\
    ( (This)->lpVtbl -> get_SerializeConnectionAttempts(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_put_SerializeConnectionAttempts(This,value)	\
    ( (This)->lpVtbl -> put_SerializeConnectionAttempts(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_get_ClientCertificate(This,value)	\
    ( (This)->lpVtbl -> get_ClientCertificate(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_put_ClientCertificate(This,value)	\
    ( (This)->lpVtbl -> put_ClientCertificate(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl3_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0084 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketInformation[] = L"Windows.Networking.Sockets.IStreamSocketInformation";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0084 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0084_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0084_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketInformation */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("3B80AE30-5E68-4205-88F0-DC85D2E25DED")
                    IStreamSocketInformation : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalAddress( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::IHostName **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalPort( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemoteHostName( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::IHostName **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemoteAddress( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::IHostName **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemoteServiceName( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemotePort( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RoundTripTimeStatistics( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::RoundTripTimeStatistics *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BandwidthStatistics( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::BandwidthStatistics *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProtectionLevel( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketProtectionLevel *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SessionKey( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IBuffer **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketInformation = __uuidof(IStreamSocketInformation);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * 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_CSockets_CIStreamSocketInformation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalAddress )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalPort )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemoteHostName )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemoteAddress )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemoteServiceName )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemotePort )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoundTripTimeStatistics )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CRoundTripTimeStatistics *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BandwidthStatistics )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CBandwidthStatistics *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProtectionLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketProtectionLevel *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SessionKey )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIBuffer **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformationVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_get_LocalAddress(This,value)	\
    ( (This)->lpVtbl -> get_LocalAddress(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_get_LocalPort(This,value)	\
    ( (This)->lpVtbl -> get_LocalPort(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_get_RemoteHostName(This,value)	\
    ( (This)->lpVtbl -> get_RemoteHostName(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_get_RemoteAddress(This,value)	\
    ( (This)->lpVtbl -> get_RemoteAddress(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_get_RemoteServiceName(This,value)	\
    ( (This)->lpVtbl -> get_RemoteServiceName(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_get_RemotePort(This,value)	\
    ( (This)->lpVtbl -> get_RemotePort(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_get_RoundTripTimeStatistics(This,value)	\
    ( (This)->lpVtbl -> get_RoundTripTimeStatistics(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_get_BandwidthStatistics(This,value)	\
    ( (This)->lpVtbl -> get_BandwidthStatistics(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_get_ProtectionLevel(This,value)	\
    ( (This)->lpVtbl -> get_ProtectionLevel(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_get_SessionKey(This,value)	\
    ( (This)->lpVtbl -> get_SessionKey(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0085 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketInformation2[] = L"Windows.Networking.Sockets.IStreamSocketInformation2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0085 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0085_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0085_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketInformation2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("12C28452-4BDC-4EE4-976A-CF130E9D92E3")
                    IStreamSocketInformation2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerCertificateErrorSeverity( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketSslErrorSeverity *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerCertificateErrors( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerCertificate( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Security::Cryptography::Certificates::ICertificate **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerIntermediateCertificates( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketInformation2 = __uuidof(IStreamSocketInformation2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2 * 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_CSockets_CIStreamSocketInformation2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerCertificateErrorSeverity )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2 * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketSslErrorSeverity *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerCertificateErrors )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerCertificate )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerIntermediateCertificates )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_get_ServerCertificateErrorSeverity(This,value)	\
    ( (This)->lpVtbl -> get_ServerCertificateErrorSeverity(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_get_ServerCertificateErrors(This,value)	\
    ( (This)->lpVtbl -> get_ServerCertificateErrors(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_get_ServerCertificate(This,value)	\
    ( (This)->lpVtbl -> get_ServerCertificate(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_get_ServerIntermediateCertificates(This,value)	\
    ( (This)->lpVtbl -> get_ServerIntermediateCertificates(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0086 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketListener[] = L"Windows.Networking.Sockets.IStreamSocketListener";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0086 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0086_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0086_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketListener */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("FF513437-DF9F-4DF0-BF82-0EC5D7B35AAE")
                    IStreamSocketListener : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Control( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IStreamSocketListenerControl **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Information( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IStreamSocketListenerInformation **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE BindServiceNameAsync( 
                            /* [in] */ __RPC__in HSTRING localServiceName,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE BindEndpointAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *localHostName,
                            /* [in] */ __RPC__in HSTRING localServiceName,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_ConnectionReceived( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs *eventHandler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_ConnectionReceived( 
                            /* [in] */ EventRegistrationToken eventCookie) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketListener = __uuidof(IStreamSocketListener);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener * 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_CSockets_CIStreamSocketListener * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Control )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Information )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation **value);
        
        HRESULT ( STDMETHODCALLTYPE *BindServiceNameAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener * This,
            /* [in] */ __RPC__in HSTRING localServiceName,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *BindEndpointAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *localHostName,
            /* [in] */ __RPC__in HSTRING localServiceName,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *add_ConnectionReceived )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs *eventHandler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie);
        
        HRESULT ( STDMETHODCALLTYPE *remove_ConnectionReceived )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener * This,
            /* [in] */ EventRegistrationToken eventCookie);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_get_Control(This,value)	\
    ( (This)->lpVtbl -> get_Control(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_get_Information(This,value)	\
    ( (This)->lpVtbl -> get_Information(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_BindServiceNameAsync(This,localServiceName,operation)	\
    ( (This)->lpVtbl -> BindServiceNameAsync(This,localServiceName,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_BindEndpointAsync(This,localHostName,localServiceName,operation)	\
    ( (This)->lpVtbl -> BindEndpointAsync(This,localHostName,localServiceName,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_add_ConnectionReceived(This,eventHandler,eventCookie)	\
    ( (This)->lpVtbl -> add_ConnectionReceived(This,eventHandler,eventCookie) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_remove_ConnectionReceived(This,eventCookie)	\
    ( (This)->lpVtbl -> remove_ConnectionReceived(This,eventCookie) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0087 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketListener2[] = L"Windows.Networking.Sockets.IStreamSocketListener2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0087 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0087_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0087_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketListener2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("658DC13E-BB3E-4458-B232-ED1088694B98")
                    IStreamSocketListener2 : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE BindServiceNameWithProtectionLevelAsync( 
                            /* [in] */ __RPC__in HSTRING localServiceName,
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketProtectionLevel protectionLevel,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE BindServiceNameWithProtectionLevelAndAdapterAsync( 
                            /* [in] */ __RPC__in HSTRING localServiceName,
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketProtectionLevel protectionLevel,
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Connectivity::INetworkAdapter *adapter,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketListener2 = __uuidof(IStreamSocketListener2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2 * 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_CSockets_CIStreamSocketListener2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *BindServiceNameWithProtectionLevelAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2 * This,
            /* [in] */ __RPC__in HSTRING localServiceName,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketProtectionLevel protectionLevel,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *BindServiceNameWithProtectionLevelAndAdapterAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2 * This,
            /* [in] */ __RPC__in HSTRING localServiceName,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketProtectionLevel protectionLevel,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CConnectivity_CINetworkAdapter *adapter,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2_BindServiceNameWithProtectionLevelAsync(This,localServiceName,protectionLevel,operation)	\
    ( (This)->lpVtbl -> BindServiceNameWithProtectionLevelAsync(This,localServiceName,protectionLevel,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2_BindServiceNameWithProtectionLevelAndAdapterAsync(This,localServiceName,protectionLevel,adapter,operation)	\
    ( (This)->lpVtbl -> BindServiceNameWithProtectionLevelAndAdapterAsync(This,localServiceName,protectionLevel,adapter,operation) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0088 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketListener3[] = L"Windows.Networking.Sockets.IStreamSocketListener3";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0088 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0088_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0088_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketListener3 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("4798201C-BDF8-4919-8542-28D450E74507")
                    IStreamSocketListener3 : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE CancelIOAsync( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE EnableTransferOwnership( 
                            /* [in] */ GUID taskId) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE EnableTransferOwnershipWithConnectedStandbyAction( 
                            /* [in] */ GUID taskId,
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketActivityConnectedStandbyAction connectedStandbyAction) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE TransferOwnership( 
                            /* [in] */ __RPC__in HSTRING socketId) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE TransferOwnershipWithContext( 
                            /* [in] */ __RPC__in HSTRING socketId,
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::Sockets::ISocketActivityContext *data) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketListener3 = __uuidof(IStreamSocketListener3);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 * 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_CSockets_CIStreamSocketListener3 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *CancelIOAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *EnableTransferOwnership )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 * This,
            /* [in] */ GUID taskId);
        
        HRESULT ( STDMETHODCALLTYPE *EnableTransferOwnershipWithConnectedStandbyAction )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 * This,
            /* [in] */ GUID taskId,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketActivityConnectedStandbyAction connectedStandbyAction);
        
        HRESULT ( STDMETHODCALLTYPE *TransferOwnership )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 * This,
            /* [in] */ __RPC__in HSTRING socketId);
        
        HRESULT ( STDMETHODCALLTYPE *TransferOwnershipWithContext )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3 * This,
            /* [in] */ __RPC__in HSTRING socketId,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CSockets_CISocketActivityContext *data);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_CancelIOAsync(This,operation)	\
    ( (This)->lpVtbl -> CancelIOAsync(This,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_EnableTransferOwnership(This,taskId)	\
    ( (This)->lpVtbl -> EnableTransferOwnership(This,taskId) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_EnableTransferOwnershipWithConnectedStandbyAction(This,taskId,connectedStandbyAction)	\
    ( (This)->lpVtbl -> EnableTransferOwnershipWithConnectedStandbyAction(This,taskId,connectedStandbyAction) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_TransferOwnership(This,socketId)	\
    ( (This)->lpVtbl -> TransferOwnership(This,socketId) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_TransferOwnershipWithContext(This,socketId,data)	\
    ( (This)->lpVtbl -> TransferOwnershipWithContext(This,socketId,data) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener3_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0089 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketListenerConnectionReceivedEventArgs[] = L"Windows.Networking.Sockets.IStreamSocketListenerConnectionReceivedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0089 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0089_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0089_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketListenerConnectionReceivedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("0C472EA9-373F-447B-85B1-DDD4548803BA")
                    IStreamSocketListenerConnectionReceivedEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Socket( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IStreamSocket **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketListenerConnectionReceivedEventArgs = __uuidof(IStreamSocketListenerConnectionReceivedEventArgs);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs * 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_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Socket )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs_get_Socket(This,value)	\
    ( (This)->lpVtbl -> get_Socket(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0090 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketListenerControl[] = L"Windows.Networking.Sockets.IStreamSocketListenerControl";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0090 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0090_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0090_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketListenerControl */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("20D8C576-8D8A-4DBA-9722-A16C4D984980")
                    IStreamSocketListenerControl : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_QualityOfService( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketQualityOfService *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_QualityOfService( 
                            /* [in] */ ABI::Windows::Networking::Sockets::SocketQualityOfService value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketListenerControl = __uuidof(IStreamSocketListenerControl);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl * 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_CSockets_CIStreamSocketListenerControl * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_QualityOfService )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketQualityOfService *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_QualityOfService )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl * This,
            /* [in] */ __x_ABI_CWindows_CNetworking_CSockets_CSocketQualityOfService value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControlVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl_get_QualityOfService(This,value)	\
    ( (This)->lpVtbl -> get_QualityOfService(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl_put_QualityOfService(This,value)	\
    ( (This)->lpVtbl -> put_QualityOfService(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0091 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketListenerControl2[] = L"Windows.Networking.Sockets.IStreamSocketListenerControl2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0091 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0091_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0091_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketListenerControl2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("948BB665-2C3E-404B-B8B0-8EB249A2B0A1")
                    IStreamSocketListenerControl2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NoDelay( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NoDelay( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeepAlive( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeepAlive( 
                            /* [in] */ boolean value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutboundBufferSizeInBytes( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OutboundBufferSizeInBytes( 
                            /* [in] */ UINT32 value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutboundUnicastHopLimit( 
                            /* [out][retval] */ __RPC__out BYTE *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OutboundUnicastHopLimit( 
                            /* [in] */ BYTE value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketListenerControl2 = __uuidof(IStreamSocketListenerControl2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * 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_CSockets_CIStreamSocketListenerControl2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NoDelay )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NoDelay )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeepAlive )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeepAlive )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This,
            /* [in] */ boolean value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutboundBufferSizeInBytes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OutboundBufferSizeInBytes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This,
            /* [in] */ UINT32 value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutboundUnicastHopLimit )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This,
            /* [out][retval] */ __RPC__out BYTE *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OutboundUnicastHopLimit )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2 * This,
            /* [in] */ BYTE value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_get_NoDelay(This,value)	\
    ( (This)->lpVtbl -> get_NoDelay(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_put_NoDelay(This,value)	\
    ( (This)->lpVtbl -> put_NoDelay(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_get_KeepAlive(This,value)	\
    ( (This)->lpVtbl -> get_KeepAlive(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_put_KeepAlive(This,value)	\
    ( (This)->lpVtbl -> put_KeepAlive(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_get_OutboundBufferSizeInBytes(This,value)	\
    ( (This)->lpVtbl -> get_OutboundBufferSizeInBytes(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_put_OutboundBufferSizeInBytes(This,value)	\
    ( (This)->lpVtbl -> put_OutboundBufferSizeInBytes(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_get_OutboundUnicastHopLimit(This,value)	\
    ( (This)->lpVtbl -> get_OutboundUnicastHopLimit(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_put_OutboundUnicastHopLimit(This,value)	\
    ( (This)->lpVtbl -> put_OutboundUnicastHopLimit(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0092 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketListenerInformation[] = L"Windows.Networking.Sockets.IStreamSocketListenerInformation";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0092 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0092_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0092_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketListenerInformation */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("E62BA82F-A63A-430B-BF62-29E93E5633B4")
                    IStreamSocketListenerInformation : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalPort( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketListenerInformation = __uuidof(IStreamSocketListenerInformation);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation * 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_CSockets_CIStreamSocketListenerInformation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalPort )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformationVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation_get_LocalPort(This,value)	\
    ( (This)->lpVtbl -> get_LocalPort(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0093 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamSocketStatics[] = L"Windows.Networking.Sockets.IStreamSocketStatics";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0093 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0093_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0093_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamSocketStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("A420BC4A-6E2E-4AF5-B556-355AE0CD4F29")
                    IStreamSocketStatics : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE GetEndpointPairsAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *remoteHostName,
                            /* [in] */ __RPC__in HSTRING remoteServiceName,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetEndpointPairsWithSortOptionsAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Networking::IHostName *remoteHostName,
                            /* [in] */ __RPC__in HSTRING remoteServiceName,
                            /* [in] */ ABI::Windows::Networking::HostNameSortOptions sortOptions,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair **operation) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamSocketStatics = __uuidof(IStreamSocketStatics);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics * 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_CSockets_CIStreamSocketStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetEndpointPairsAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *remoteHostName,
            /* [in] */ __RPC__in HSTRING remoteServiceName,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair **operation);
        
        HRESULT ( STDMETHODCALLTYPE *GetEndpointPairsWithSortOptionsAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CNetworking_CIHostName *remoteHostName,
            /* [in] */ __RPC__in HSTRING remoteServiceName,
            /* [in] */ __x_ABI_CWindows_CNetworking_CHostNameSortOptions sortOptions,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1___FIVectorView_1_Windows__CNetworking__CEndpointPair **operation);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStaticsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics_GetEndpointPairsAsync(This,remoteHostName,remoteServiceName,operation)	\
    ( (This)->lpVtbl -> GetEndpointPairsAsync(This,remoteHostName,remoteServiceName,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics_GetEndpointPairsWithSortOptionsAsync(This,remoteHostName,remoteServiceName,sortOptions,operation)	\
    ( (This)->lpVtbl -> GetEndpointPairsWithSortOptionsAsync(This,remoteHostName,remoteServiceName,sortOptions,operation) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0094 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamWebSocket[] = L"Windows.Networking.Sockets.IStreamWebSocket";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0094 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0094_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0094_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamWebSocket */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("BD4A49D8-B289-45BB-97EB-C7525205A843")
                    IStreamWebSocket : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Control( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IStreamWebSocketControl **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Information( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::Sockets::IWebSocketInformation **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InputStream( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IInputStream **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamWebSocket = __uuidof(IStreamWebSocket);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket * 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_CSockets_CIStreamWebSocket * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Control )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Information )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputStream )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIInputStream **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_get_Control(This,value)	\
    ( (This)->lpVtbl -> get_Control(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_get_Information(This,value)	\
    ( (This)->lpVtbl -> get_Information(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_get_InputStream(This,value)	\
    ( (This)->lpVtbl -> get_InputStream(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0095 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamWebSocket2[] = L"Windows.Networking.Sockets.IStreamWebSocket2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0095 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0095_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0095_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamWebSocket2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("AA4D08CB-93F5-4678-8236-57CCE5417ED5")
                    IStreamWebSocket2 : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE add_ServerCustomValidationRequested( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs *eventHandler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_ServerCustomValidationRequested( 
                            /* [in] */ EventRegistrationToken eventCookie) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamWebSocket2 = __uuidof(IStreamWebSocket2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2 * 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_CSockets_CIStreamWebSocket2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *add_ServerCustomValidationRequested )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2 * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamWebSocket_Windows__CNetworking__CSockets__CWebSocketServerCustomValidationRequestedEventArgs *eventHandler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie);
        
        HRESULT ( STDMETHODCALLTYPE *remove_ServerCustomValidationRequested )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2 * This,
            /* [in] */ EventRegistrationToken eventCookie);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2_add_ServerCustomValidationRequested(This,eventHandler,eventCookie)	\
    ( (This)->lpVtbl -> add_ServerCustomValidationRequested(This,eventHandler,eventCookie) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2_remove_ServerCustomValidationRequested(This,eventCookie)	\
    ( (This)->lpVtbl -> remove_ServerCustomValidationRequested(This,eventCookie) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0096 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IStreamWebSocketControl[] = L"Windows.Networking.Sockets.IStreamWebSocketControl";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0096 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0096_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0096_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IStreamWebSocketControl */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("B4F478B1-A45A-48DB-953A-645B7D964C07")
                    IStreamWebSocketControl : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NoDelay( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NoDelay( 
                            /* [in] */ boolean value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IStreamWebSocketControl = __uuidof(IStreamWebSocketControl);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl * 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_CSockets_CIStreamWebSocketControl * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NoDelay )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NoDelay )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl * This,
            /* [in] */ boolean value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControlVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl_get_NoDelay(This,value)	\
    ( (This)->lpVtbl -> get_NoDelay(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl_put_NoDelay(This,value)	\
    ( (This)->lpVtbl -> put_NoDelay(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0097 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IWebSocket[] = L"Windows.Networking.Sockets.IWebSocket";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0097 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0097_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0097_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IWebSocket */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIWebSocket;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("F877396F-99B1-4E18-BC08-850C9ADF156E")
                    IWebSocket : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutputStream( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IOutputStream **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE ConnectAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Foundation::IUriRuntimeClass *uri,
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IAsyncAction **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SetRequestHeader( 
                            /* [in] */ __RPC__in HSTRING headerName,
                            /* [in] */ __RPC__in HSTRING headerValue) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_Closed( 
                            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs *eventHandler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_Closed( 
                            /* [in] */ EventRegistrationToken eventCookie) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CloseWithStatus( 
                            /* [in] */ UINT16 code,
                            /* [in] */ __RPC__in HSTRING reason) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IWebSocket = __uuidof(IWebSocket);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket * 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_CSockets_CIWebSocket * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputStream )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIOutputStream **value);
        
        HRESULT ( STDMETHODCALLTYPE *ConnectAsync )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CFoundation_CIUriRuntimeClass *uri,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIAsyncAction **operation);
        
        HRESULT ( STDMETHODCALLTYPE *SetRequestHeader )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket * This,
            /* [in] */ __RPC__in HSTRING headerName,
            /* [in] */ __RPC__in HSTRING headerValue);
        
        HRESULT ( STDMETHODCALLTYPE *add_Closed )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket * This,
            /* [in] */ __RPC__in_opt __FITypedEventHandler_2_Windows__CNetworking__CSockets__CIWebSocket_Windows__CNetworking__CSockets__CWebSocketClosedEventArgs *eventHandler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *eventCookie);
        
        HRESULT ( STDMETHODCALLTYPE *remove_Closed )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket * This,
            /* [in] */ EventRegistrationToken eventCookie);
        
        HRESULT ( STDMETHODCALLTYPE *CloseWithStatus )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket * This,
            /* [in] */ UINT16 code,
            /* [in] */ __RPC__in HSTRING reason);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_get_OutputStream(This,value)	\
    ( (This)->lpVtbl -> get_OutputStream(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_ConnectAsync(This,uri,operation)	\
    ( (This)->lpVtbl -> ConnectAsync(This,uri,operation) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_SetRequestHeader(This,headerName,headerValue)	\
    ( (This)->lpVtbl -> SetRequestHeader(This,headerName,headerValue) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_add_Closed(This,eventHandler,eventCookie)	\
    ( (This)->lpVtbl -> add_Closed(This,eventHandler,eventCookie) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_remove_Closed(This,eventCookie)	\
    ( (This)->lpVtbl -> remove_Closed(This,eventCookie) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_CloseWithStatus(This,code,reason)	\
    ( (This)->lpVtbl -> CloseWithStatus(This,code,reason) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0098 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IWebSocketClosedEventArgs[] = L"Windows.Networking.Sockets.IWebSocketClosedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0098 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0098_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0098_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IWebSocketClosedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("CEB78D07-D0A8-4703-A091-C8C2C0915BC3")
                    IWebSocketClosedEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Code( 
                            /* [out][retval] */ __RPC__out UINT16 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Reason( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IWebSocketClosedEventArgs = __uuidof(IWebSocketClosedEventArgs);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs * 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_CSockets_CIWebSocketClosedEventArgs * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Code )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs * This,
            /* [out][retval] */ __RPC__out UINT16 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Reason )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs_get_Code(This,value)	\
    ( (This)->lpVtbl -> get_Code(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs_get_Reason(This,value)	\
    ( (This)->lpVtbl -> get_Reason(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0099 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IWebSocketControl[] = L"Windows.Networking.Sockets.IWebSocketControl";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0099 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0099_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0099_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IWebSocketControl */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("2EC4BDC3-D9A5-455A-9811-DE24D45337E9")
                    IWebSocketControl : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OutboundBufferSizeInBytes( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OutboundBufferSizeInBytes( 
                            /* [in] */ UINT32 value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerCredential( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Security::Credentials::IPasswordCredential **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ServerCredential( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Security::Credentials::IPasswordCredential *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProxyCredential( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Security::Credentials::IPasswordCredential **value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProxyCredential( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Security::Credentials::IPasswordCredential *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedProtocols( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IWebSocketControl = __uuidof(IWebSocketControl);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * 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_CSockets_CIWebSocketControl * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutboundBufferSizeInBytes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OutboundBufferSizeInBytes )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * This,
            /* [in] */ UINT32 value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerCredential )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ServerCredential )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProxyCredential )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential **value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProxyCredential )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CSecurity_CCredentials_CIPasswordCredential *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedProtocols )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControlVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_get_OutboundBufferSizeInBytes(This,value)	\
    ( (This)->lpVtbl -> get_OutboundBufferSizeInBytes(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_put_OutboundBufferSizeInBytes(This,value)	\
    ( (This)->lpVtbl -> put_OutboundBufferSizeInBytes(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_get_ServerCredential(This,value)	\
    ( (This)->lpVtbl -> get_ServerCredential(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_put_ServerCredential(This,value)	\
    ( (This)->lpVtbl -> put_ServerCredential(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_get_ProxyCredential(This,value)	\
    ( (This)->lpVtbl -> get_ProxyCredential(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_put_ProxyCredential(This,value)	\
    ( (This)->lpVtbl -> put_ProxyCredential(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_get_SupportedProtocols(This,value)	\
    ( (This)->lpVtbl -> get_SupportedProtocols(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0100 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IWebSocketControl2[] = L"Windows.Networking.Sockets.IWebSocketControl2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0100 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0100_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0100_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IWebSocketControl2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("79C3BE03-F2CA-461E-AF4E-9665BC2D0620")
                    IWebSocketControl2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IgnorableServerCertificateErrors( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IWebSocketControl2 = __uuidof(IWebSocketControl2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2 * 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_CSockets_CIWebSocketControl2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IgnorableServerCertificateErrors )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2_get_IgnorableServerCertificateErrors(This,value)	\
    ( (This)->lpVtbl -> get_IgnorableServerCertificateErrors(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0101 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IWebSocketErrorStatics[] = L"Windows.Networking.Sockets.IWebSocketErrorStatics";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0101 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0101_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0101_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IWebSocketErrorStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("27CDF35B-1F61-4709-8E02-61283ADA4E9D")
                    IWebSocketErrorStatics : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE GetStatus( 
                            /* [in] */ INT32 hresult,
                            /* [out][retval] */ __RPC__out ABI::Windows::Web::WebErrorStatus *status) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IWebSocketErrorStatics = __uuidof(IWebSocketErrorStatics);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics * 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_CSockets_CIWebSocketErrorStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics * This,
            /* [in] */ INT32 hresult,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CWeb_CWebErrorStatus *status);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStaticsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics_GetStatus(This,hresult,status)	\
    ( (This)->lpVtbl -> GetStatus(This,hresult,status) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0102 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IWebSocketInformation[] = L"Windows.Networking.Sockets.IWebSocketInformation";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0102 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0102_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0102_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IWebSocketInformation */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("5E01E316-C92A-47A5-B25F-07847639D181")
                    IWebSocketInformation : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalAddress( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Networking::IHostName **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BandwidthStatistics( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::BandwidthStatistics *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Protocol( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IWebSocketInformation = __uuidof(IWebSocketInformation);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation * 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_CSockets_CIWebSocketInformation * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalAddress )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CNetworking_CIHostName **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BandwidthStatistics )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CBandwidthStatistics *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Protocol )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformationVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_get_LocalAddress(This,value)	\
    ( (This)->lpVtbl -> get_LocalAddress(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_get_BandwidthStatistics(This,value)	\
    ( (This)->lpVtbl -> get_BandwidthStatistics(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_get_Protocol(This,value)	\
    ( (This)->lpVtbl -> get_Protocol(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0103 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IWebSocketInformation2[] = L"Windows.Networking.Sockets.IWebSocketInformation2";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0103 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0103_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0103_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2 */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IWebSocketInformation2 */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("CE1D39CE-A1B7-4D43-8269-8D5B981BD47A")
                    IWebSocketInformation2 : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerCertificate( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Security::Cryptography::Certificates::ICertificate **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerCertificateErrorSeverity( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketSslErrorSeverity *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerCertificateErrors( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerIntermediateCertificates( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IWebSocketInformation2 = __uuidof(IWebSocketInformation2);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2 * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2 * 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_CSockets_CIWebSocketInformation2 * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2 * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerCertificate )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerCertificateErrorSeverity )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2 * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketSslErrorSeverity *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerCertificateErrors )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerIntermediateCertificates )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2 * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2Vtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_get_ServerCertificate(This,value)	\
    ( (This)->lpVtbl -> get_ServerCertificate(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_get_ServerCertificateErrorSeverity(This,value)	\
    ( (This)->lpVtbl -> get_ServerCertificateErrorSeverity(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_get_ServerCertificateErrors(This,value)	\
    ( (This)->lpVtbl -> get_ServerCertificateErrors(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_get_ServerIntermediateCertificates(This,value)	\
    ( (This)->lpVtbl -> get_ServerIntermediateCertificates(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0104 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Networking_Sockets_IWebSocketServerCustomValidationRequestedEventArgs[] = L"Windows.Networking.Sockets.IWebSocketServerCustomValidationRequestedEventArgs";
#endif /* !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0104 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0104_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0104_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs */
/* [uuid][object] */ 



/* interface ABI::Windows::Networking::Sockets::IWebSocketServerCustomValidationRequestedEventArgs */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Networking {
                namespace Sockets {
                    
                    MIDL_INTERFACE("FFEFFE48-022A-4AB7-8B36-E10AF4640E6B")
                    IWebSocketServerCustomValidationRequestedEventArgs : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerCertificate( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Security::Cryptography::Certificates::ICertificate **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerCertificateErrorSeverity( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Networking::Sockets::SocketSslErrorSeverity *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerCertificateErrors( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerIntermediateCertificates( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE Reject( void) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetDeferral( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Foundation::IDeferral **result) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IWebSocketServerCustomValidationRequestedEventArgs = __uuidof(IWebSocketServerCustomValidationRequestedEventArgs);

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

    typedef struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * 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_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerCertificate )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CSecurity_CCryptography_CCertificates_CICertificate **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerCertificateErrorSeverity )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CNetworking_CSockets_CSocketSslErrorSeverity *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerCertificateErrors )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CChainValidationResult **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerIntermediateCertificates )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CSecurity__CCryptography__CCertificates__CCertificate **value);
        
        HRESULT ( STDMETHODCALLTYPE *Reject )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            __RPC__in __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CFoundation_CIDeferral **result);
        
        END_INTERFACE
    } __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgsVtbl;

    interface __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs
    {
        CONST_VTBL struct __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_get_ServerCertificate(This,value)	\
    ( (This)->lpVtbl -> get_ServerCertificate(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_get_ServerCertificateErrorSeverity(This,value)	\
    ( (This)->lpVtbl -> get_ServerCertificateErrorSeverity(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_get_ServerCertificateErrors(This,value)	\
    ( (This)->lpVtbl -> get_ServerCertificateErrors(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_get_ServerIntermediateCertificates(This,value)	\
    ( (This)->lpVtbl -> get_ServerIntermediateCertificates(This,value) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_Reject(This)	\
    ( (This)->lpVtbl -> Reject(This) ) 

#define __x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_GetDeferral(This,result)	\
    ( (This)->lpVtbl -> GetDeferral(This,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketServerCustomValidationRequestedEventArgs_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0105 */
/* [local] */ 

#ifndef RUNTIMECLASS_Windows_Networking_Sockets_ControlChannelTrigger_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_ControlChannelTrigger_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_ControlChannelTrigger[] = L"Windows.Networking.Sockets.ControlChannelTrigger";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocket_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocket_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_DatagramSocket[] = L"Windows.Networking.Sockets.DatagramSocket";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocketControl_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocketControl_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_DatagramSocketControl[] = L"Windows.Networking.Sockets.DatagramSocketControl";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocketInformation_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocketInformation_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_DatagramSocketInformation[] = L"Windows.Networking.Sockets.DatagramSocketInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocketMessageReceivedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocketMessageReceivedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_DatagramSocketMessageReceivedEventArgs[] = L"Windows.Networking.Sockets.DatagramSocketMessageReceivedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocket_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocket_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_MessageWebSocket[] = L"Windows.Networking.Sockets.MessageWebSocket";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocketControl_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocketControl_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_MessageWebSocketControl[] = L"Windows.Networking.Sockets.MessageWebSocketControl";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocketInformation_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocketInformation_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_MessageWebSocketInformation[] = L"Windows.Networking.Sockets.MessageWebSocketInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocketMessageReceivedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocketMessageReceivedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_MessageWebSocketMessageReceivedEventArgs[] = L"Windows.Networking.Sockets.MessageWebSocketMessageReceivedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_SocketActivityContext_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_SocketActivityContext_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_SocketActivityContext[] = L"Windows.Networking.Sockets.SocketActivityContext";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_SocketActivityInformation_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_SocketActivityInformation_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_SocketActivityInformation[] = L"Windows.Networking.Sockets.SocketActivityInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_SocketActivityTriggerDetails_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_SocketActivityTriggerDetails_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_SocketActivityTriggerDetails[] = L"Windows.Networking.Sockets.SocketActivityTriggerDetails";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_SocketError_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_SocketError_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_SocketError[] = L"Windows.Networking.Sockets.SocketError";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamSocket_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamSocket_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_StreamSocket[] = L"Windows.Networking.Sockets.StreamSocket";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketControl_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketControl_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_StreamSocketControl[] = L"Windows.Networking.Sockets.StreamSocketControl";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketInformation_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketInformation_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_StreamSocketInformation[] = L"Windows.Networking.Sockets.StreamSocketInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListener_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListener_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_StreamSocketListener[] = L"Windows.Networking.Sockets.StreamSocketListener";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListenerConnectionReceivedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListenerConnectionReceivedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_StreamSocketListenerConnectionReceivedEventArgs[] = L"Windows.Networking.Sockets.StreamSocketListenerConnectionReceivedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListenerControl_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListenerControl_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_StreamSocketListenerControl[] = L"Windows.Networking.Sockets.StreamSocketListenerControl";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListenerInformation_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListenerInformation_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_StreamSocketListenerInformation[] = L"Windows.Networking.Sockets.StreamSocketListenerInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamWebSocket_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamWebSocket_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_StreamWebSocket[] = L"Windows.Networking.Sockets.StreamWebSocket";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamWebSocketControl_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamWebSocketControl_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_StreamWebSocketControl[] = L"Windows.Networking.Sockets.StreamWebSocketControl";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamWebSocketInformation_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamWebSocketInformation_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_StreamWebSocketInformation[] = L"Windows.Networking.Sockets.StreamWebSocketInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_WebSocketClosedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_WebSocketClosedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_WebSocketClosedEventArgs[] = L"Windows.Networking.Sockets.WebSocketClosedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_WebSocketError_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_WebSocketError_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_WebSocketError[] = L"Windows.Networking.Sockets.WebSocketError";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_WebSocketKeepAlive_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_WebSocketKeepAlive_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_WebSocketKeepAlive[] = L"Windows.Networking.Sockets.WebSocketKeepAlive";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_WebSocketServerCustomValidationRequestedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_WebSocketServerCustomValidationRequestedEventArgs_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Networking_Sockets_WebSocketServerCustomValidationRequestedEventArgs[] = L"Windows.Networking.Sockets.WebSocketServerCustomValidationRequestedEventArgs";
#endif


/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0105 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0105_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0105_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


