This is what widl 6.0-rc1 does.
---
 mingw-w64-headers/include/bdaiface.h | 140 ++++++++++++-
 mingw-w64-headers/include/objidl.h   | 298 +++++++++++++++++++++++++-
 mingw-w64-headers/include/tuner.h    | 303 +++++++++++++++++++++++++++
 mingw-w64-headers/include/unknwn.h   |   9 +
 4 files changed, 743 insertions(+), 7 deletions(-)

diff --git a/mingw-w64-headers/include/bdaiface.h 
b/mingw-w64-headers/include/bdaiface.h
index 3d628b74..4581ceaf 100644
--- a/mingw-w64-headers/include/bdaiface.h
+++ b/mingw-w64-headers/include/bdaiface.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 1.6 from include/bdaiface.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.0-rc1 from include/bdaiface.idl - Do not edit ***/
 
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
 #define __REQUIRED_RPCNDR_H_VERSION__ 475
@@ -20,231 +20,369 @@
 #ifndef __IBDA_NetworkProvider_FWD_DEFINED__
 #define __IBDA_NetworkProvider_FWD_DEFINED__
 typedef interface IBDA_NetworkProvider IBDA_NetworkProvider;
+#ifdef __cplusplus
+interface IBDA_NetworkProvider;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_EthernetFilter_FWD_DEFINED__
 #define __IBDA_EthernetFilter_FWD_DEFINED__
 typedef interface IBDA_EthernetFilter IBDA_EthernetFilter;
+#ifdef __cplusplus
+interface IBDA_EthernetFilter;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_IPV4Filter_FWD_DEFINED__
 #define __IBDA_IPV4Filter_FWD_DEFINED__
 typedef interface IBDA_IPV4Filter IBDA_IPV4Filter;
+#ifdef __cplusplus
+interface IBDA_IPV4Filter;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_IPV6Filter_FWD_DEFINED__
 #define __IBDA_IPV6Filter_FWD_DEFINED__
 typedef interface IBDA_IPV6Filter IBDA_IPV6Filter;
+#ifdef __cplusplus
+interface IBDA_IPV6Filter;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_DeviceControl_FWD_DEFINED__
 #define __IBDA_DeviceControl_FWD_DEFINED__
 typedef interface IBDA_DeviceControl IBDA_DeviceControl;
+#ifdef __cplusplus
+interface IBDA_DeviceControl;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_PinControl_FWD_DEFINED__
 #define __IBDA_PinControl_FWD_DEFINED__
 typedef interface IBDA_PinControl IBDA_PinControl;
+#ifdef __cplusplus
+interface IBDA_PinControl;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_SignalProperties_FWD_DEFINED__
 #define __IBDA_SignalProperties_FWD_DEFINED__
 typedef interface IBDA_SignalProperties IBDA_SignalProperties;
+#ifdef __cplusplus
+interface IBDA_SignalProperties;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_SignalStatistics_FWD_DEFINED__
 #define __IBDA_SignalStatistics_FWD_DEFINED__
 typedef interface IBDA_SignalStatistics IBDA_SignalStatistics;
+#ifdef __cplusplus
+interface IBDA_SignalStatistics;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_Topology_FWD_DEFINED__
 #define __IBDA_Topology_FWD_DEFINED__
 typedef interface IBDA_Topology IBDA_Topology;
+#ifdef __cplusplus
+interface IBDA_Topology;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_VoidTransform_FWD_DEFINED__
 #define __IBDA_VoidTransform_FWD_DEFINED__
 typedef interface IBDA_VoidTransform IBDA_VoidTransform;
+#ifdef __cplusplus
+interface IBDA_VoidTransform;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_NullTransform_FWD_DEFINED__
 #define __IBDA_NullTransform_FWD_DEFINED__
 typedef interface IBDA_NullTransform IBDA_NullTransform;
+#ifdef __cplusplus
+interface IBDA_NullTransform;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_FrequencyFilter_FWD_DEFINED__
 #define __IBDA_FrequencyFilter_FWD_DEFINED__
 typedef interface IBDA_FrequencyFilter IBDA_FrequencyFilter;
+#ifdef __cplusplus
+interface IBDA_FrequencyFilter;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_LNBInfo_FWD_DEFINED__
 #define __IBDA_LNBInfo_FWD_DEFINED__
 typedef interface IBDA_LNBInfo IBDA_LNBInfo;
+#ifdef __cplusplus
+interface IBDA_LNBInfo;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_DiseqCommand_FWD_DEFINED__
 #define __IBDA_DiseqCommand_FWD_DEFINED__
 typedef interface IBDA_DiseqCommand IBDA_DiseqCommand;
+#ifdef __cplusplus
+interface IBDA_DiseqCommand;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_AutoDemodulate_FWD_DEFINED__
 #define __IBDA_AutoDemodulate_FWD_DEFINED__
 typedef interface IBDA_AutoDemodulate IBDA_AutoDemodulate;
+#ifdef __cplusplus
+interface IBDA_AutoDemodulate;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_AutoDemodulateEx_FWD_DEFINED__
 #define __IBDA_AutoDemodulateEx_FWD_DEFINED__
 typedef interface IBDA_AutoDemodulateEx IBDA_AutoDemodulateEx;
+#ifdef __cplusplus
+interface IBDA_AutoDemodulateEx;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_DigitalDemodulator_FWD_DEFINED__
 #define __IBDA_DigitalDemodulator_FWD_DEFINED__
 typedef interface IBDA_DigitalDemodulator IBDA_DigitalDemodulator;
+#ifdef __cplusplus
+interface IBDA_DigitalDemodulator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_DigitalDemodulator2_FWD_DEFINED__
 #define __IBDA_DigitalDemodulator2_FWD_DEFINED__
 typedef interface IBDA_DigitalDemodulator2 IBDA_DigitalDemodulator2;
+#ifdef __cplusplus
+interface IBDA_DigitalDemodulator2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_DigitalDemodulator3_FWD_DEFINED__
 #define __IBDA_DigitalDemodulator3_FWD_DEFINED__
 typedef interface IBDA_DigitalDemodulator3 IBDA_DigitalDemodulator3;
+#ifdef __cplusplus
+interface IBDA_DigitalDemodulator3;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ICCSubStreamFiltering_FWD_DEFINED__
 #define __ICCSubStreamFiltering_FWD_DEFINED__
 typedef interface ICCSubStreamFiltering ICCSubStreamFiltering;
+#ifdef __cplusplus
+interface ICCSubStreamFiltering;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_IPSinkControl_FWD_DEFINED__
 #define __IBDA_IPSinkControl_FWD_DEFINED__
 typedef interface IBDA_IPSinkControl IBDA_IPSinkControl;
+#ifdef __cplusplus
+interface IBDA_IPSinkControl;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_IPSinkInfo_FWD_DEFINED__
 #define __IBDA_IPSinkInfo_FWD_DEFINED__
 typedef interface IBDA_IPSinkInfo IBDA_IPSinkInfo;
+#ifdef __cplusplus
+interface IBDA_IPSinkInfo;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumPIDMap_FWD_DEFINED__
 #define __IEnumPIDMap_FWD_DEFINED__
 typedef interface IEnumPIDMap IEnumPIDMap;
+#ifdef __cplusplus
+interface IEnumPIDMap;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMPEG2PIDMap_FWD_DEFINED__
 #define __IMPEG2PIDMap_FWD_DEFINED__
 typedef interface IMPEG2PIDMap IMPEG2PIDMap;
+#ifdef __cplusplus
+interface IMPEG2PIDMap;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IFrequencyMap_FWD_DEFINED__
 #define __IFrequencyMap_FWD_DEFINED__
 typedef interface IFrequencyMap IFrequencyMap;
+#ifdef __cplusplus
+interface IFrequencyMap;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_EasMessage_FWD_DEFINED__
 #define __IBDA_EasMessage_FWD_DEFINED__
 typedef interface IBDA_EasMessage IBDA_EasMessage;
+#ifdef __cplusplus
+interface IBDA_EasMessage;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_TransportStreamInfo_FWD_DEFINED__
 #define __IBDA_TransportStreamInfo_FWD_DEFINED__
 typedef interface IBDA_TransportStreamInfo IBDA_TransportStreamInfo;
+#ifdef __cplusplus
+interface IBDA_TransportStreamInfo;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_ConditionalAccess_FWD_DEFINED__
 #define __IBDA_ConditionalAccess_FWD_DEFINED__
 typedef interface IBDA_ConditionalAccess IBDA_ConditionalAccess;
+#ifdef __cplusplus
+interface IBDA_ConditionalAccess;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_DiagnosticProperties_FWD_DEFINED__
 #define __IBDA_DiagnosticProperties_FWD_DEFINED__
 typedef interface IBDA_DiagnosticProperties IBDA_DiagnosticProperties;
+#ifdef __cplusplus
+interface IBDA_DiagnosticProperties;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_DRM_FWD_DEFINED__
 #define __IBDA_DRM_FWD_DEFINED__
 typedef interface IBDA_DRM IBDA_DRM;
+#ifdef __cplusplus
+interface IBDA_DRM;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_NameValueService_FWD_DEFINED__
 #define __IBDA_NameValueService_FWD_DEFINED__
 typedef interface IBDA_NameValueService IBDA_NameValueService;
+#ifdef __cplusplus
+interface IBDA_NameValueService;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_ConditionalAccessEx_FWD_DEFINED__
 #define __IBDA_ConditionalAccessEx_FWD_DEFINED__
 typedef interface IBDA_ConditionalAccessEx IBDA_ConditionalAccessEx;
+#ifdef __cplusplus
+interface IBDA_ConditionalAccessEx;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_ISDBConditionalAccess_FWD_DEFINED__
 #define __IBDA_ISDBConditionalAccess_FWD_DEFINED__
 typedef interface IBDA_ISDBConditionalAccess IBDA_ISDBConditionalAccess;
+#ifdef __cplusplus
+interface IBDA_ISDBConditionalAccess;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_EventingService_FWD_DEFINED__
 #define __IBDA_EventingService_FWD_DEFINED__
 typedef interface IBDA_EventingService IBDA_EventingService;
+#ifdef __cplusplus
+interface IBDA_EventingService;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_AUX_FWD_DEFINED__
 #define __IBDA_AUX_FWD_DEFINED__
 typedef interface IBDA_AUX IBDA_AUX;
+#ifdef __cplusplus
+interface IBDA_AUX;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_Encoder_FWD_DEFINED__
 #define __IBDA_Encoder_FWD_DEFINED__
 typedef interface IBDA_Encoder IBDA_Encoder;
+#ifdef __cplusplus
+interface IBDA_Encoder;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_FDC_FWD_DEFINED__
 #define __IBDA_FDC_FWD_DEFINED__
 typedef interface IBDA_FDC IBDA_FDC;
+#ifdef __cplusplus
+interface IBDA_FDC;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_GuideDataDeliveryService_FWD_DEFINED__
 #define __IBDA_GuideDataDeliveryService_FWD_DEFINED__
 typedef interface IBDA_GuideDataDeliveryService IBDA_GuideDataDeliveryService;
+#ifdef __cplusplus
+interface IBDA_GuideDataDeliveryService;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_DRMService_FWD_DEFINED__
 #define __IBDA_DRMService_FWD_DEFINED__
 typedef interface IBDA_DRMService IBDA_DRMService;
+#ifdef __cplusplus
+interface IBDA_DRMService;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_WMDRMSession_FWD_DEFINED__
 #define __IBDA_WMDRMSession_FWD_DEFINED__
 typedef interface IBDA_WMDRMSession IBDA_WMDRMSession;
+#ifdef __cplusplus
+interface IBDA_WMDRMSession;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_WMDRMTuner_FWD_DEFINED__
 #define __IBDA_WMDRMTuner_FWD_DEFINED__
 typedef interface IBDA_WMDRMTuner IBDA_WMDRMTuner;
+#ifdef __cplusplus
+interface IBDA_WMDRMTuner;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_DRIDRMService_FWD_DEFINED__
 #define __IBDA_DRIDRMService_FWD_DEFINED__
 typedef interface IBDA_DRIDRMService IBDA_DRIDRMService;
+#ifdef __cplusplus
+interface IBDA_DRIDRMService;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_DRIWMDRMSession_FWD_DEFINED__
 #define __IBDA_DRIWMDRMSession_FWD_DEFINED__
 typedef interface IBDA_DRIWMDRMSession IBDA_DRIWMDRMSession;
+#ifdef __cplusplus
+interface IBDA_DRIWMDRMSession;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_MUX_FWD_DEFINED__
 #define __IBDA_MUX_FWD_DEFINED__
 typedef interface IBDA_MUX IBDA_MUX;
+#ifdef __cplusplus
+interface IBDA_MUX;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_TransportStreamSelector_FWD_DEFINED__
 #define __IBDA_TransportStreamSelector_FWD_DEFINED__
 typedef interface IBDA_TransportStreamSelector IBDA_TransportStreamSelector;
+#ifdef __cplusplus
+interface IBDA_TransportStreamSelector;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDA_UserActivityService_FWD_DEFINED__
 #define __IBDA_UserActivityService_FWD_DEFINED__
 typedef interface IBDA_UserActivityService IBDA_UserActivityService;
+#ifdef __cplusplus
+interface IBDA_UserActivityService;
+#endif /* __cplusplus */
 #endif
 
 /* Headers for imported files */
diff --git a/mingw-w64-headers/include/objidl.h 
b/mingw-w64-headers/include/objidl.h
index 0c5e920c..21f1dddb 100644
--- a/mingw-w64-headers/include/objidl.h
+++ b/mingw-w64-headers/include/objidl.h
@@ -1,4 +1,4 @@
-/*** Autogenerated by WIDL 1.6 from include/objidl.idl - Do not edit ***/
+/*** Autogenerated by WIDL 6.0-rc1 from include/objidl.idl - Do not edit ***/
 
 #ifndef __REQUIRED_RPCNDR_H_VERSION__
 #define __REQUIRED_RPCNDR_H_VERSION__ 475
@@ -20,456 +20,729 @@
 #ifndef __IMarshal_FWD_DEFINED__
 #define __IMarshal_FWD_DEFINED__
 typedef interface IMarshal IMarshal;
+#ifdef __cplusplus
+interface IMarshal;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __INoMarshal_FWD_DEFINED__
 #define __INoMarshal_FWD_DEFINED__
 typedef interface INoMarshal INoMarshal;
+#ifdef __cplusplus
+interface INoMarshal;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAgileObject_FWD_DEFINED__
 #define __IAgileObject_FWD_DEFINED__
 typedef interface IAgileObject IAgileObject;
+#ifdef __cplusplus
+interface IAgileObject;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMarshal2_FWD_DEFINED__
 #define __IMarshal2_FWD_DEFINED__
 typedef interface IMarshal2 IMarshal2;
+#ifdef __cplusplus
+interface IMarshal2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMalloc_FWD_DEFINED__
 #define __IMalloc_FWD_DEFINED__
 typedef interface IMalloc IMalloc;
+#ifdef __cplusplus
+interface IMalloc;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IStdMarshalInfo_FWD_DEFINED__
 #define __IStdMarshalInfo_FWD_DEFINED__
 typedef interface IStdMarshalInfo IStdMarshalInfo;
+#ifdef __cplusplus
+interface IStdMarshalInfo;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IExternalConnection_FWD_DEFINED__
 #define __IExternalConnection_FWD_DEFINED__
 typedef interface IExternalConnection IExternalConnection;
+#ifdef __cplusplus
+interface IExternalConnection;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMultiQI_FWD_DEFINED__
 #define __IMultiQI_FWD_DEFINED__
 typedef interface IMultiQI IMultiQI;
+#ifdef __cplusplus
+interface IMultiQI;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __AsyncIMultiQI_FWD_DEFINED__
 #define __AsyncIMultiQI_FWD_DEFINED__
 typedef interface AsyncIMultiQI AsyncIMultiQI;
+#ifdef __cplusplus
+interface AsyncIMultiQI;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IInternalUnknown_FWD_DEFINED__
 #define __IInternalUnknown_FWD_DEFINED__
 typedef interface IInternalUnknown IInternalUnknown;
+#ifdef __cplusplus
+interface IInternalUnknown;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumUnknown_FWD_DEFINED__
 #define __IEnumUnknown_FWD_DEFINED__
 typedef interface IEnumUnknown IEnumUnknown;
+#ifdef __cplusplus
+interface IEnumUnknown;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumString_FWD_DEFINED__
 #define __IEnumString_FWD_DEFINED__
 typedef interface IEnumString IEnumString;
+#ifdef __cplusplus
+interface IEnumString;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ISequentialStream_FWD_DEFINED__
 #define __ISequentialStream_FWD_DEFINED__
 typedef interface ISequentialStream ISequentialStream;
+#ifdef __cplusplus
+interface ISequentialStream;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IStream_FWD_DEFINED__
 #define __IStream_FWD_DEFINED__
 typedef interface IStream IStream;
+#ifdef __cplusplus
+interface IStream;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRpcChannelBuffer_FWD_DEFINED__
 #define __IRpcChannelBuffer_FWD_DEFINED__
 typedef interface IRpcChannelBuffer IRpcChannelBuffer;
+#ifdef __cplusplus
+interface IRpcChannelBuffer;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRpcChannelBuffer2_FWD_DEFINED__
 #define __IRpcChannelBuffer2_FWD_DEFINED__
 typedef interface IRpcChannelBuffer2 IRpcChannelBuffer2;
+#ifdef __cplusplus
+interface IRpcChannelBuffer2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAsyncRpcChannelBuffer_FWD_DEFINED__
 #define __IAsyncRpcChannelBuffer_FWD_DEFINED__
 typedef interface IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer;
+#ifdef __cplusplus
+interface IAsyncRpcChannelBuffer;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRpcChannelBuffer3_FWD_DEFINED__
 #define __IRpcChannelBuffer3_FWD_DEFINED__
 typedef interface IRpcChannelBuffer3 IRpcChannelBuffer3;
+#ifdef __cplusplus
+interface IRpcChannelBuffer3;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRpcSyntaxNegotiate_FWD_DEFINED__
 #define __IRpcSyntaxNegotiate_FWD_DEFINED__
 typedef interface IRpcSyntaxNegotiate IRpcSyntaxNegotiate;
+#ifdef __cplusplus
+interface IRpcSyntaxNegotiate;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRpcProxyBuffer_FWD_DEFINED__
 #define __IRpcProxyBuffer_FWD_DEFINED__
 typedef interface IRpcProxyBuffer IRpcProxyBuffer;
+#ifdef __cplusplus
+interface IRpcProxyBuffer;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRpcStubBuffer_FWD_DEFINED__
 #define __IRpcStubBuffer_FWD_DEFINED__
 typedef interface IRpcStubBuffer IRpcStubBuffer;
+#ifdef __cplusplus
+interface IRpcStubBuffer;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IPSFactoryBuffer_FWD_DEFINED__
 #define __IPSFactoryBuffer_FWD_DEFINED__
 typedef interface IPSFactoryBuffer IPSFactoryBuffer;
+#ifdef __cplusplus
+interface IPSFactoryBuffer;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IChannelHook_FWD_DEFINED__
 #define __IChannelHook_FWD_DEFINED__
 typedef interface IChannelHook IChannelHook;
+#ifdef __cplusplus
+interface IChannelHook;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IClientSecurity_FWD_DEFINED__
 #define __IClientSecurity_FWD_DEFINED__
 typedef interface IClientSecurity IClientSecurity;
+#ifdef __cplusplus
+interface IClientSecurity;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IServerSecurity_FWD_DEFINED__
 #define __IServerSecurity_FWD_DEFINED__
 typedef interface IServerSecurity IServerSecurity;
+#ifdef __cplusplus
+interface IServerSecurity;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRpcOptions_FWD_DEFINED__
 #define __IRpcOptions_FWD_DEFINED__
 typedef interface IRpcOptions IRpcOptions;
+#ifdef __cplusplus
+interface IRpcOptions;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IGlobalOptions_FWD_DEFINED__
 #define __IGlobalOptions_FWD_DEFINED__
 typedef interface IGlobalOptions IGlobalOptions;
+#ifdef __cplusplus
+interface IGlobalOptions;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ISurrogate_FWD_DEFINED__
 #define __ISurrogate_FWD_DEFINED__
 typedef interface ISurrogate ISurrogate;
+#ifdef __cplusplus
+interface ISurrogate;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IGlobalInterfaceTable_FWD_DEFINED__
 #define __IGlobalInterfaceTable_FWD_DEFINED__
 typedef interface IGlobalInterfaceTable IGlobalInterfaceTable;
+#ifdef __cplusplus
+interface IGlobalInterfaceTable;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ISynchronize_FWD_DEFINED__
 #define __ISynchronize_FWD_DEFINED__
 typedef interface ISynchronize ISynchronize;
+#ifdef __cplusplus
+interface ISynchronize;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ISynchronizeHandle_FWD_DEFINED__
 #define __ISynchronizeHandle_FWD_DEFINED__
 typedef interface ISynchronizeHandle ISynchronizeHandle;
+#ifdef __cplusplus
+interface ISynchronizeHandle;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ISynchronizeEvent_FWD_DEFINED__
 #define __ISynchronizeEvent_FWD_DEFINED__
 typedef interface ISynchronizeEvent ISynchronizeEvent;
+#ifdef __cplusplus
+interface ISynchronizeEvent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ISynchronizeContainer_FWD_DEFINED__
 #define __ISynchronizeContainer_FWD_DEFINED__
 typedef interface ISynchronizeContainer ISynchronizeContainer;
+#ifdef __cplusplus
+interface ISynchronizeContainer;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ISynchronizeMutex_FWD_DEFINED__
 #define __ISynchronizeMutex_FWD_DEFINED__
 typedef interface ISynchronizeMutex ISynchronizeMutex;
+#ifdef __cplusplus
+interface ISynchronizeMutex;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ICancelMethodCalls_FWD_DEFINED__
 #define __ICancelMethodCalls_FWD_DEFINED__
 typedef interface ICancelMethodCalls ICancelMethodCalls;
+#ifdef __cplusplus
+interface ICancelMethodCalls;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAsyncManager_FWD_DEFINED__
 #define __IAsyncManager_FWD_DEFINED__
 typedef interface IAsyncManager IAsyncManager;
+#ifdef __cplusplus
+interface IAsyncManager;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ICallFactory_FWD_DEFINED__
 #define __ICallFactory_FWD_DEFINED__
 typedef interface ICallFactory ICallFactory;
+#ifdef __cplusplus
+interface ICallFactory;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRpcHelper_FWD_DEFINED__
 #define __IRpcHelper_FWD_DEFINED__
 typedef interface IRpcHelper IRpcHelper;
+#ifdef __cplusplus
+interface IRpcHelper;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IReleaseMarshalBuffers_FWD_DEFINED__
 #define __IReleaseMarshalBuffers_FWD_DEFINED__
 typedef interface IReleaseMarshalBuffers IReleaseMarshalBuffers;
+#ifdef __cplusplus
+interface IReleaseMarshalBuffers;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IWaitMultiple_FWD_DEFINED__
 #define __IWaitMultiple_FWD_DEFINED__
 typedef interface IWaitMultiple IWaitMultiple;
+#ifdef __cplusplus
+interface IWaitMultiple;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAddrTrackingControl_FWD_DEFINED__
 #define __IAddrTrackingControl_FWD_DEFINED__
 typedef interface IAddrTrackingControl IAddrTrackingControl;
+#ifdef __cplusplus
+interface IAddrTrackingControl;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAddrExclusionControl_FWD_DEFINED__
 #define __IAddrExclusionControl_FWD_DEFINED__
 typedef interface IAddrExclusionControl IAddrExclusionControl;
+#ifdef __cplusplus
+interface IAddrExclusionControl;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IPipeByte_FWD_DEFINED__
 #define __IPipeByte_FWD_DEFINED__
 typedef interface IPipeByte IPipeByte;
+#ifdef __cplusplus
+interface IPipeByte;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IPipeLong_FWD_DEFINED__
 #define __IPipeLong_FWD_DEFINED__
 typedef interface IPipeLong IPipeLong;
+#ifdef __cplusplus
+interface IPipeLong;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IPipeDouble_FWD_DEFINED__
 #define __IPipeDouble_FWD_DEFINED__
 typedef interface IPipeDouble IPipeDouble;
+#ifdef __cplusplus
+interface IPipeDouble;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumContextProps_FWD_DEFINED__
 #define __IEnumContextProps_FWD_DEFINED__
 typedef interface IEnumContextProps IEnumContextProps;
+#ifdef __cplusplus
+interface IEnumContextProps;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IContext_FWD_DEFINED__
 #define __IContext_FWD_DEFINED__
 typedef interface IContext IContext;
+#ifdef __cplusplus
+interface IContext;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IComThreadingInfo_FWD_DEFINED__
 #define __IComThreadingInfo_FWD_DEFINED__
 typedef interface IComThreadingInfo IComThreadingInfo;
+#ifdef __cplusplus
+interface IComThreadingInfo;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IProcessInitControl_FWD_DEFINED__
 #define __IProcessInitControl_FWD_DEFINED__
 typedef interface IProcessInitControl IProcessInitControl;
+#ifdef __cplusplus
+interface IProcessInitControl;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IFastRundown_FWD_DEFINED__
 #define __IFastRundown_FWD_DEFINED__
 typedef interface IFastRundown IFastRundown;
+#ifdef __cplusplus
+interface IFastRundown;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMarshalingStream_FWD_DEFINED__
 #define __IMarshalingStream_FWD_DEFINED__
 typedef interface IMarshalingStream IMarshalingStream;
+#ifdef __cplusplus
+interface IMarshalingStream;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMallocSpy_FWD_DEFINED__
 #define __IMallocSpy_FWD_DEFINED__
 typedef interface IMallocSpy IMallocSpy;
+#ifdef __cplusplus
+interface IMallocSpy;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBindCtx_FWD_DEFINED__
 #define __IBindCtx_FWD_DEFINED__
 typedef interface IBindCtx IBindCtx;
+#ifdef __cplusplus
+interface IBindCtx;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumMoniker_FWD_DEFINED__
 #define __IEnumMoniker_FWD_DEFINED__
 typedef interface IEnumMoniker IEnumMoniker;
+#ifdef __cplusplus
+interface IEnumMoniker;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRunnableObject_FWD_DEFINED__
 #define __IRunnableObject_FWD_DEFINED__
 typedef interface IRunnableObject IRunnableObject;
+#ifdef __cplusplus
+interface IRunnableObject;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRunningObjectTable_FWD_DEFINED__
 #define __IRunningObjectTable_FWD_DEFINED__
 typedef interface IRunningObjectTable IRunningObjectTable;
+#ifdef __cplusplus
+interface IRunningObjectTable;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IPersist_FWD_DEFINED__
 #define __IPersist_FWD_DEFINED__
 typedef interface IPersist IPersist;
+#ifdef __cplusplus
+interface IPersist;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IPersistStream_FWD_DEFINED__
 #define __IPersistStream_FWD_DEFINED__
 typedef interface IPersistStream IPersistStream;
+#ifdef __cplusplus
+interface IPersistStream;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMoniker_FWD_DEFINED__
 #define __IMoniker_FWD_DEFINED__
 typedef interface IMoniker IMoniker;
+#ifdef __cplusplus
+interface IMoniker;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IROTData_FWD_DEFINED__
 #define __IROTData_FWD_DEFINED__
 typedef interface IROTData IROTData;
+#ifdef __cplusplus
+interface IROTData;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumSTATSTG_FWD_DEFINED__
 #define __IEnumSTATSTG_FWD_DEFINED__
 typedef interface IEnumSTATSTG IEnumSTATSTG;
+#ifdef __cplusplus
+interface IEnumSTATSTG;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IStorage_FWD_DEFINED__
 #define __IStorage_FWD_DEFINED__
 typedef interface IStorage IStorage;
+#ifdef __cplusplus
+interface IStorage;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IPersistFile_FWD_DEFINED__
 #define __IPersistFile_FWD_DEFINED__
 typedef interface IPersistFile IPersistFile;
+#ifdef __cplusplus
+interface IPersistFile;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IPersistStorage_FWD_DEFINED__
 #define __IPersistStorage_FWD_DEFINED__
 typedef interface IPersistStorage IPersistStorage;
+#ifdef __cplusplus
+interface IPersistStorage;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ILockBytes_FWD_DEFINED__
 #define __ILockBytes_FWD_DEFINED__
 typedef interface ILockBytes ILockBytes;
+#ifdef __cplusplus
+interface ILockBytes;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumFORMATETC_FWD_DEFINED__
 #define __IEnumFORMATETC_FWD_DEFINED__
 typedef interface IEnumFORMATETC IEnumFORMATETC;
+#ifdef __cplusplus
+interface IEnumFORMATETC;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumSTATDATA_FWD_DEFINED__
 #define __IEnumSTATDATA_FWD_DEFINED__
 typedef interface IEnumSTATDATA IEnumSTATDATA;
+#ifdef __cplusplus
+interface IEnumSTATDATA;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRootStorage_FWD_DEFINED__
 #define __IRootStorage_FWD_DEFINED__
 typedef interface IRootStorage IRootStorage;
+#ifdef __cplusplus
+interface IRootStorage;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAdviseSink_FWD_DEFINED__
 #define __IAdviseSink_FWD_DEFINED__
 typedef interface IAdviseSink IAdviseSink;
+#ifdef __cplusplus
+interface IAdviseSink;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __AsyncIAdviseSink_FWD_DEFINED__
 #define __AsyncIAdviseSink_FWD_DEFINED__
 typedef interface AsyncIAdviseSink AsyncIAdviseSink;
+#ifdef __cplusplus
+interface AsyncIAdviseSink;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAdviseSink2_FWD_DEFINED__
 #define __IAdviseSink2_FWD_DEFINED__
 typedef interface IAdviseSink2 IAdviseSink2;
+#ifdef __cplusplus
+interface IAdviseSink2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __AsyncIAdviseSink2_FWD_DEFINED__
 #define __AsyncIAdviseSink2_FWD_DEFINED__
 typedef interface AsyncIAdviseSink2 AsyncIAdviseSink2;
+#ifdef __cplusplus
+interface AsyncIAdviseSink2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDataObject_FWD_DEFINED__
 #define __IDataObject_FWD_DEFINED__
 typedef interface IDataObject IDataObject;
+#ifdef __cplusplus
+interface IDataObject;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDataAdviseHolder_FWD_DEFINED__
 #define __IDataAdviseHolder_FWD_DEFINED__
 typedef interface IDataAdviseHolder IDataAdviseHolder;
+#ifdef __cplusplus
+interface IDataAdviseHolder;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMessageFilter_FWD_DEFINED__
 #define __IMessageFilter_FWD_DEFINED__
 typedef interface IMessageFilter IMessageFilter;
+#ifdef __cplusplus
+interface IMessageFilter;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IClassActivator_FWD_DEFINED__
 #define __IClassActivator_FWD_DEFINED__
 typedef interface IClassActivator IClassActivator;
+#ifdef __cplusplus
+interface IClassActivator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IFillLockBytes_FWD_DEFINED__
 #define __IFillLockBytes_FWD_DEFINED__
 typedef interface IFillLockBytes IFillLockBytes;
+#ifdef __cplusplus
+interface IFillLockBytes;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IProgressNotify_FWD_DEFINED__
 #define __IProgressNotify_FWD_DEFINED__
 typedef interface IProgressNotify IProgressNotify;
+#ifdef __cplusplus
+interface IProgressNotify;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ILayoutStorage_FWD_DEFINED__
 #define __ILayoutStorage_FWD_DEFINED__
 typedef interface ILayoutStorage ILayoutStorage;
+#ifdef __cplusplus
+interface ILayoutStorage;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBlockingLock_FWD_DEFINED__
 #define __IBlockingLock_FWD_DEFINED__
 typedef interface IBlockingLock IBlockingLock;
+#ifdef __cplusplus
+interface IBlockingLock;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITimeAndNoticeControl_FWD_DEFINED__
 #define __ITimeAndNoticeControl_FWD_DEFINED__
 typedef interface ITimeAndNoticeControl ITimeAndNoticeControl;
+#ifdef __cplusplus
+interface ITimeAndNoticeControl;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IOplockStorage_FWD_DEFINED__
 #define __IOplockStorage_FWD_DEFINED__
 typedef interface IOplockStorage IOplockStorage;
+#ifdef __cplusplus
+interface IOplockStorage;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDirectWriterLock_FWD_DEFINED__
 #define __IDirectWriterLock_FWD_DEFINED__
 typedef interface IDirectWriterLock IDirectWriterLock;
+#ifdef __cplusplus
+interface IDirectWriterLock;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IUrlMon_FWD_DEFINED__
 #define __IUrlMon_FWD_DEFINED__
 typedef interface IUrlMon IUrlMon;
+#ifdef __cplusplus
+interface IUrlMon;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IForegroundTransfer_FWD_DEFINED__
 #define __IForegroundTransfer_FWD_DEFINED__
 typedef interface IForegroundTransfer IForegroundTransfer;
+#ifdef __cplusplus
+interface IForegroundTransfer;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IThumbnailExtractor_FWD_DEFINED__
 #define __IThumbnailExtractor_FWD_DEFINED__
 typedef interface IThumbnailExtractor IThumbnailExtractor;
+#ifdef __cplusplus
+interface IThumbnailExtractor;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDummyHICONIncluder_FWD_DEFINED__
 #define __IDummyHICONIncluder_FWD_DEFINED__
 typedef interface IDummyHICONIncluder IDummyHICONIncluder;
+#ifdef __cplusplus
+interface IDummyHICONIncluder;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IProcessLock_FWD_DEFINED__
 #define __IProcessLock_FWD_DEFINED__
 typedef interface IProcessLock IProcessLock;
+#ifdef __cplusplus
+interface IProcessLock;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ISurrogateService_FWD_DEFINED__
 #define __ISurrogateService_FWD_DEFINED__
 typedef interface ISurrogateService ISurrogateService;
+#ifdef __cplusplus
+interface ISurrogateService;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IInitializeSpy_FWD_DEFINED__
 #define __IInitializeSpy_FWD_DEFINED__
 typedef interface IInitializeSpy IInitializeSpy;
+#ifdef __cplusplus
+interface IInitializeSpy;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IApartmentShutdown_FWD_DEFINED__
 #define __IApartmentShutdown_FWD_DEFINED__
 typedef interface IApartmentShutdown IApartmentShutdown;
+#ifdef __cplusplus
+interface IApartmentShutdown;
+#endif /* __cplusplus */
 #endif
 
 /* Headers for imported files */
@@ -521,21 +794,25 @@ extern "C" {
 #ifndef __IStream_FWD_DEFINED__
 #define __IStream_FWD_DEFINED__
 typedef interface IStream IStream;
+#ifdef __cplusplus
+interface IStream;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumString_FWD_DEFINED__
 #define __IEnumString_FWD_DEFINED__
 typedef interface IEnumString IEnumString;
+#ifdef __cplusplus
+interface IEnumString;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMultiQI_FWD_DEFINED__
 #define __IMultiQI_FWD_DEFINED__
 typedef interface IMultiQI IMultiQI;
-#endif
-
-#ifndef __AsyncIMultiQI_FWD_DEFINED__
-#define __AsyncIMultiQI_FWD_DEFINED__
-typedef interface AsyncIMultiQI AsyncIMultiQI;
+#ifdef __cplusplus
+interface IMultiQI;
+#endif /* __cplusplus */
 #endif
 
 #endif
@@ -544,16 +821,25 @@ typedef interface AsyncIMultiQI AsyncIMultiQI;
 #ifndef __IAsyncManager_FWD_DEFINED__
 #define __IAsyncManager_FWD_DEFINED__
 typedef interface IAsyncManager IAsyncManager;
+#ifdef __cplusplus
+interface IAsyncManager;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ICallFactory_FWD_DEFINED__
 #define __ICallFactory_FWD_DEFINED__
 typedef interface ICallFactory ICallFactory;
+#ifdef __cplusplus
+interface ICallFactory;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ISynchronize_FWD_DEFINED__
 #define __ISynchronize_FWD_DEFINED__
 typedef interface ISynchronize ISynchronize;
+#ifdef __cplusplus
+interface ISynchronize;
+#endif /* __cplusplus */
 #endif
 
 #endif
diff --git a/mingw-w64-headers/include/tuner.h 
b/mingw-w64-headers/include/tuner.h
index dba9fb6c..18a97163 100644
--- a/mingw-w64-headers/include/tuner.h
+++ b/mingw-w64-headers/include/tuner.h
@@ -20,366 +20,585 @@
 #ifndef __ITuningSpaces_FWD_DEFINED__
 #define __ITuningSpaces_FWD_DEFINED__
 typedef interface ITuningSpaces ITuningSpaces;
+#ifdef __cplusplus
+interface ITuningSpaces;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITuningSpaceContainer_FWD_DEFINED__
 #define __ITuningSpaceContainer_FWD_DEFINED__
 typedef interface ITuningSpaceContainer ITuningSpaceContainer;
+#ifdef __cplusplus
+interface ITuningSpaceContainer;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITuningSpace_FWD_DEFINED__
 #define __ITuningSpace_FWD_DEFINED__
 typedef interface ITuningSpace ITuningSpace;
+#ifdef __cplusplus
+interface ITuningSpace;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumTuningSpaces_FWD_DEFINED__
 #define __IEnumTuningSpaces_FWD_DEFINED__
 typedef interface IEnumTuningSpaces IEnumTuningSpaces;
+#ifdef __cplusplus
+interface IEnumTuningSpaces;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBTuningSpace_FWD_DEFINED__
 #define __IDVBTuningSpace_FWD_DEFINED__
 typedef interface IDVBTuningSpace IDVBTuningSpace;
+#ifdef __cplusplus
+interface IDVBTuningSpace;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBTuningSpace2_FWD_DEFINED__
 #define __IDVBTuningSpace2_FWD_DEFINED__
 typedef interface IDVBTuningSpace2 IDVBTuningSpace2;
+#ifdef __cplusplus
+interface IDVBTuningSpace2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBSTuningSpace_FWD_DEFINED__
 #define __IDVBSTuningSpace_FWD_DEFINED__
 typedef interface IDVBSTuningSpace IDVBSTuningSpace;
+#ifdef __cplusplus
+interface IDVBSTuningSpace;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAuxInTuningSpace_FWD_DEFINED__
 #define __IAuxInTuningSpace_FWD_DEFINED__
 typedef interface IAuxInTuningSpace IAuxInTuningSpace;
+#ifdef __cplusplus
+interface IAuxInTuningSpace;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAuxInTuningSpace2_FWD_DEFINED__
 #define __IAuxInTuningSpace2_FWD_DEFINED__
 typedef interface IAuxInTuningSpace2 IAuxInTuningSpace2;
+#ifdef __cplusplus
+interface IAuxInTuningSpace2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAnalogTVTuningSpace_FWD_DEFINED__
 #define __IAnalogTVTuningSpace_FWD_DEFINED__
 typedef interface IAnalogTVTuningSpace IAnalogTVTuningSpace;
+#ifdef __cplusplus
+interface IAnalogTVTuningSpace;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IATSCTuningSpace_FWD_DEFINED__
 #define __IATSCTuningSpace_FWD_DEFINED__
 typedef interface IATSCTuningSpace IATSCTuningSpace;
+#ifdef __cplusplus
+interface IATSCTuningSpace;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDigitalCableTuningSpace_FWD_DEFINED__
 #define __IDigitalCableTuningSpace_FWD_DEFINED__
 typedef interface IDigitalCableTuningSpace IDigitalCableTuningSpace;
+#ifdef __cplusplus
+interface IDigitalCableTuningSpace;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAnalogRadioTuningSpace_FWD_DEFINED__
 #define __IAnalogRadioTuningSpace_FWD_DEFINED__
 typedef interface IAnalogRadioTuningSpace IAnalogRadioTuningSpace;
+#ifdef __cplusplus
+interface IAnalogRadioTuningSpace;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAnalogRadioTuningSpace2_FWD_DEFINED__
 #define __IAnalogRadioTuningSpace2_FWD_DEFINED__
 typedef interface IAnalogRadioTuningSpace2 IAnalogRadioTuningSpace2;
+#ifdef __cplusplus
+interface IAnalogRadioTuningSpace2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITuneRequest_FWD_DEFINED__
 #define __ITuneRequest_FWD_DEFINED__
 typedef interface ITuneRequest ITuneRequest;
+#ifdef __cplusplus
+interface ITuneRequest;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IChannelIDTuneRequest_FWD_DEFINED__
 #define __IChannelIDTuneRequest_FWD_DEFINED__
 typedef interface IChannelIDTuneRequest IChannelIDTuneRequest;
+#ifdef __cplusplus
+interface IChannelIDTuneRequest;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IChannelTuneRequest_FWD_DEFINED__
 #define __IChannelTuneRequest_FWD_DEFINED__
 typedef interface IChannelTuneRequest IChannelTuneRequest;
+#ifdef __cplusplus
+interface IChannelTuneRequest;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IATSCChannelTuneRequest_FWD_DEFINED__
 #define __IATSCChannelTuneRequest_FWD_DEFINED__
 typedef interface IATSCChannelTuneRequest IATSCChannelTuneRequest;
+#ifdef __cplusplus
+interface IATSCChannelTuneRequest;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDigitalCableTuneRequest_FWD_DEFINED__
 #define __IDigitalCableTuneRequest_FWD_DEFINED__
 typedef interface IDigitalCableTuneRequest IDigitalCableTuneRequest;
+#ifdef __cplusplus
+interface IDigitalCableTuneRequest;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBTuneRequest_FWD_DEFINED__
 #define __IDVBTuneRequest_FWD_DEFINED__
 typedef interface IDVBTuneRequest IDVBTuneRequest;
+#ifdef __cplusplus
+interface IDVBTuneRequest;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMPEG2TuneRequest_FWD_DEFINED__
 #define __IMPEG2TuneRequest_FWD_DEFINED__
 typedef interface IMPEG2TuneRequest IMPEG2TuneRequest;
+#ifdef __cplusplus
+interface IMPEG2TuneRequest;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMPEG2TuneRequestFactory_FWD_DEFINED__
 #define __IMPEG2TuneRequestFactory_FWD_DEFINED__
 typedef interface IMPEG2TuneRequestFactory IMPEG2TuneRequestFactory;
+#ifdef __cplusplus
+interface IMPEG2TuneRequestFactory;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMPEG2TuneRequestSupport_FWD_DEFINED__
 #define __IMPEG2TuneRequestSupport_FWD_DEFINED__
 typedef interface IMPEG2TuneRequestSupport IMPEG2TuneRequestSupport;
+#ifdef __cplusplus
+interface IMPEG2TuneRequestSupport;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITunerCap_FWD_DEFINED__
 #define __ITunerCap_FWD_DEFINED__
 typedef interface ITunerCap ITunerCap;
+#ifdef __cplusplus
+interface ITunerCap;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITunerCapEx_FWD_DEFINED__
 #define __ITunerCapEx_FWD_DEFINED__
 typedef interface ITunerCapEx ITunerCapEx;
+#ifdef __cplusplus
+interface ITunerCapEx;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITuner_FWD_DEFINED__
 #define __ITuner_FWD_DEFINED__
 typedef interface ITuner ITuner;
+#ifdef __cplusplus
+interface ITuner;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IScanningTuner_FWD_DEFINED__
 #define __IScanningTuner_FWD_DEFINED__
 typedef interface IScanningTuner IScanningTuner;
+#ifdef __cplusplus
+interface IScanningTuner;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IScanningTunerEx_FWD_DEFINED__
 #define __IScanningTunerEx_FWD_DEFINED__
 typedef interface IScanningTunerEx IScanningTunerEx;
+#ifdef __cplusplus
+interface IScanningTunerEx;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IComponentType_FWD_DEFINED__
 #define __IComponentType_FWD_DEFINED__
 typedef interface IComponentType IComponentType;
+#ifdef __cplusplus
+interface IComponentType;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ILanguageComponentType_FWD_DEFINED__
 #define __ILanguageComponentType_FWD_DEFINED__
 typedef interface ILanguageComponentType ILanguageComponentType;
+#ifdef __cplusplus
+interface ILanguageComponentType;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMPEG2ComponentType_FWD_DEFINED__
 #define __IMPEG2ComponentType_FWD_DEFINED__
 typedef interface IMPEG2ComponentType IMPEG2ComponentType;
+#ifdef __cplusplus
+interface IMPEG2ComponentType;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IATSCComponentType_FWD_DEFINED__
 #define __IATSCComponentType_FWD_DEFINED__
 typedef interface IATSCComponentType IATSCComponentType;
+#ifdef __cplusplus
+interface IATSCComponentType;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumComponentTypes_FWD_DEFINED__
 #define __IEnumComponentTypes_FWD_DEFINED__
 typedef interface IEnumComponentTypes IEnumComponentTypes;
+#ifdef __cplusplus
+interface IEnumComponentTypes;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IComponentTypes_FWD_DEFINED__
 #define __IComponentTypes_FWD_DEFINED__
 typedef interface IComponentTypes IComponentTypes;
+#ifdef __cplusplus
+interface IComponentTypes;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IComponent_FWD_DEFINED__
 #define __IComponent_FWD_DEFINED__
 typedef interface IComponent IComponent;
+#ifdef __cplusplus
+interface IComponent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAnalogAudioComponentType_FWD_DEFINED__
 #define __IAnalogAudioComponentType_FWD_DEFINED__
 typedef interface IAnalogAudioComponentType IAnalogAudioComponentType;
+#ifdef __cplusplus
+interface IAnalogAudioComponentType;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMPEG2Component_FWD_DEFINED__
 #define __IMPEG2Component_FWD_DEFINED__
 typedef interface IMPEG2Component IMPEG2Component;
+#ifdef __cplusplus
+interface IMPEG2Component;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumComponents_FWD_DEFINED__
 #define __IEnumComponents_FWD_DEFINED__
 typedef interface IEnumComponents IEnumComponents;
+#ifdef __cplusplus
+interface IEnumComponents;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IComponents_FWD_DEFINED__
 #define __IComponents_FWD_DEFINED__
 typedef interface IComponents IComponents;
+#ifdef __cplusplus
+interface IComponents;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IComponentsOld_FWD_DEFINED__
 #define __IComponentsOld_FWD_DEFINED__
 typedef interface IComponentsOld IComponentsOld;
+#ifdef __cplusplus
+interface IComponentsOld;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ILocator_FWD_DEFINED__
 #define __ILocator_FWD_DEFINED__
 typedef interface ILocator ILocator;
+#ifdef __cplusplus
+interface ILocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IAnalogLocator_FWD_DEFINED__
 #define __IAnalogLocator_FWD_DEFINED__
 typedef interface IAnalogLocator IAnalogLocator;
+#ifdef __cplusplus
+interface IAnalogLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDigitalLocator_FWD_DEFINED__
 #define __IDigitalLocator_FWD_DEFINED__
 typedef interface IDigitalLocator IDigitalLocator;
+#ifdef __cplusplus
+interface IDigitalLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IATSCLocator_FWD_DEFINED__
 #define __IATSCLocator_FWD_DEFINED__
 typedef interface IATSCLocator IATSCLocator;
+#ifdef __cplusplus
+interface IATSCLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IATSCLocator2_FWD_DEFINED__
 #define __IATSCLocator2_FWD_DEFINED__
 typedef interface IATSCLocator2 IATSCLocator2;
+#ifdef __cplusplus
+interface IATSCLocator2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDigitalCableLocator_FWD_DEFINED__
 #define __IDigitalCableLocator_FWD_DEFINED__
 typedef interface IDigitalCableLocator IDigitalCableLocator;
+#ifdef __cplusplus
+interface IDigitalCableLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBTLocator_FWD_DEFINED__
 #define __IDVBTLocator_FWD_DEFINED__
 typedef interface IDVBTLocator IDVBTLocator;
+#ifdef __cplusplus
+interface IDVBTLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBTLocator2_FWD_DEFINED__
 #define __IDVBTLocator2_FWD_DEFINED__
 typedef interface IDVBTLocator2 IDVBTLocator2;
+#ifdef __cplusplus
+interface IDVBTLocator2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBSLocator_FWD_DEFINED__
 #define __IDVBSLocator_FWD_DEFINED__
 typedef interface IDVBSLocator IDVBSLocator;
+#ifdef __cplusplus
+interface IDVBSLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBSLocator2_FWD_DEFINED__
 #define __IDVBSLocator2_FWD_DEFINED__
 typedef interface IDVBSLocator2 IDVBSLocator2;
+#ifdef __cplusplus
+interface IDVBSLocator2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBCLocator_FWD_DEFINED__
 #define __IDVBCLocator_FWD_DEFINED__
 typedef interface IDVBCLocator IDVBCLocator;
+#ifdef __cplusplus
+interface IDVBCLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IISDBSLocator_FWD_DEFINED__
 #define __IISDBSLocator_FWD_DEFINED__
 typedef interface IISDBSLocator IISDBSLocator;
+#ifdef __cplusplus
+interface IISDBSLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESEvent_FWD_DEFINED__
 #define __IESEvent_FWD_DEFINED__
 typedef interface IESEvent IESEvent;
+#ifdef __cplusplus
+interface IESEvent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESOpenMmiEvent_FWD_DEFINED__
 #define __IESOpenMmiEvent_FWD_DEFINED__
 typedef interface IESOpenMmiEvent IESOpenMmiEvent;
+#ifdef __cplusplus
+interface IESOpenMmiEvent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESCloseMmiEvent_FWD_DEFINED__
 #define __IESCloseMmiEvent_FWD_DEFINED__
 typedef interface IESCloseMmiEvent IESCloseMmiEvent;
+#ifdef __cplusplus
+interface IESCloseMmiEvent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESValueUpdatedEvent_FWD_DEFINED__
 #define __IESValueUpdatedEvent_FWD_DEFINED__
 typedef interface IESValueUpdatedEvent IESValueUpdatedEvent;
+#ifdef __cplusplus
+interface IESValueUpdatedEvent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESRequestTunerEvent_FWD_DEFINED__
 #define __IESRequestTunerEvent_FWD_DEFINED__
 typedef interface IESRequestTunerEvent IESRequestTunerEvent;
+#ifdef __cplusplus
+interface IESRequestTunerEvent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESIsdbCasResponseEvent_FWD_DEFINED__
 #define __IESIsdbCasResponseEvent_FWD_DEFINED__
 typedef interface IESIsdbCasResponseEvent IESIsdbCasResponseEvent;
+#ifdef __cplusplus
+interface IESIsdbCasResponseEvent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IGpnvsCommonBase_FWD_DEFINED__
 #define __IGpnvsCommonBase_FWD_DEFINED__
 typedef interface IGpnvsCommonBase IGpnvsCommonBase;
+#ifdef __cplusplus
+interface IGpnvsCommonBase;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESEventFactory_FWD_DEFINED__
 #define __IESEventFactory_FWD_DEFINED__
 typedef interface IESEventFactory IESEventFactory;
+#ifdef __cplusplus
+interface IESEventFactory;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESLicenseRenewalResultEvent_FWD_DEFINED__
 #define __IESLicenseRenewalResultEvent_FWD_DEFINED__
 typedef interface IESLicenseRenewalResultEvent IESLicenseRenewalResultEvent;
+#ifdef __cplusplus
+interface IESLicenseRenewalResultEvent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESFileExpiryDateEvent_FWD_DEFINED__
 #define __IESFileExpiryDateEvent_FWD_DEFINED__
 typedef interface IESFileExpiryDateEvent IESFileExpiryDateEvent;
+#ifdef __cplusplus
+interface IESFileExpiryDateEvent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESEvents_FWD_DEFINED__
 #define __IESEvents_FWD_DEFINED__
 typedef interface IESEvents IESEvents;
+#ifdef __cplusplus
+interface IESEvents;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESEventService_FWD_DEFINED__
 #define __IESEventService_FWD_DEFINED__
 typedef interface IESEventService IESEventService;
+#ifdef __cplusplus
+interface IESEventService;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IESEventServiceConfiguration_FWD_DEFINED__
 #define __IESEventServiceConfiguration_FWD_DEFINED__
 typedef interface IESEventServiceConfiguration IESEventServiceConfiguration;
+#ifdef __cplusplus
+interface IESEventServiceConfiguration;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBroadcastEvent_FWD_DEFINED__
 #define __IBroadcastEvent_FWD_DEFINED__
 typedef interface IBroadcastEvent IBroadcastEvent;
+#ifdef __cplusplus
+interface IBroadcastEvent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBroadcastEventEx_FWD_DEFINED__
 #define __IBroadcastEventEx_FWD_DEFINED__
 typedef interface IBroadcastEventEx IBroadcastEventEx;
+#ifdef __cplusplus
+interface IBroadcastEventEx;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IRegisterTuner_FWD_DEFINED__
 #define __IRegisterTuner_FWD_DEFINED__
 typedef interface IRegisterTuner IRegisterTuner;
+#ifdef __cplusplus
+interface IRegisterTuner;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDAComparable_FWD_DEFINED__
 #define __IBDAComparable_FWD_DEFINED__
 typedef interface IBDAComparable IBDAComparable;
+#ifdef __cplusplus
+interface IBDAComparable;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IPersistTuneXml_FWD_DEFINED__
 #define __IPersistTuneXml_FWD_DEFINED__
 typedef interface IPersistTuneXml IPersistTuneXml;
+#ifdef __cplusplus
+interface IPersistTuneXml;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IPersistTuneXmlUtility_FWD_DEFINED__
 #define __IPersistTuneXmlUtility_FWD_DEFINED__
 typedef interface IPersistTuneXmlUtility IPersistTuneXmlUtility;
+#ifdef __cplusplus
+interface IPersistTuneXmlUtility;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IPersistTuneXmlUtility2_FWD_DEFINED__
 #define __IPersistTuneXmlUtility2_FWD_DEFINED__
 typedef interface IPersistTuneXmlUtility2 IPersistTuneXmlUtility2;
+#ifdef __cplusplus
+interface IPersistTuneXmlUtility2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IBDACreateTuneRequestEx_FWD_DEFINED__
 #define __IBDACreateTuneRequestEx_FWD_DEFINED__
 typedef interface IBDACreateTuneRequestEx IBDACreateTuneRequestEx;
+#ifdef __cplusplus
+interface IBDACreateTuneRequestEx;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __SystemTuningSpaces_FWD_DEFINED__
@@ -784,141 +1003,225 @@ extern "C" {
 #ifndef __IAnalogLocator_FWD_DEFINED__
 #define __IAnalogLocator_FWD_DEFINED__
 typedef interface IAnalogLocator IAnalogLocator;
+#ifdef __cplusplus
+interface IAnalogLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IATSCLocator_FWD_DEFINED__
 #define __IATSCLocator_FWD_DEFINED__
 typedef interface IATSCLocator IATSCLocator;
+#ifdef __cplusplus
+interface IATSCLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IComponent_FWD_DEFINED__
 #define __IComponent_FWD_DEFINED__
 typedef interface IComponent IComponent;
+#ifdef __cplusplus
+interface IComponent;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IComponents_FWD_DEFINED__
 #define __IComponents_FWD_DEFINED__
 typedef interface IComponents IComponents;
+#ifdef __cplusplus
+interface IComponents;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IComponentType_FWD_DEFINED__
 #define __IComponentType_FWD_DEFINED__
 typedef interface IComponentType IComponentType;
+#ifdef __cplusplus
+interface IComponentType;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IComponentTypes_FWD_DEFINED__
 #define __IComponentTypes_FWD_DEFINED__
 typedef interface IComponentTypes IComponentTypes;
+#ifdef __cplusplus
+interface IComponentTypes;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDigitalCableLocator_FWD_DEFINED__
 #define __IDigitalCableLocator_FWD_DEFINED__
 typedef interface IDigitalCableLocator IDigitalCableLocator;
+#ifdef __cplusplus
+interface IDigitalCableLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDigitalCableTuneRequest_FWD_DEFINED__
 #define __IDigitalCableTuneRequest_FWD_DEFINED__
 typedef interface IDigitalCableTuneRequest IDigitalCableTuneRequest;
+#ifdef __cplusplus
+interface IDigitalCableTuneRequest;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDigitalCableTuningSpace_FWD_DEFINED__
 #define __IDigitalCableTuningSpace_FWD_DEFINED__
 typedef interface IDigitalCableTuningSpace IDigitalCableTuningSpace;
+#ifdef __cplusplus
+interface IDigitalCableTuningSpace;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBCLocator_FWD_DEFINED__
 #define __IDVBCLocator_FWD_DEFINED__
 typedef interface IDVBCLocator IDVBCLocator;
+#ifdef __cplusplus
+interface IDVBCLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBSLocator_FWD_DEFINED__
 #define __IDVBSLocator_FWD_DEFINED__
 typedef interface IDVBSLocator IDVBSLocator;
+#ifdef __cplusplus
+interface IDVBSLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBSLocator2_FWD_DEFINED__
 #define __IDVBSLocator2_FWD_DEFINED__
 typedef interface IDVBSLocator2 IDVBSLocator2;
+#ifdef __cplusplus
+interface IDVBSLocator2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBTLocator_FWD_DEFINED__
 #define __IDVBTLocator_FWD_DEFINED__
 typedef interface IDVBTLocator IDVBTLocator;
+#ifdef __cplusplus
+interface IDVBTLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IDVBTLocator2_FWD_DEFINED__
 #define __IDVBTLocator2_FWD_DEFINED__
 typedef interface IDVBTLocator2 IDVBTLocator2;
+#ifdef __cplusplus
+interface IDVBTLocator2;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumComponents_FWD_DEFINED__
 #define __IEnumComponents_FWD_DEFINED__
 typedef interface IEnumComponents IEnumComponents;
+#ifdef __cplusplus
+interface IEnumComponents;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumComponentTypes_FWD_DEFINED__
 #define __IEnumComponentTypes_FWD_DEFINED__
 typedef interface IEnumComponentTypes IEnumComponentTypes;
+#ifdef __cplusplus
+interface IEnumComponentTypes;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IEnumTuningSpaces_FWD_DEFINED__
 #define __IEnumTuningSpaces_FWD_DEFINED__
 typedef interface IEnumTuningSpaces IEnumTuningSpaces;
+#ifdef __cplusplus
+interface IEnumTuningSpaces;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IISDBSLocator_FWD_DEFINED__
 #define __IISDBSLocator_FWD_DEFINED__
 typedef interface IISDBSLocator IISDBSLocator;
+#ifdef __cplusplus
+interface IISDBSLocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ILanguageComponentType_FWD_DEFINED__
 #define __ILanguageComponentType_FWD_DEFINED__
 typedef interface ILanguageComponentType ILanguageComponentType;
+#ifdef __cplusplus
+interface ILanguageComponentType;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ILocator_FWD_DEFINED__
 #define __ILocator_FWD_DEFINED__
 typedef interface ILocator ILocator;
+#ifdef __cplusplus
+interface ILocator;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMPEG2Component_FWD_DEFINED__
 #define __IMPEG2Component_FWD_DEFINED__
 typedef interface IMPEG2Component IMPEG2Component;
+#ifdef __cplusplus
+interface IMPEG2Component;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IMPEG2ComponentType_FWD_DEFINED__
 #define __IMPEG2ComponentType_FWD_DEFINED__
 typedef interface IMPEG2ComponentType IMPEG2ComponentType;
+#ifdef __cplusplus
+interface IMPEG2ComponentType;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IScanningTuner_FWD_DEFINED__
 #define __IScanningTuner_FWD_DEFINED__
 typedef interface IScanningTuner IScanningTuner;
+#ifdef __cplusplus
+interface IScanningTuner;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITuneRequest_FWD_DEFINED__
 #define __ITuneRequest_FWD_DEFINED__
 typedef interface ITuneRequest ITuneRequest;
+#ifdef __cplusplus
+interface ITuneRequest;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITuner_FWD_DEFINED__
 #define __ITuner_FWD_DEFINED__
 typedef interface ITuner ITuner;
+#ifdef __cplusplus
+interface ITuner;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITunerCap_FWD_DEFINED__
 #define __ITunerCap_FWD_DEFINED__
 typedef interface ITunerCap ITunerCap;
+#ifdef __cplusplus
+interface ITunerCap;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITuningSpace_FWD_DEFINED__
 #define __ITuningSpace_FWD_DEFINED__
 typedef interface ITuningSpace ITuningSpace;
+#ifdef __cplusplus
+interface ITuningSpace;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __ITuningSpaceContainer_FWD_DEFINED__
 #define __ITuningSpaceContainer_FWD_DEFINED__
 typedef interface ITuningSpaceContainer ITuningSpaceContainer;
+#ifdef __cplusplus
+interface ITuningSpaceContainer;
+#endif /* __cplusplus */
 #endif
 
 
diff --git a/mingw-w64-headers/include/unknwn.h 
b/mingw-w64-headers/include/unknwn.h
index 051c5ec2..a7b4a833 100644
--- a/mingw-w64-headers/include/unknwn.h
+++ b/mingw-w64-headers/include/unknwn.h
@@ -20,16 +20,25 @@
 #ifndef __IUnknown_FWD_DEFINED__
 #define __IUnknown_FWD_DEFINED__
 typedef interface IUnknown IUnknown;
+#ifdef __cplusplus
+interface IUnknown;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __AsyncIUnknown_FWD_DEFINED__
 #define __AsyncIUnknown_FWD_DEFINED__
 typedef interface AsyncIUnknown AsyncIUnknown;
+#ifdef __cplusplus
+interface AsyncIUnknown;
+#endif /* __cplusplus */
 #endif
 
 #ifndef __IClassFactory_FWD_DEFINED__
 #define __IClassFactory_FWD_DEFINED__
 typedef interface IClassFactory IClassFactory;
+#ifdef __cplusplus
+interface IClassFactory;
+#endif /* __cplusplus */
 #endif
 
 /* Headers for imported files */
-- 
2.29.2



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to