

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


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

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

/* Forward Declarations */ 

#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Streaming {
                interface IDeviceControllerFinderHandler;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Streaming {
                interface IConnectionStatusHandler;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice;

#endif 	/* ____FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice;

#endif 	/* ____FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice;

#endif 	/* ____FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__ */


#ifndef ____FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
#define ____FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice;

#endif 	/* ____FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Streaming {
                interface IDeviceController;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_FWD_DEFINED__ */


#ifndef ____FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
typedef interface __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon;

#endif 	/* ____FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__ */


#ifndef ____FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
typedef interface __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon;

#endif 	/* ____FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__ */


#ifndef ____FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
typedef interface __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon;

#endif 	/* ____FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__ */


#ifndef ____FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
#define ____FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
typedef interface __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon;

#endif 	/* ____FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Streaming {
                interface IBasicDevice;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Streaming {
                interface IActiveBasicDevice;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Streaming {
                interface IDeviceIcon;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice;

#endif 	/* ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_FWD_DEFINED__ */


#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair_FWD_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair_FWD_DEFINED__
typedef interface __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair;

#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair_FWD_DEFINED__ */


#ifndef ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_FWD_DEFINED__
#define ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_FWD_DEFINED__
typedef interface __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair;

#endif 	/* ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Streaming {
                interface IActiveBasicDeviceStatics;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_FWD_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIDevicePair_FWD_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIDevicePair_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CMedia_CStreaming_CIDevicePair __x_ABI_CWindows_CMedia_CStreaming_CIDevicePair;

#ifdef __cplusplus
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Streaming {
                interface IDevicePair;
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

#endif /* __cplusplus */

#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIDevicePair_FWD_DEFINED__ */


/* header files for imported files */
#include "windows.foundation.h"
#include "Windows.Storage.Streams.h"

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_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 Media {
namespace Streaming {
interface IBasicDevice;
} /*Streaming*/
} /*Media*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0000 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0000_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0577 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0577 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0577_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0577_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0001 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice_USE
#define DEF___FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("84a8c766-4bc5-5757-9f1b-f61cfd9e5693"))
IIterator<ABI::Windows::Media::Streaming::IBasicDevice*> : IIterator_impl<ABI::Windows::Media::Streaming::IBasicDevice*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Media.Streaming.IBasicDevice>"; }
};
typedef IIterator<ABI::Windows::Media::Streaming::IBasicDevice*> __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice_t;
#define ____FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
#define __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice_t

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0001 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0001_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0578 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0578 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0578_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0578_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0002 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice_USE
#define DEF___FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("7d468b5e-763b-59cd-a086-ec6d8be0d858"))
IIterable<ABI::Windows::Media::Streaming::IBasicDevice*> : IIterable_impl<ABI::Windows::Media::Streaming::IBasicDevice*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Media.Streaming.IBasicDevice>"; }
};
typedef IIterable<ABI::Windows::Media::Streaming::IBasicDevice*> __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice_t;
#define ____FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
#define __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice_t

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0002 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0002_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0579 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0579 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0579_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0579_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0003 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_USE
#define DEF___FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("a55cf16b-71a2-5525-ac3b-2f5bc1eeec46"))
IVectorView<ABI::Windows::Media::Streaming::IBasicDevice*> : IVectorView_impl<ABI::Windows::Media::Streaming::IBasicDevice*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Media.Streaming.IBasicDevice>"; }
};
typedef IVectorView<ABI::Windows::Media::Streaming::IBasicDevice*> __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_t;
#define ____FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
#define __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_t

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0003 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0003_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0580 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0580 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0580_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0580_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0004 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_USE
#define DEF___FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("4c58be45-d16f-5b3a-840d-a6b4e20b7088"))
IVector<ABI::Windows::Media::Streaming::IBasicDevice*> : IVector_impl<ABI::Windows::Media::Streaming::IBasicDevice*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVector`1<Windows.Media.Streaming.IBasicDevice>"; }
};
typedef IVector<ABI::Windows::Media::Streaming::IBasicDevice*> __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_t;
#define ____FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_FWD_DEFINED__
#define __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_t

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0004 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0004_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0581 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0581 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0581_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0581_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0005 */
/* [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_windows2Emedia2Estreaming2Edevices_0000_0005 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0005_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0582 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0582 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0582_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0582_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0006 */
/* [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_windows2Emedia2Estreaming2Edevices_0000_0006 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0006_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0583 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0583 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0583_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0583_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0007 */
/* [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_windows2Emedia2Estreaming2Edevices_0000_0007 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0007_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0584 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0584 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0584_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0584_v0_0_s_ifspec;

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

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Streaming {
interface IDeviceIcon;
} /*Streaming*/
} /*Media*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0008 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0008_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0585 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0585 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0585_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0585_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0009 */
/* [local] */ 

#ifndef DEF___FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon_USE
#define DEF___FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("57fd211a-4ef0-58a0-90e2-7c3b816102c9"))
IIterator<ABI::Windows::Media::Streaming::IDeviceIcon*> : IIterator_impl<ABI::Windows::Media::Streaming::IDeviceIcon*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterator`1<Windows.Media.Streaming.IDeviceIcon>"; }
};
typedef IIterator<ABI::Windows::Media::Streaming::IDeviceIcon*> __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon_t;
#define ____FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
#define __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon ABI::Windows::Foundation::Collections::__FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon_t

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0009 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0009_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0586 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0586 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0586_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0586_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0010 */
/* [local] */ 

#ifndef DEF___FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon_USE
#define DEF___FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("16077ee6-dcfc-53aa-ab0e-d666ac819d6c"))
IIterable<ABI::Windows::Media::Streaming::IDeviceIcon*> : IIterable_impl<ABI::Windows::Media::Streaming::IDeviceIcon*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IIterable`1<Windows.Media.Streaming.IDeviceIcon>"; }
};
typedef IIterable<ABI::Windows::Media::Streaming::IDeviceIcon*> __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon_t;
#define ____FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
#define __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon ABI::Windows::Foundation::Collections::__FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon_t

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0010 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0010_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0587 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0587 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0587_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0587_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0011 */
/* [local] */ 

#ifndef DEF___FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_USE
#define DEF___FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("ff195e52-48eb-5709-be50-3a3914c189db"))
IVectorView<ABI::Windows::Media::Streaming::IDeviceIcon*> : IVectorView_impl<ABI::Windows::Media::Streaming::IDeviceIcon*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVectorView`1<Windows.Media.Streaming.IDeviceIcon>"; }
};
typedef IVectorView<ABI::Windows::Media::Streaming::IDeviceIcon*> __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_t;
#define ____FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
#define __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon ABI::Windows::Foundation::Collections::__FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_t

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0011 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0011_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0588 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0588 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0588_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0588_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0012 */
/* [local] */ 

#ifndef DEF___FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_USE
#define DEF___FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation { namespace Collections {
template <>
struct __declspec(uuid("a32d7731-05f6-55a2-930f-1cf5a12b19ae"))
IVector<ABI::Windows::Media::Streaming::IDeviceIcon*> : IVector_impl<ABI::Windows::Media::Streaming::IDeviceIcon*> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.Collections.IVector`1<Windows.Media.Streaming.IDeviceIcon>"; }
};
typedef IVector<ABI::Windows::Media::Streaming::IDeviceIcon*> __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_t;
#define ____FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_FWD_DEFINED__
#define __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon ABI::Windows::Foundation::Collections::__FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_t

/* ABI */ } /* Windows */ } /* Foundation */ } /* Collections */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Streaming {
class ActiveBasicDevice;
} /*Streaming*/
} /*Media*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Streaming {
interface IActiveBasicDevice;
} /*Streaming*/
} /*Media*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0012 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0012_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0589 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0589 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0589_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0589_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0013 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("4c0d279c-4b4e-5657-b609-6f15ff54212e"))
IAsyncOperationCompletedHandler<ABI::Windows::Media::Streaming::ActiveBasicDevice*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Streaming::ActiveBasicDevice*, ABI::Windows::Media::Streaming::IActiveBasicDevice*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Media.Streaming.ActiveBasicDevice>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Media::Streaming::ActiveBasicDevice*> __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice_t

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0013 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0013_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0590 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0590 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0590_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0590_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0014 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_USE
#define DEF___FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("0c4a4010-9046-5bff-8cc5-cbcde4c2d5c1"))
IAsyncOperation<ABI::Windows::Media::Streaming::ActiveBasicDevice*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Streaming::ActiveBasicDevice*, ABI::Windows::Media::Streaming::IActiveBasicDevice*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Media.Streaming.ActiveBasicDevice>"; }
};
typedef IAsyncOperation<ABI::Windows::Media::Streaming::ActiveBasicDevice*> __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_t;
#define ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_USE */
#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Streaming {
class DevicePair;
} /*Streaming*/
} /*Media*/
} /*Windows*/
}
#endif

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Streaming {
interface IDevicePair;
} /*Streaming*/
} /*Media*/
} /*Windows*/
}
#endif


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0014 */
/* [local] */ 





extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0014_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0591 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0591 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0591_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0591_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0015 */
/* [local] */ 

#ifndef DEF___FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair_USE
#define DEF___FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("cde8d503-5136-5cb9-ab04-11502ec5afeb"))
IAsyncOperationCompletedHandler<ABI::Windows::Media::Streaming::DevicePair*> : IAsyncOperationCompletedHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Streaming::DevicePair*, ABI::Windows::Media::Streaming::IDevicePair*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.AsyncOperationCompletedHandler`1<Windows.Media.Streaming.DevicePair>"; }
};
typedef IAsyncOperationCompletedHandler<ABI::Windows::Media::Streaming::DevicePair*> __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair_t;
#define ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair_FWD_DEFINED__
#define __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair ABI::Windows::Foundation::__FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair_t

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0015 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0015_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0592 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0592 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0592_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0592_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0016 */
/* [local] */ 

#ifndef DEF___FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_USE
#define DEF___FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_USE
#if defined(__cplusplus) && !defined(RO_NO_TEMPLATE_NAME)
} /*extern "C"*/ 
namespace ABI { namespace Windows { namespace Foundation {
template <>
struct __declspec(uuid("d3d31100-6a6e-5775-ae0b-55cbeb23cacf"))
IAsyncOperation<ABI::Windows::Media::Streaming::DevicePair*> : IAsyncOperation_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Windows::Media::Streaming::DevicePair*, ABI::Windows::Media::Streaming::IDevicePair*>> {
static const wchar_t* z_get_rc_name_impl() {
return L"Windows.Foundation.IAsyncOperation`1<Windows.Media.Streaming.DevicePair>"; }
};
typedef IAsyncOperation<ABI::Windows::Media::Streaming::DevicePair*> __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_t;
#define ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_FWD_DEFINED__
#define __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair ABI::Windows::Foundation::__FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_t

/* ABI */ } /* Windows */ } /* Foundation */ }
extern "C" {
#endif //__cplusplus
#endif /* DEF___FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_USE */
#pragma warning(push)
#pragma warning(disable:4001) 
#pragma once
#pragma warning(pop)


#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Streaming {
class BasicDevice;
} /*Streaming*/
} /*Media*/
} /*Windows*/
}
#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef /* [v1_enum][v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CStreaming_CDeviceTypes
    {
        DeviceTypes_Unknown	= 0,
        DeviceTypes_DigitalMediaRenderer	= 0x1,
        DeviceTypes_DigitalMediaServer	= 0x2,
        DeviceTypes_DigitalMediaPlayer	= 0x4
    } 	__x_ABI_CWindows_CMedia_CStreaming_CDeviceTypes;


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


#else
namespace ABI {
namespace Windows {
namespace Media {
namespace Streaming {
typedef enum DeviceTypes DeviceTypes;
DEFINE_ENUM_FLAG_OPERATORS(DeviceTypes)
} /*Streaming*/
} /*Media*/
} /*Windows*/
}
#endif
#if !defined(__cplusplus)
#if !defined(__cplusplus)

typedef /* [v1_enum][v1_enum] */ 
enum __x_ABI_CWindows_CMedia_CStreaming_CConnectionStatus
    {
        ConnectionStatus_Online	= 0,
        ConnectionStatus_Offline	= ( ConnectionStatus_Online + 1 ) ,
        ConnectionStatus_Sleeping	= ( ConnectionStatus_Offline + 1 ) 
    } 	__x_ABI_CWindows_CMedia_CStreaming_CConnectionStatus;


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


#endif


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0016 */
/* [local] */ 




#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Streaming {
                
                typedef /* [v1_enum][v1_enum] */ 
                enum DeviceTypes
                    {
                        DeviceTypes_Unknown	= 0,
                        DeviceTypes_DigitalMediaRenderer	= 0x1,
                        DeviceTypes_DigitalMediaServer	= 0x2,
                        DeviceTypes_DigitalMediaPlayer	= 0x4
                    } 	DeviceTypes;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif

#ifdef __cplusplus

} /* end extern "C" */
namespace ABI {
    namespace Windows {
        namespace Media {
            namespace Streaming {
                
                typedef /* [v1_enum][v1_enum] */ 
                enum ConnectionStatus
                    {
                        ConnectionStatus_Online	= 0,
                        ConnectionStatus_Offline	= ( ConnectionStatus_Online + 1 ) ,
                        ConnectionStatus_Sleeping	= ( ConnectionStatus_Offline + 1 ) 
                    } 	ConnectionStatus;
                
            } /* end namespace */
        } /* end namespace */
    } /* end namespace */
} /* end namespace */

extern "C" { 
#endif



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0016_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Streaming::IDeviceControllerFinderHandler */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Streaming {
                    
                    MIDL_INTERFACE("a88a7d06-988c-4403-9d8a-015bed140b34")
                    IDeviceControllerFinderHandler : public IUnknown
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE Invoke( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IDeviceController *sender,
                            /* [in] */ __RPC__in HSTRING uniqueDeviceName,
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IBasicDevice *device) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceControllerFinderHandler = __uuidof(IDeviceControllerFinderHandler);

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

    typedef struct __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController *sender,
            /* [in] */ __RPC__in HSTRING uniqueDeviceName,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice *device);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandlerVtbl;

    interface __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler_Invoke(This,sender,uniqueDeviceName,device)	\
    ( (This)->lpVtbl -> Invoke(This,sender,uniqueDeviceName,device) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler_INTERFACE_DEFINED__ */


#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Streaming::IConnectionStatusHandler */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Streaming {
                    
                    MIDL_INTERFACE("b571c28c-a472-48d5-88d2-8adcaf1b8813")
                    IConnectionStatusHandler : public IUnknown
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE Invoke( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IBasicDevice *sender,
                            /* [in] */ ABI::Windows::Media::Streaming::ConnectionStatus arg) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IConnectionStatusHandler = __uuidof(IConnectionStatusHandler);

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

    typedef struct __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice *sender,
            /* [in] */ __x_ABI_CWindows_CMedia_CStreaming_CConnectionStatus arg);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandlerVtbl;

    interface __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler_Invoke(This,sender,arg)	\
    ( (This)->lpVtbl -> Invoke(This,sender,arg) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0593 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0593 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0593_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0593_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0019 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0019 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0019_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0019_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("84a8c766-4bc5-5757-9f1b-f61cfd9e5693")
    __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Streaming::IBasicDevice **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Streaming::IBasicDevice **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice **current);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl;

    interface __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice
    {
        CONST_VTBL struct __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0020 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0020 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0020_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0020_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0594 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0594 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0594_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0594_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0021 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0021 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0021_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0021_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7d468b5e-763b-59cd-a086-ec6d8be0d858")
    __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CMedia__CStreaming__CIBasicDevice **first);
        
        END_INTERFACE
    } __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl;

    interface __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice
    {
        CONST_VTBL struct __FIIterable_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0022 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CMedia__CStreaming__CIBasicDevice */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0022 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0022_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0595 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0595 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0595_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0595_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0023 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0023 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0023_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a55cf16b-71a2-5525-ac3b-2f5bc1eeec46")
    __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Streaming::IBasicDevice **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IBasicDevice *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Streaming::IBasicDevice **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl;

    interface __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

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

#define __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0024 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0024 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0024_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0596 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0596 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0596_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0596_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0025 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0025 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0025_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0025_v0_0_s_ifspec;

#ifndef ____FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__
#define ____FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4c58be45-d16f-5b3a-840d-a6b4e20b7088")
    __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Streaming::IBasicDevice **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetView( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice **view) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IBasicDevice *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IBasicDevice *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IBasicDevice *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ unsigned int index) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IBasicDevice *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Streaming::IBasicDevice **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReplaceAll( 
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) ABI::Windows::Media::Streaming::IBasicDevice **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVector_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *GetView )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CStreaming__CIBasicDevice **view);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *SetAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice *item);
        
        HRESULT ( STDMETHODCALLTYPE *InsertAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice *item);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ unsigned int index);
        
        HRESULT ( STDMETHODCALLTYPE *Append )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice *item);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *Clear )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        HRESULT ( STDMETHODCALLTYPE *ReplaceAll )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice * This,
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice **value);
        
        END_INTERFACE
    } __FIVector_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl;

    interface __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice
    {
        CONST_VTBL struct __FIVector_1_Windows__CMedia__CStreaming__CIBasicDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

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

#define __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

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

#define __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0026 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice */
#if !defined(____x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Streaming_IDeviceController[] = L"Windows.Media.Streaming.IDeviceController";
#endif /* !defined(____x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0026 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0026_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0026_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Streaming::IDeviceController */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CStreaming_CIDeviceController;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Streaming {
                    
                    MIDL_INTERFACE("4feeb26d-50a7-402b-896a-be95064d6bff")
                    IDeviceController : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CachedDevices( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE AddDevice( 
                            /* [in] */ __RPC__in HSTRING uniqueDeviceName) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE RemoveDevice( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IBasicDevice *device) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_DeviceArrival( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IDeviceControllerFinderHandler *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_DeviceArrival( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_DeviceDeparture( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IDeviceControllerFinderHandler *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_DeviceDeparture( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceController = __uuidof(IDeviceController);

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

    typedef struct __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This,
            /* [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_CMedia_CStreaming_CIDeviceController * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CachedDevices )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CMedia__CStreaming__CIBasicDevice **value);
        
        HRESULT ( STDMETHODCALLTYPE *AddDevice )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This,
            /* [in] */ __RPC__in HSTRING uniqueDeviceName);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveDevice )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice *device);
        
        HRESULT ( STDMETHODCALLTYPE *add_DeviceArrival )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_DeviceArrival )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This,
            /* [in] */ EventRegistrationToken token);
        
        HRESULT ( STDMETHODCALLTYPE *add_DeviceDeparture )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerFinderHandler *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_DeviceDeparture )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerVtbl;

    interface __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CStreaming_CIDeviceControllerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_get_CachedDevices(This,value)	\
    ( (This)->lpVtbl -> get_CachedDevices(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_AddDevice(This,uniqueDeviceName)	\
    ( (This)->lpVtbl -> AddDevice(This,uniqueDeviceName) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_RemoveDevice(This,device)	\
    ( (This)->lpVtbl -> RemoveDevice(This,device) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_add_DeviceArrival(This,handler,token)	\
    ( (This)->lpVtbl -> add_DeviceArrival(This,handler,token) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_remove_DeviceArrival(This,token)	\
    ( (This)->lpVtbl -> remove_DeviceArrival(This,token) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_add_DeviceDeparture(This,handler,token)	\
    ( (This)->lpVtbl -> add_DeviceDeparture(This,handler,token) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_remove_DeviceDeparture(This,token)	\
    ( (This)->lpVtbl -> remove_DeviceDeparture(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceController_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0597 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0597 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0597_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0597_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0028 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0028 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0028_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0028_v0_0_s_ifspec;

#ifndef ____FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__
#define ____FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("57fd211a-4ef0-58a0-90e2-7c3b816102c9")
    __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon : public IInspectable
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Current( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Streaming::IDeviceIcon **current) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveNext( 
            /* [retval][out] */ __RPC__out boolean *hasCurrent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Streaming::IDeviceIcon **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Current )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon **current);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *MoveNext )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [retval][out] */ __RPC__out boolean *hasCurrent);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl;

    interface __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon
    {
        CONST_VTBL struct __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0029 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0029 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0029_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0029_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0598 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0598 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0598_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0598_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0030 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0030 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0030_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0030_v0_0_s_ifspec;

#ifndef ____FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__
#define ____FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("16077ee6-dcfc-53aa-ab0e-d666ac819d6c")
    __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE First( 
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon **first) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *First )( 
            __RPC__in __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIIterator_1_Windows__CMedia__CStreaming__CIDeviceIcon **first);
        
        END_INTERFACE
    } __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl;

    interface __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon
    {
        CONST_VTBL struct __FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0031 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIIterable_1_Windows__CMedia__CStreaming__CIDeviceIcon */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0031 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0031_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0599 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0599 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0599_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0599_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0032 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0032 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0032_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0032_v0_0_s_ifspec;

#ifndef ____FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__
#define ____FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ff195e52-48eb-5709-be50-3a3914c189db")
    __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Streaming::IDeviceIcon **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IDeviceIcon *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Streaming::IDeviceIcon **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        END_INTERFACE
    } __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl;

    interface __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon
    {
        CONST_VTBL struct __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

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

#define __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0033 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0033 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0033_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0033_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0600 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0600 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0600_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0600_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0034 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0034 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0034_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0034_v0_0_s_ifspec;

#ifndef ____FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__
#define ____FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a32d7731-05f6-55a2-930f-1cf5a12b19ae")
    __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon : public IInspectable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Streaming::IDeviceIcon **item) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ __RPC__out unsigned int *size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetView( 
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon **view) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IDeviceIcon *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IDeviceIcon *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertAt( 
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IDeviceIcon *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
            /* [in] */ unsigned int index) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IDeviceIcon *item) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMany( 
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) ABI::Windows::Media::Streaming::IDeviceIcon **items,
            /* [retval][out] */ __RPC__out unsigned int *actual) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReplaceAll( 
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) ABI::Windows::Media::Streaming::IDeviceIcon **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__out ULONG *iidCount,
            /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids);
        
        HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ unsigned int index,
            /* [retval][out] */ __RPC__deref_out_opt __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon **item);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [retval][out] */ __RPC__out unsigned int *size);
        
        HRESULT ( STDMETHODCALLTYPE *GetView )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [retval][out] */ __RPC__deref_out_opt __FIVectorView_1_Windows__CMedia__CStreaming__CIDeviceIcon **view);
        
        HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon *item,
            /* [out] */ __RPC__out unsigned int *index,
            /* [retval][out] */ __RPC__out boolean *found);
        
        HRESULT ( STDMETHODCALLTYPE *SetAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon *item);
        
        HRESULT ( STDMETHODCALLTYPE *InsertAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ unsigned int index,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon *item);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAt )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ unsigned int index);
        
        HRESULT ( STDMETHODCALLTYPE *Append )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon *item);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveAtEnd )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This);
        
        HRESULT ( STDMETHODCALLTYPE *Clear )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetMany )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ unsigned int startIndex,
            /* [in] */ unsigned int capacity,
            /* [size_is][length_is][out] */ __RPC__out_ecount_part(capacity, *actual) __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon **items,
            /* [retval][out] */ __RPC__out unsigned int *actual);
        
        HRESULT ( STDMETHODCALLTYPE *ReplaceAll )( 
            __RPC__in __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon * This,
            /* [in] */ unsigned int count,
            /* [size_is][in] */ __RPC__in_ecount_full(count) __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon **value);
        
        END_INTERFACE
    } __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl;

    interface __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon
    {
        CONST_VTBL struct __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIconVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_GetAt(This,index,item)	\
    ( (This)->lpVtbl -> GetAt(This,index,item) ) 

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

#define __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_GetView(This,view)	\
    ( (This)->lpVtbl -> GetView(This,view) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_IndexOf(This,item,index,found)	\
    ( (This)->lpVtbl -> IndexOf(This,item,index,found) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_SetAt(This,index,item)	\
    ( (This)->lpVtbl -> SetAt(This,index,item) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_InsertAt(This,index,item)	\
    ( (This)->lpVtbl -> InsertAt(This,index,item) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_RemoveAt(This,index)	\
    ( (This)->lpVtbl -> RemoveAt(This,index) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_Append(This,item)	\
    ( (This)->lpVtbl -> Append(This,item) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_RemoveAtEnd(This)	\
    ( (This)->lpVtbl -> RemoveAtEnd(This) ) 

#define __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

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

#define __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_ReplaceAll(This,count,value)	\
    ( (This)->lpVtbl -> ReplaceAll(This,count,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0035 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon */
#if !defined(____x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Streaming_IBasicDevice[] = L"Windows.Media.Streaming.IBasicDevice";
#endif /* !defined(____x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0035 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0035_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0035_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Streaming::IBasicDevice */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Streaming {
                    
                    MIDL_INTERFACE("f4f26cbb-7962-48b7-80f7-c3a5d753bcb0")
                    IBasicDevice : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FriendlyName( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FriendlyName( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ManufacturerName( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ManufacturerUrl( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UniqueDeviceName( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ModelName( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ModelNumber( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ModelUrl( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SerialNumber( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PresentationUrl( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemoteStreamingUrls( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PhysicalAddresses( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IpAddresses( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CanWakeDevices( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DiscoveredOnCurrentNetwork( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Streaming::DeviceTypes *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Icons( 
                            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ConnectionStatus( 
                            /* [out][retval] */ __RPC__out ABI::Windows::Media::Streaming::ConnectionStatus *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE add_ConnectionStatusChanged( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IConnectionStatusHandler *handler,
                            /* [out][retval] */ __RPC__out EventRegistrationToken *token) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE remove_ConnectionStatusChanged( 
                            /* [in] */ EventRegistrationToken token) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IBasicDevice = __uuidof(IBasicDevice);

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

    typedef struct __x_ABI_CWindows_CMedia_CStreaming_CIBasicDeviceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [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_CMedia_CStreaming_CIBasicDevice * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FriendlyName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FriendlyName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [in] */ __RPC__in HSTRING value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ManufacturerName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ManufacturerUrl )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UniqueDeviceName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModelName )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModelNumber )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModelUrl )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialNumber )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PresentationUrl )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemoteStreamingUrls )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhysicalAddresses )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IpAddresses )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_HSTRING **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanWakeDevices )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiscoveredOnCurrentNetwork )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CStreaming_CDeviceTypes *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Icons )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt __FIVector_1_Windows__CMedia__CStreaming__CIDeviceIcon **value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionStatus )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [out][retval] */ __RPC__out __x_ABI_CWindows_CMedia_CStreaming_CConnectionStatus *value);
        
        HRESULT ( STDMETHODCALLTYPE *add_ConnectionStatusChanged )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIConnectionStatusHandler *handler,
            /* [out][retval] */ __RPC__out EventRegistrationToken *token);
        
        HRESULT ( STDMETHODCALLTYPE *remove_ConnectionStatusChanged )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CStreaming_CIBasicDeviceVtbl;

    interface __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CStreaming_CIBasicDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_FriendlyName(This,value)	\
    ( (This)->lpVtbl -> get_FriendlyName(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_put_FriendlyName(This,value)	\
    ( (This)->lpVtbl -> put_FriendlyName(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_ManufacturerName(This,value)	\
    ( (This)->lpVtbl -> get_ManufacturerName(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_ManufacturerUrl(This,value)	\
    ( (This)->lpVtbl -> get_ManufacturerUrl(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_UniqueDeviceName(This,value)	\
    ( (This)->lpVtbl -> get_UniqueDeviceName(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_ModelName(This,value)	\
    ( (This)->lpVtbl -> get_ModelName(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_ModelNumber(This,value)	\
    ( (This)->lpVtbl -> get_ModelNumber(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_ModelUrl(This,value)	\
    ( (This)->lpVtbl -> get_ModelUrl(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_Description(This,value)	\
    ( (This)->lpVtbl -> get_Description(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_SerialNumber(This,value)	\
    ( (This)->lpVtbl -> get_SerialNumber(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_PresentationUrl(This,value)	\
    ( (This)->lpVtbl -> get_PresentationUrl(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_RemoteStreamingUrls(This,value)	\
    ( (This)->lpVtbl -> get_RemoteStreamingUrls(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_PhysicalAddresses(This,value)	\
    ( (This)->lpVtbl -> get_PhysicalAddresses(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_IpAddresses(This,value)	\
    ( (This)->lpVtbl -> get_IpAddresses(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_CanWakeDevices(This,value)	\
    ( (This)->lpVtbl -> get_CanWakeDevices(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_DiscoveredOnCurrentNetwork(This,value)	\
    ( (This)->lpVtbl -> get_DiscoveredOnCurrentNetwork(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_Type(This,value)	\
    ( (This)->lpVtbl -> get_Type(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_Icons(This,value)	\
    ( (This)->lpVtbl -> get_Icons(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_get_ConnectionStatus(This,value)	\
    ( (This)->lpVtbl -> get_ConnectionStatus(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_add_ConnectionStatusChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_ConnectionStatusChanged(This,handler,token) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_remove_ConnectionStatusChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ConnectionStatusChanged(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0036 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Streaming_IActiveBasicDevice[] = L"Windows.Media.Streaming.IActiveBasicDevice";
#endif /* !defined(____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0036 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0036_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0036_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Streaming::IActiveBasicDevice */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Streaming {
                    
                    MIDL_INTERFACE("b64d6974-6e79-49af-9933-908b6e9a160c")
                    IActiveBasicDevice : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxVolume( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsMuteSupported( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsSetNextSourceSupported( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsAudioSupported( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsVideoSupported( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsImageSupported( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsSearchSupported( 
                            /* [out][retval] */ __RPC__out boolean *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetCachedSinkProtocolInfo( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SetCachedSinkProtocolInfo( 
                            /* [in] */ __RPC__in HSTRING value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetCachedExtraSinkProtocolInfo( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetEffectiveBandwidth( 
                            /* [in] */ boolean transmitSpeed,
                            /* [out][retval] */ __RPC__out ULONG64 *currentSpeed) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetCachedBitrateMeasurement( 
                            /* [in] */ GUID physicalNetworkInterface,
                            /* [out][retval] */ __RPC__out UINT64 *bitrate) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE SetCachedBitrateMeasurement( 
                            /* [in] */ GUID physicalNetworkInterface,
                            /* [in] */ UINT64 bitrate) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogicalNetworkInterface( 
                            /* [out][retval] */ __RPC__out GUID *logicalNetworkInterface) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PhysicalNetworkInterface( 
                            /* [out][retval] */ __RPC__out GUID *physicalNetworkInterface) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE NotifyStreamingStatus( 
                            /* [in] */ boolean fIsStreaming) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IActiveBasicDevice = __uuidof(IActiveBasicDevice);

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

    typedef struct __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [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_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxVolume )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuteSupported )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSetNextSourceSupported )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsAudioSupported )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsVideoSupported )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsImageSupported )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSearchSupported )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out][retval] */ __RPC__out boolean *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetCachedSinkProtocolInfo )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        HRESULT ( STDMETHODCALLTYPE *SetCachedSinkProtocolInfo )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [in] */ __RPC__in HSTRING value);
        
        HRESULT ( STDMETHODCALLTYPE *GetCachedExtraSinkProtocolInfo )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        HRESULT ( STDMETHODCALLTYPE *GetEffectiveBandwidth )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [in] */ boolean transmitSpeed,
            /* [out][retval] */ __RPC__out ULONG64 *currentSpeed);
        
        HRESULT ( STDMETHODCALLTYPE *GetCachedBitrateMeasurement )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [in] */ GUID physicalNetworkInterface,
            /* [out][retval] */ __RPC__out UINT64 *bitrate);
        
        HRESULT ( STDMETHODCALLTYPE *SetCachedBitrateMeasurement )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [in] */ GUID physicalNetworkInterface,
            /* [in] */ UINT64 bitrate);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogicalNetworkInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out][retval] */ __RPC__out GUID *logicalNetworkInterface);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhysicalNetworkInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [out][retval] */ __RPC__out GUID *physicalNetworkInterface);
        
        HRESULT ( STDMETHODCALLTYPE *NotifyStreamingStatus )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice * This,
            /* [in] */ boolean fIsStreaming);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceVtbl;

    interface __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_get_MaxVolume(This,value)	\
    ( (This)->lpVtbl -> get_MaxVolume(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_get_IsMuteSupported(This,value)	\
    ( (This)->lpVtbl -> get_IsMuteSupported(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_get_IsSetNextSourceSupported(This,value)	\
    ( (This)->lpVtbl -> get_IsSetNextSourceSupported(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_get_IsAudioSupported(This,value)	\
    ( (This)->lpVtbl -> get_IsAudioSupported(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_get_IsVideoSupported(This,value)	\
    ( (This)->lpVtbl -> get_IsVideoSupported(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_get_IsImageSupported(This,value)	\
    ( (This)->lpVtbl -> get_IsImageSupported(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_get_IsSearchSupported(This,value)	\
    ( (This)->lpVtbl -> get_IsSearchSupported(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_GetCachedSinkProtocolInfo(This,value)	\
    ( (This)->lpVtbl -> GetCachedSinkProtocolInfo(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_SetCachedSinkProtocolInfo(This,value)	\
    ( (This)->lpVtbl -> SetCachedSinkProtocolInfo(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_GetCachedExtraSinkProtocolInfo(This,value)	\
    ( (This)->lpVtbl -> GetCachedExtraSinkProtocolInfo(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_GetEffectiveBandwidth(This,transmitSpeed,currentSpeed)	\
    ( (This)->lpVtbl -> GetEffectiveBandwidth(This,transmitSpeed,currentSpeed) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_GetCachedBitrateMeasurement(This,physicalNetworkInterface,bitrate)	\
    ( (This)->lpVtbl -> GetCachedBitrateMeasurement(This,physicalNetworkInterface,bitrate) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_SetCachedBitrateMeasurement(This,physicalNetworkInterface,bitrate)	\
    ( (This)->lpVtbl -> SetCachedBitrateMeasurement(This,physicalNetworkInterface,bitrate) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_get_LogicalNetworkInterface(This,logicalNetworkInterface)	\
    ( (This)->lpVtbl -> get_LogicalNetworkInterface(This,logicalNetworkInterface) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_get_PhysicalNetworkInterface(This,physicalNetworkInterface)	\
    ( (This)->lpVtbl -> get_PhysicalNetworkInterface(This,physicalNetworkInterface) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_NotifyStreamingStatus(This,fIsStreaming)	\
    ( (This)->lpVtbl -> NotifyStreamingStatus(This,fIsStreaming) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0037 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Streaming_IDeviceIcon[] = L"Windows.Media.Streaming.IDeviceIcon";
#endif /* !defined(____x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0037 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0037_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0037_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Streaming::IDeviceIcon */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Streaming {
                    
                    MIDL_INTERFACE("8ffb1a1e-023d-4de1-b556-ab5abf01929c")
                    IDeviceIcon : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
                            /* [out][retval] */ __RPC__out UINT32 *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContentType( 
                            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Stream( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Storage::Streams::IRandomAccessStreamWithContentType **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDeviceIcon = __uuidof(IDeviceIcon);

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

    typedef struct __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIconVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon * This,
            /* [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_CMedia_CStreaming_CIDeviceIcon * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon * This,
            /* [out][retval] */ __RPC__out UINT32 *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContentType )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon * This,
            /* [out][retval] */ __RPC__deref_out_opt HSTRING *value);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Stream )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon * This,
            /* [out][retval] */ __RPC__deref_out_opt __x_ABI_CWindows_CStorage_CStreams_CIRandomAccessStreamWithContentType **value);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIconVtbl;

    interface __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIconVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_get_Width(This,value)	\
    ( (This)->lpVtbl -> get_Width(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_get_Height(This,value)	\
    ( (This)->lpVtbl -> get_Height(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_get_ContentType(This,value)	\
    ( (This)->lpVtbl -> get_ContentType(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_get_Stream(This,value)	\
    ( (This)->lpVtbl -> get_Stream(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIDeviceIcon_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0038 */
/* [local] */ 

#ifdef __cplusplus
namespace ABI {
namespace Windows {
namespace Media {
namespace Streaming {
class DeviceController;
} /*Streaming*/
} /*Media*/
} /*Windows*/
}
#endif
#ifndef RUNTIMECLASS_Windows_Media_Streaming_DeviceController_DEFINED
#define RUNTIMECLASS_Windows_Media_Streaming_DeviceController_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Streaming_DeviceController[] = L"Windows.Media.Streaming.DeviceController";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Streaming_BasicDevice_DEFINED
#define RUNTIMECLASS_Windows_Media_Streaming_BasicDevice_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Streaming_BasicDevice[] = L"Windows.Media.Streaming.BasicDevice";
#endif
#ifndef RUNTIMECLASS_Windows_Media_Streaming_ActiveBasicDevice_DEFINED
#define RUNTIMECLASS_Windows_Media_Streaming_ActiveBasicDevice_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Streaming_ActiveBasicDevice[] = L"Windows.Media.Streaming.ActiveBasicDevice";
#endif


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0038 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0038_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0038_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0601 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0601 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0601_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0601_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0039 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0039 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0039_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0039_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4c0d279c-4b4e-5657-b609-6f15ff54212e")
    __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0040 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0040 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0040_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0040_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0602 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0602 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0602_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0602_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0041 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0041 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0041_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0041_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0c4a4010-9046-5bff-8cc5-cbcde4c2d5c1")
    __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CActiveBasicDevice **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Streaming::IActiveBasicDevice **results) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0042 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0042 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0042_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0042_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0603 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0603 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0603_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0603_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0043 */
/* [local] */ 

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



/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0043 */
/* [local] */ 




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0043_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0043_v0_0_s_ifspec;

#ifndef ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair_INTERFACE_DEFINED__
#define ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cde8d503-5136-5cb9-ab04-11502ec5afeb")
    __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ __RPC__in_opt __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair *asyncInfo,
            /* [in] */ AsyncStatus status) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair
    {
        CONST_VTBL struct __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePairVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0044 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0044 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0044_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0044_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0604 */




/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0604 */




extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0604_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0604_v0_0_s_ifspec;

/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0045 */
/* [local] */ 

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


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0045 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0045_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0045_v0_0_s_ifspec;

#ifndef ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_INTERFACE_DEFINED__
#define ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_INTERFACE_DEFINED__

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



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


EXTERN_C const IID IID___FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d3d31100-6a6e-5775-ae0b-55cbeb23cacf")
    __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair : public IInspectable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Completed( 
            /* [in] */ __RPC__in_opt __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ __RPC__deref_out_opt __FIAsyncOperationCompletedHandler_1_Windows__CMedia__CStreaming__CDevicePair **handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetResults( 
            /* [retval][out] */ __RPC__deref_out_opt ABI::Windows::Media::Streaming::IDevicePair **results) = 0;
        
    };
    
    
#else 	/* C style interface */

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

    interface __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair
    {
        CONST_VTBL struct __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePairVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0046 */
/* [local] */ 

#endif /* pinterface */
#endif /* DEF___FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair */
#if !defined(____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Streaming_IActiveBasicDeviceStatics[] = L"Windows.Media.Streaming.IActiveBasicDeviceStatics";
#endif /* !defined(____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0046 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0046_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0046_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Streaming::IActiveBasicDeviceStatics */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Streaming {
                    
                    MIDL_INTERFACE("6d33255d-3642-4618-9db6-43524f4deadc")
                    IActiveBasicDeviceStatics : public IInspectable
                    {
                    public:
                        virtual HRESULT STDMETHODCALLTYPE CreateBasicDeviceAsync( 
                            /* [in] */ __RPC__in HSTRING deviceIdentifier,
                            /* [in] */ ABI::Windows::Media::Streaming::DeviceTypes type,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CloneBasicDeviceAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IBasicDevice *basicDevice,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice **value) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE GetDevicesOnMatchingNetworkAsync( 
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IActiveBasicDevice *server,
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IActiveBasicDevice *renderer,
                            /* [in] */ boolean optimizeForProxying,
                            /* [in] */ boolean allowChangeRendererNetwork,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair **operation) = 0;
                        
                        virtual HRESULT STDMETHODCALLTYPE CreateDevicesOnMatchingNetworkAsync( 
                            /* [in] */ __RPC__in HSTRING serverUDN,
                            /* [in] */ __RPC__in_opt ABI::Windows::Media::Streaming::IActiveBasicDevice *renderer,
                            /* [in] */ boolean optimizeForProxying,
                            /* [in] */ boolean allowChangeRendererNetwork,
                            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair **operation) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IActiveBasicDeviceStatics = __uuidof(IActiveBasicDeviceStatics);

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

    typedef struct __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics * This,
            /* [in] */ __RPC__in REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetIids )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics * This,
            /* [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_CMedia_CStreaming_CIActiveBasicDeviceStatics * This,
            /* [out] */ __RPC__deref_out_opt HSTRING *className);
        
        HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics * This,
            /* [out] */ __RPC__out TrustLevel *trustLevel);
        
        HRESULT ( STDMETHODCALLTYPE *CreateBasicDeviceAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics * This,
            /* [in] */ __RPC__in HSTRING deviceIdentifier,
            /* [in] */ __x_ABI_CWindows_CMedia_CStreaming_CDeviceTypes type,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice **value);
        
        HRESULT ( STDMETHODCALLTYPE *CloneBasicDeviceAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIBasicDevice *basicDevice,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CMedia__CStreaming__CActiveBasicDevice **value);
        
        HRESULT ( STDMETHODCALLTYPE *GetDevicesOnMatchingNetworkAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics * This,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice *server,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice *renderer,
            /* [in] */ boolean optimizeForProxying,
            /* [in] */ boolean allowChangeRendererNetwork,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair **operation);
        
        HRESULT ( STDMETHODCALLTYPE *CreateDevicesOnMatchingNetworkAsync )( 
            __RPC__in __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics * This,
            /* [in] */ __RPC__in HSTRING serverUDN,
            /* [in] */ __RPC__in_opt __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDevice *renderer,
            /* [in] */ boolean optimizeForProxying,
            /* [in] */ boolean allowChangeRendererNetwork,
            /* [out][retval] */ __RPC__deref_out_opt __FIAsyncOperation_1_Windows__CMedia__CStreaming__CDevicePair **operation);
        
        END_INTERFACE
    } __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStaticsVtbl;

    interface __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_CreateBasicDeviceAsync(This,deviceIdentifier,type,value)	\
    ( (This)->lpVtbl -> CreateBasicDeviceAsync(This,deviceIdentifier,type,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_CloneBasicDeviceAsync(This,basicDevice,value)	\
    ( (This)->lpVtbl -> CloneBasicDeviceAsync(This,basicDevice,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_GetDevicesOnMatchingNetworkAsync(This,server,renderer,optimizeForProxying,allowChangeRendererNetwork,operation)	\
    ( (This)->lpVtbl -> GetDevicesOnMatchingNetworkAsync(This,server,renderer,optimizeForProxying,allowChangeRendererNetwork,operation) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_CreateDevicesOnMatchingNetworkAsync(This,serverUDN,renderer,optimizeForProxying,allowChangeRendererNetwork,operation)	\
    ( (This)->lpVtbl -> CreateDevicesOnMatchingNetworkAsync(This,serverUDN,renderer,optimizeForProxying,allowChangeRendererNetwork,operation) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIActiveBasicDeviceStatics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0047 */
/* [local] */ 

#if !defined(____x_ABI_CWindows_CMedia_CStreaming_CIDevicePair_INTERFACE_DEFINED__)
extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Media_Streaming_IDevicePair[] = L"Windows.Media.Streaming.IDevicePair";
#endif /* !defined(____x_ABI_CWindows_CMedia_CStreaming_CIDevicePair_INTERFACE_DEFINED__) */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0047 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0047_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0047_v0_0_s_ifspec;

#ifndef ____x_ABI_CWindows_CMedia_CStreaming_CIDevicePair_INTERFACE_DEFINED__
#define ____x_ABI_CWindows_CMedia_CStreaming_CIDevicePair_INTERFACE_DEFINED__

/* interface __x_ABI_CWindows_CMedia_CStreaming_CIDevicePair */
/* [uuid][object] */ 



/* interface ABI::Windows::Media::Streaming::IDevicePair */
/* [uuid][object] */ 


EXTERN_C const IID IID___x_ABI_CWindows_CMedia_CStreaming_CIDevicePair;

#if defined(__cplusplus) && !defined(CINTERFACE)
    } /* end extern "C" */
    namespace ABI {
        namespace Windows {
            namespace Media {
                namespace Streaming {
                    
                    MIDL_INTERFACE("f1a423f1-b7b4-449c-a90d-aea8e17c5e5f")
                    IDevicePair : public IInspectable
                    {
                    public:
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Server( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Streaming::IActiveBasicDevice **value) = 0;
                        
                        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Renderer( 
                            /* [out][retval] */ __RPC__deref_out_opt ABI::Windows::Media::Streaming::IActiveBasicDevice **value) = 0;
                        
                    };

                    extern const __declspec(selectany) IID & IID_IDevicePair = __uuidof(IDevicePair);

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

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

    interface __x_ABI_CWindows_CMedia_CStreaming_CIDevicePair
    {
        CONST_VTBL struct __x_ABI_CWindows_CMedia_CStreaming_CIDevicePairVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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


#define __x_ABI_CWindows_CMedia_CStreaming_CIDevicePair_get_Server(This,value)	\
    ( (This)->lpVtbl -> get_Server(This,value) ) 

#define __x_ABI_CWindows_CMedia_CStreaming_CIDevicePair_get_Renderer(This,value)	\
    ( (This)->lpVtbl -> get_Renderer(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ____x_ABI_CWindows_CMedia_CStreaming_CIDevicePair_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0048 */
/* [local] */ 

#ifndef RUNTIMECLASS_Windows_Media_Streaming_DevicePair_DEFINED
#define RUNTIMECLASS_Windows_Media_Streaming_DevicePair_DEFINED
extern const __declspec(selectany) _Null_terminated_ WCHAR RuntimeClass_Windows_Media_Streaming_DevicePair[] = L"Windows.Media.Streaming.DevicePair";
#endif


/* interface __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0048 */
/* [local] */ 



extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0048_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_windows2Emedia2Estreaming2Edevices_0000_0048_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


