

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


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

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


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

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

#include "rpc.h"
#include "rpcndr.h"

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

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __windows2Enetworking2Esockets_h__
#define __windows2Enetworking2Esockets_h__

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

/* Forward Declarations */ 

#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__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 ____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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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__ */


/* 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.Networking.h"
#include "Windows.Security.Credentials.h"
#include "Windows.Storage.Streams.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 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_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_windows2Enetworking2Esockets_0000_0520 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0520 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0520_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0520_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0001 */
/* [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_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_windows2Enetworking2Esockets_0000_0521 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0521 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0521_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0521_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0002 */
/* [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_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_windows2Enetworking2Esockets_0000_0522 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0522 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0522_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0522_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0003 */
/* [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_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_windows2Enetworking2Esockets_0000_0523 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0523 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0523_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0523_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0004 */
/* [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_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_windows2Enetworking2Esockets_0000_0524 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0524 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0524_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0524_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0005 */
/* [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 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_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_windows2Enetworking2Esockets_0000_0525 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0525 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0525_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0525_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0006 */
/* [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 {
class EndpointPair;
} /*Networking*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Networking {
interface IEndpointPair;
} /*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_windows2Enetworking2Esockets_0000_0526 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0526 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0526_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0526_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0007 */
/* [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_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_windows2Enetworking2Esockets_0000_0527 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0527 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0527_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0527_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0008 */
/* [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_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_windows2Enetworking2Esockets_0000_0528 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0528 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0528_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0528_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0009 */
/* [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_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_windows2Enetworking2Esockets_0000_0529 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0529 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0529_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0529_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0010 */
/* [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_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_windows2Enetworking2Esockets_0000_0530 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0530 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0530_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0530_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0011 */
/* [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 Storage {
namespace Streams {
interface IOutputStream;
} /*Streams*/
} /*Storage*/
} /*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_windows2Enetworking2Esockets_0000_0531 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0531 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0531_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0531_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0012 */
/* [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_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_windows2Enetworking2Esockets_0000_0532 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0532 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0532_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0532_v0_0_s_ifspec;

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


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




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0533 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0533_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0533_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0014 */
/* [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_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_windows2Enetworking2Esockets_0000_0534 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0534 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0534_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0534_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0015 */
/* [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_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_windows2Enetworking2Esockets_0000_0535 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0535 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0535_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0535_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0016 */
/* [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_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_windows2Enetworking2Esockets_0000_0536 */




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0536 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0536_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0536_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0017 */
/* [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(__windows2Esecurity2Ecredentials_h__)
#include <Windows.Security.Credentials.h>
#endif // !defined(__windows2Esecurity2Ecredentials_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 Uri;
} /*Foundation*/
} /*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

#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_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_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_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_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_CSocketErrorStatus __x_ABI_CWindows_CNetworking_CSockets_CSocketErrorStatus;


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


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

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

#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 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 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 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 StreamWebSocket;
} /*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_0017 */
/* [local] */ 








#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 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 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 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 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 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 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 struct RoundTripTimeStatistics RoundTripTimeStatistics;
                
            } /* 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





















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




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0537 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0537_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0537_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0018 */
/* [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_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;

#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_0019 */
/* [local] */ 

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


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




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0538 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0538_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0538_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0020 */
/* [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_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;

#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_0021 */
/* [local] */ 

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


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




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0539 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0539_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0539_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0022 */
/* [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_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;

#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_0023 */
/* [local] */ 

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


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




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0540 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0540_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0540_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0024 */
/* [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_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;

#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_0025 */
/* [local] */ 

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


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




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0541 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0541_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0541_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0026 */
/* [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_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;

#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_0027 */
/* [local] */ 

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


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




/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0542 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0542_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Enetworking2Esockets_0000_0542_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Enetworking2Esockets_0000_0028 */
/* [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_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;

#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_0029 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FITypedEventHandler_2_Windows__CNetworking__CSockets__CStreamSocketListener_Windows__CNetworking__CSockets__CStreamSocketListenerConnectionReceivedEventArgs */
#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_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_CControlChannelTriggerResetReason
    {
        ControlChannelTriggerResetReason_FastUserSwitched	= 0,
        ControlChannelTriggerResetReason_LowPowerExit	= 1
    } ;
#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
    } ;
#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_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)
struct __x_ABI_CWindows_CNetworking_CSockets_CRoundTripTimeStatistics
    {
    UINT32 Variance;
    UINT32 Max;
    UINT32 Min;
    UINT32 Sum;
    } ;
#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(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTrigger_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_0029 */
/* [local] */ 

#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 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 ControlChannelTriggerResetReason
                    {
                        ControlChannelTriggerResetReason_FastUserSwitched	= 0,
                        ControlChannelTriggerResetReason_LowPowerExit	= 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 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
                    } ;
            } /* 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 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 {
                
                struct RoundTripTimeStatistics
                    {
                    UINT32 Variance;
                    UINT32 Max;
                    UINT32 Min;
                    UINT32 Sum;
                    } ;
            } /* 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



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;

#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_0030 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerFactory_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_0030 */
/* [local] */ 



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;

#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_0031 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerEventDetails_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0032 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIControlChannelTriggerResetEventDetails_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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;

#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_0033 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketMessageReceivedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0034 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketMessageReceivedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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;

#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_0035 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketClosedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0036 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketInformation_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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;

#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_0037 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0038 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocketStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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;

#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_0039 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIDatagramSocket_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0040 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketInformation_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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;

#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_0041 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0042 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocket_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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;

#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_0043 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0044 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerInformation_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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;

#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_0045 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListenerConnectionReceivedEventArgs_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0046 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamSocketListener_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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;

#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_0047 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0048 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketInformation_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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;

#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_0049 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocket_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0050 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocketControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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;

#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_0051 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIMessageWebSocket_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0052 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocketControl_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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;

#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_0053 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIStreamWebSocket_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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 ____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_0054 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CISocketErrorStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_0054 */
/* [local] */ 



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_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_0055 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CNetworking_CSockets_CIWebSocketErrorStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) 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_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_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_0056 */
/* [local] */ 

#ifndef RUNTIMECLASS_Windows_Networking_Sockets_ControlChannelTrigger_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_ControlChannelTrigger_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Networking_Sockets_ControlChannelTrigger[] = L"Windows.Networking.Sockets.ControlChannelTrigger";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocketControl_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocketControl_DEFINED
extern const __declspec(selectany) 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) WCHAR RuntimeClass_Windows_Networking_Sockets_DatagramSocketInformation[] = L"Windows.Networking.Sockets.DatagramSocketInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocket_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocket_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Networking_Sockets_DatagramSocket[] = L"Windows.Networking.Sockets.DatagramSocket";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocketMessageReceivedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_DatagramSocketMessageReceivedEventArgs_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Networking_Sockets_DatagramSocketMessageReceivedEventArgs[] = L"Windows.Networking.Sockets.DatagramSocketMessageReceivedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketControl_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketControl_DEFINED
extern const __declspec(selectany) 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) WCHAR RuntimeClass_Windows_Networking_Sockets_StreamSocketInformation[] = L"Windows.Networking.Sockets.StreamSocketInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamSocket_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamSocket_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Networking_Sockets_StreamSocket[] = L"Windows.Networking.Sockets.StreamSocket";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListenerControl_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListenerControl_DEFINED
extern const __declspec(selectany) 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) WCHAR RuntimeClass_Windows_Networking_Sockets_StreamSocketListenerInformation[] = L"Windows.Networking.Sockets.StreamSocketListenerInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListener_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamSocketListener_DEFINED
extern const __declspec(selectany) 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) WCHAR RuntimeClass_Windows_Networking_Sockets_StreamSocketListenerConnectionReceivedEventArgs[] = L"Windows.Networking.Sockets.StreamSocketListenerConnectionReceivedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_WebSocketClosedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_WebSocketClosedEventArgs_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Networking_Sockets_WebSocketClosedEventArgs[] = L"Windows.Networking.Sockets.WebSocketClosedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocketControl_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocketControl_DEFINED
extern const __declspec(selectany) 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) WCHAR RuntimeClass_Windows_Networking_Sockets_MessageWebSocketInformation[] = L"Windows.Networking.Sockets.MessageWebSocketInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocket_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocket_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Networking_Sockets_MessageWebSocket[] = L"Windows.Networking.Sockets.MessageWebSocket";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocketMessageReceivedEventArgs_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_MessageWebSocketMessageReceivedEventArgs_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Networking_Sockets_MessageWebSocketMessageReceivedEventArgs[] = L"Windows.Networking.Sockets.MessageWebSocketMessageReceivedEventArgs";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamWebSocketControl_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamWebSocketControl_DEFINED
extern const __declspec(selectany) 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) WCHAR RuntimeClass_Windows_Networking_Sockets_StreamWebSocketInformation[] = L"Windows.Networking.Sockets.StreamWebSocketInformation";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_StreamWebSocket_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_StreamWebSocket_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Networking_Sockets_StreamWebSocket[] = L"Windows.Networking.Sockets.StreamWebSocket";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_WebSocketKeepAlive_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_WebSocketKeepAlive_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Networking_Sockets_WebSocketKeepAlive[] = L"Windows.Networking.Sockets.WebSocketKeepAlive";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_SocketError_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_SocketError_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Networking_Sockets_SocketError[] = L"Windows.Networking.Sockets.SocketError";
#endif
#ifndef RUNTIMECLASS_Windows_Networking_Sockets_WebSocketError_DEFINED
#define RUNTIMECLASS_Windows_Networking_Sockets_WebSocketError_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_Windows_Networking_Sockets_WebSocketError[] = L"Windows.Networking.Sockets.WebSocketError";
#endif


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

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


