#if _MSC_VER >= 1920 /* RT_MSC_VER_VS2019 */
# pragma warning(disable:5031 5032) /* buggy winioctl.h in some w10 sdks */ 
#endif
#pragma warning(push) /* -Wall and windows.h */
#pragma warning(disable:4668 4255)
#if _MSC_VER >= 1800 /* RT_MSC_VER_VC120 */
# pragma warning(disable:4005)
#endif
#if _MSC_VER >= 1900 /* RT_MSC_VER_VC140 */
# pragma warning(disable:5039)
#endif



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


 /* File created by MIDL compiler version 8.01.0626 */
/* at Tue Jan 19 04:14:07 2038
 */
/* Compiler settings for D:\tinderbox\7.1-sdk\out\win.amd64\release\bin\sdk\bindings\mscom\idl\VirtualBox.idl:
    Oicf, W4, Zp8, env=Win64 (32b run), target_arch=AMD64 8.01.0626 
    protocol : all , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
/* @@MIDL_FILE_HEADING(  ) */



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

#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 __VirtualBox_h__
#define __VirtualBox_h__

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

#ifndef DECLSPEC_XFGVIRT
#if _CONTROL_FLOW_GUARD_XFG
#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
#else
#define DECLSPEC_XFGVIRT(base, func)
#endif
#endif

/* Forward Declarations */ 

#ifndef __IVirtualBoxErrorInfo_FWD_DEFINED__
#define __IVirtualBoxErrorInfo_FWD_DEFINED__
typedef interface IVirtualBoxErrorInfo IVirtualBoxErrorInfo;

#endif 	/* __IVirtualBoxErrorInfo_FWD_DEFINED__ */


#ifndef __INATNetwork_FWD_DEFINED__
#define __INATNetwork_FWD_DEFINED__
typedef interface INATNetwork INATNetwork;

#endif 	/* __INATNetwork_FWD_DEFINED__ */


#ifndef __ICloudNetwork_FWD_DEFINED__
#define __ICloudNetwork_FWD_DEFINED__
typedef interface ICloudNetwork ICloudNetwork;

#endif 	/* __ICloudNetwork_FWD_DEFINED__ */


#ifndef __IHostOnlyNetwork_FWD_DEFINED__
#define __IHostOnlyNetwork_FWD_DEFINED__
typedef interface IHostOnlyNetwork IHostOnlyNetwork;

#endif 	/* __IHostOnlyNetwork_FWD_DEFINED__ */


#ifndef __IDHCPServer_FWD_DEFINED__
#define __IDHCPServer_FWD_DEFINED__
typedef interface IDHCPServer IDHCPServer;

#endif 	/* __IDHCPServer_FWD_DEFINED__ */


#ifndef __IDHCPConfig_FWD_DEFINED__
#define __IDHCPConfig_FWD_DEFINED__
typedef interface IDHCPConfig IDHCPConfig;

#endif 	/* __IDHCPConfig_FWD_DEFINED__ */


#ifndef __IDHCPGlobalConfig_FWD_DEFINED__
#define __IDHCPGlobalConfig_FWD_DEFINED__
typedef interface IDHCPGlobalConfig IDHCPGlobalConfig;

#endif 	/* __IDHCPGlobalConfig_FWD_DEFINED__ */


#ifndef __IDHCPGroupCondition_FWD_DEFINED__
#define __IDHCPGroupCondition_FWD_DEFINED__
typedef interface IDHCPGroupCondition IDHCPGroupCondition;

#endif 	/* __IDHCPGroupCondition_FWD_DEFINED__ */


#ifndef __IDHCPGroupConfig_FWD_DEFINED__
#define __IDHCPGroupConfig_FWD_DEFINED__
typedef interface IDHCPGroupConfig IDHCPGroupConfig;

#endif 	/* __IDHCPGroupConfig_FWD_DEFINED__ */


#ifndef __IDHCPIndividualConfig_FWD_DEFINED__
#define __IDHCPIndividualConfig_FWD_DEFINED__
typedef interface IDHCPIndividualConfig IDHCPIndividualConfig;

#endif 	/* __IDHCPIndividualConfig_FWD_DEFINED__ */


#ifndef __IVirtualBox_FWD_DEFINED__
#define __IVirtualBox_FWD_DEFINED__
typedef interface IVirtualBox IVirtualBox;

#endif 	/* __IVirtualBox_FWD_DEFINED__ */


#ifndef __IVFSExplorer_FWD_DEFINED__
#define __IVFSExplorer_FWD_DEFINED__
typedef interface IVFSExplorer IVFSExplorer;

#endif 	/* __IVFSExplorer_FWD_DEFINED__ */


#ifndef __ICertificate_FWD_DEFINED__
#define __ICertificate_FWD_DEFINED__
typedef interface ICertificate ICertificate;

#endif 	/* __ICertificate_FWD_DEFINED__ */


#ifndef __IAppliance_FWD_DEFINED__
#define __IAppliance_FWD_DEFINED__
typedef interface IAppliance IAppliance;

#endif 	/* __IAppliance_FWD_DEFINED__ */


#ifndef __IVirtualSystemDescription_FWD_DEFINED__
#define __IVirtualSystemDescription_FWD_DEFINED__
typedef interface IVirtualSystemDescription IVirtualSystemDescription;

#endif 	/* __IVirtualSystemDescription_FWD_DEFINED__ */


#ifndef __IUnattended_FWD_DEFINED__
#define __IUnattended_FWD_DEFINED__
typedef interface IUnattended IUnattended;

#endif 	/* __IUnattended_FWD_DEFINED__ */


#ifndef __IInternalMachineControl_FWD_DEFINED__
#define __IInternalMachineControl_FWD_DEFINED__
typedef interface IInternalMachineControl IInternalMachineControl;

#endif 	/* __IInternalMachineControl_FWD_DEFINED__ */


#ifndef __IGraphicsAdapter_FWD_DEFINED__
#define __IGraphicsAdapter_FWD_DEFINED__
typedef interface IGraphicsAdapter IGraphicsAdapter;

#endif 	/* __IGraphicsAdapter_FWD_DEFINED__ */


#ifndef __IFirmwareSettings_FWD_DEFINED__
#define __IFirmwareSettings_FWD_DEFINED__
typedef interface IFirmwareSettings IFirmwareSettings;

#endif 	/* __IFirmwareSettings_FWD_DEFINED__ */


#ifndef __ITrustedPlatformModule_FWD_DEFINED__
#define __ITrustedPlatformModule_FWD_DEFINED__
typedef interface ITrustedPlatformModule ITrustedPlatformModule;

#endif 	/* __ITrustedPlatformModule_FWD_DEFINED__ */


#ifndef __IRecordingScreenSettings_FWD_DEFINED__
#define __IRecordingScreenSettings_FWD_DEFINED__
typedef interface IRecordingScreenSettings IRecordingScreenSettings;

#endif 	/* __IRecordingScreenSettings_FWD_DEFINED__ */


#ifndef __IRecordingSettings_FWD_DEFINED__
#define __IRecordingSettings_FWD_DEFINED__
typedef interface IRecordingSettings IRecordingSettings;

#endif 	/* __IRecordingSettings_FWD_DEFINED__ */


#ifndef __IPCIAddress_FWD_DEFINED__
#define __IPCIAddress_FWD_DEFINED__
typedef interface IPCIAddress IPCIAddress;

#endif 	/* __IPCIAddress_FWD_DEFINED__ */


#ifndef __IPCIDeviceAttachment_FWD_DEFINED__
#define __IPCIDeviceAttachment_FWD_DEFINED__
typedef interface IPCIDeviceAttachment IPCIDeviceAttachment;

#endif 	/* __IPCIDeviceAttachment_FWD_DEFINED__ */


#ifndef __IUefiVariableStore_FWD_DEFINED__
#define __IUefiVariableStore_FWD_DEFINED__
typedef interface IUefiVariableStore IUefiVariableStore;

#endif 	/* __IUefiVariableStore_FWD_DEFINED__ */


#ifndef __INvramStore_FWD_DEFINED__
#define __INvramStore_FWD_DEFINED__
typedef interface INvramStore INvramStore;

#endif 	/* __INvramStore_FWD_DEFINED__ */


#ifndef __IResourceStore_FWD_DEFINED__
#define __IResourceStore_FWD_DEFINED__
typedef interface IResourceStore IResourceStore;

#endif 	/* __IResourceStore_FWD_DEFINED__ */


#ifndef __IPlatform_FWD_DEFINED__
#define __IPlatform_FWD_DEFINED__
typedef interface IPlatform IPlatform;

#endif 	/* __IPlatform_FWD_DEFINED__ */


#ifndef __IPlatformX86_FWD_DEFINED__
#define __IPlatformX86_FWD_DEFINED__
typedef interface IPlatformX86 IPlatformX86;

#endif 	/* __IPlatformX86_FWD_DEFINED__ */


#ifndef __IPlatformARM_FWD_DEFINED__
#define __IPlatformARM_FWD_DEFINED__
typedef interface IPlatformARM IPlatformARM;

#endif 	/* __IPlatformARM_FWD_DEFINED__ */


#ifndef __IMachine_FWD_DEFINED__
#define __IMachine_FWD_DEFINED__
typedef interface IMachine IMachine;

#endif 	/* __IMachine_FWD_DEFINED__ */


#ifndef __IEmulatedUSB_FWD_DEFINED__
#define __IEmulatedUSB_FWD_DEFINED__
typedef interface IEmulatedUSB IEmulatedUSB;

#endif 	/* __IEmulatedUSB_FWD_DEFINED__ */


#ifndef __IVRDEServerInfo_FWD_DEFINED__
#define __IVRDEServerInfo_FWD_DEFINED__
typedef interface IVRDEServerInfo IVRDEServerInfo;

#endif 	/* __IVRDEServerInfo_FWD_DEFINED__ */


#ifndef __IConsole_FWD_DEFINED__
#define __IConsole_FWD_DEFINED__
typedef interface IConsole IConsole;

#endif 	/* __IConsole_FWD_DEFINED__ */


#ifndef __IHostNetworkInterface_FWD_DEFINED__
#define __IHostNetworkInterface_FWD_DEFINED__
typedef interface IHostNetworkInterface IHostNetworkInterface;

#endif 	/* __IHostNetworkInterface_FWD_DEFINED__ */


#ifndef __IHostVideoInputDevice_FWD_DEFINED__
#define __IHostVideoInputDevice_FWD_DEFINED__
typedef interface IHostVideoInputDevice IHostVideoInputDevice;

#endif 	/* __IHostVideoInputDevice_FWD_DEFINED__ */


#ifndef __IUpdateAgent_FWD_DEFINED__
#define __IUpdateAgent_FWD_DEFINED__
typedef interface IUpdateAgent IUpdateAgent;

#endif 	/* __IUpdateAgent_FWD_DEFINED__ */


#ifndef __IHostUpdateAgent_FWD_DEFINED__
#define __IHostUpdateAgent_FWD_DEFINED__
typedef interface IHostUpdateAgent IHostUpdateAgent;

#endif 	/* __IHostUpdateAgent_FWD_DEFINED__ */


#ifndef __IHostDrivePartition_FWD_DEFINED__
#define __IHostDrivePartition_FWD_DEFINED__
typedef interface IHostDrivePartition IHostDrivePartition;

#endif 	/* __IHostDrivePartition_FWD_DEFINED__ */


#ifndef __IHostDrive_FWD_DEFINED__
#define __IHostDrive_FWD_DEFINED__
typedef interface IHostDrive IHostDrive;

#endif 	/* __IHostDrive_FWD_DEFINED__ */


#ifndef __IHostX86_FWD_DEFINED__
#define __IHostX86_FWD_DEFINED__
typedef interface IHostX86 IHostX86;

#endif 	/* __IHostX86_FWD_DEFINED__ */


#ifndef __IHost_FWD_DEFINED__
#define __IHost_FWD_DEFINED__
typedef interface IHost IHost;

#endif 	/* __IHost_FWD_DEFINED__ */


#ifndef __ICPUProfile_FWD_DEFINED__
#define __ICPUProfile_FWD_DEFINED__
typedef interface ICPUProfile ICPUProfile;

#endif 	/* __ICPUProfile_FWD_DEFINED__ */


#ifndef __IPlatformProperties_FWD_DEFINED__
#define __IPlatformProperties_FWD_DEFINED__
typedef interface IPlatformProperties IPlatformProperties;

#endif 	/* __IPlatformProperties_FWD_DEFINED__ */


#ifndef __ISystemProperties_FWD_DEFINED__
#define __ISystemProperties_FWD_DEFINED__
typedef interface ISystemProperties ISystemProperties;

#endif 	/* __ISystemProperties_FWD_DEFINED__ */


#ifndef __IGuestOSType_FWD_DEFINED__
#define __IGuestOSType_FWD_DEFINED__
typedef interface IGuestOSType IGuestOSType;

#endif 	/* __IGuestOSType_FWD_DEFINED__ */


#ifndef __IAdditionsFacility_FWD_DEFINED__
#define __IAdditionsFacility_FWD_DEFINED__
typedef interface IAdditionsFacility IAdditionsFacility;

#endif 	/* __IAdditionsFacility_FWD_DEFINED__ */


#ifndef __IDnDBase_FWD_DEFINED__
#define __IDnDBase_FWD_DEFINED__
typedef interface IDnDBase IDnDBase;

#endif 	/* __IDnDBase_FWD_DEFINED__ */


#ifndef __IDnDSource_FWD_DEFINED__
#define __IDnDSource_FWD_DEFINED__
typedef interface IDnDSource IDnDSource;

#endif 	/* __IDnDSource_FWD_DEFINED__ */


#ifndef __IGuestDnDSource_FWD_DEFINED__
#define __IGuestDnDSource_FWD_DEFINED__
typedef interface IGuestDnDSource IGuestDnDSource;

#endif 	/* __IGuestDnDSource_FWD_DEFINED__ */


#ifndef __IDnDTarget_FWD_DEFINED__
#define __IDnDTarget_FWD_DEFINED__
typedef interface IDnDTarget IDnDTarget;

#endif 	/* __IDnDTarget_FWD_DEFINED__ */


#ifndef __IGuestDnDTarget_FWD_DEFINED__
#define __IGuestDnDTarget_FWD_DEFINED__
typedef interface IGuestDnDTarget IGuestDnDTarget;

#endif 	/* __IGuestDnDTarget_FWD_DEFINED__ */


#ifndef __IGuestSession_FWD_DEFINED__
#define __IGuestSession_FWD_DEFINED__
typedef interface IGuestSession IGuestSession;

#endif 	/* __IGuestSession_FWD_DEFINED__ */


#ifndef __IProcess_FWD_DEFINED__
#define __IProcess_FWD_DEFINED__
typedef interface IProcess IProcess;

#endif 	/* __IProcess_FWD_DEFINED__ */


#ifndef __IGuestProcess_FWD_DEFINED__
#define __IGuestProcess_FWD_DEFINED__
typedef interface IGuestProcess IGuestProcess;

#endif 	/* __IGuestProcess_FWD_DEFINED__ */


#ifndef __IDirectory_FWD_DEFINED__
#define __IDirectory_FWD_DEFINED__
typedef interface IDirectory IDirectory;

#endif 	/* __IDirectory_FWD_DEFINED__ */


#ifndef __IGuestDirectory_FWD_DEFINED__
#define __IGuestDirectory_FWD_DEFINED__
typedef interface IGuestDirectory IGuestDirectory;

#endif 	/* __IGuestDirectory_FWD_DEFINED__ */


#ifndef __IFile_FWD_DEFINED__
#define __IFile_FWD_DEFINED__
typedef interface IFile IFile;

#endif 	/* __IFile_FWD_DEFINED__ */


#ifndef __IGuestFile_FWD_DEFINED__
#define __IGuestFile_FWD_DEFINED__
typedef interface IGuestFile IGuestFile;

#endif 	/* __IGuestFile_FWD_DEFINED__ */


#ifndef __IFsInfo_FWD_DEFINED__
#define __IFsInfo_FWD_DEFINED__
typedef interface IFsInfo IFsInfo;

#endif 	/* __IFsInfo_FWD_DEFINED__ */


#ifndef __IFsObjInfo_FWD_DEFINED__
#define __IFsObjInfo_FWD_DEFINED__
typedef interface IFsObjInfo IFsObjInfo;

#endif 	/* __IFsObjInfo_FWD_DEFINED__ */


#ifndef __IGuestFsInfo_FWD_DEFINED__
#define __IGuestFsInfo_FWD_DEFINED__
typedef interface IGuestFsInfo IGuestFsInfo;

#endif 	/* __IGuestFsInfo_FWD_DEFINED__ */


#ifndef __IGuestFsObjInfo_FWD_DEFINED__
#define __IGuestFsObjInfo_FWD_DEFINED__
typedef interface IGuestFsObjInfo IGuestFsObjInfo;

#endif 	/* __IGuestFsObjInfo_FWD_DEFINED__ */


#ifndef __IGuest_FWD_DEFINED__
#define __IGuest_FWD_DEFINED__
typedef interface IGuest IGuest;

#endif 	/* __IGuest_FWD_DEFINED__ */


#ifndef __IProgress_FWD_DEFINED__
#define __IProgress_FWD_DEFINED__
typedef interface IProgress IProgress;

#endif 	/* __IProgress_FWD_DEFINED__ */


#ifndef __IInternalProgressControl_FWD_DEFINED__
#define __IInternalProgressControl_FWD_DEFINED__
typedef interface IInternalProgressControl IInternalProgressControl;

#endif 	/* __IInternalProgressControl_FWD_DEFINED__ */


#ifndef __ISnapshot_FWD_DEFINED__
#define __ISnapshot_FWD_DEFINED__
typedef interface ISnapshot ISnapshot;

#endif 	/* __ISnapshot_FWD_DEFINED__ */


#ifndef __IMediumAttachment_FWD_DEFINED__
#define __IMediumAttachment_FWD_DEFINED__
typedef interface IMediumAttachment IMediumAttachment;

#endif 	/* __IMediumAttachment_FWD_DEFINED__ */


#ifndef __IMedium_FWD_DEFINED__
#define __IMedium_FWD_DEFINED__
typedef interface IMedium IMedium;

#endif 	/* __IMedium_FWD_DEFINED__ */


#ifndef __IMediumFormat_FWD_DEFINED__
#define __IMediumFormat_FWD_DEFINED__
typedef interface IMediumFormat IMediumFormat;

#endif 	/* __IMediumFormat_FWD_DEFINED__ */


#ifndef __IDataStream_FWD_DEFINED__
#define __IDataStream_FWD_DEFINED__
typedef interface IDataStream IDataStream;

#endif 	/* __IDataStream_FWD_DEFINED__ */


#ifndef __IMediumIO_FWD_DEFINED__
#define __IMediumIO_FWD_DEFINED__
typedef interface IMediumIO IMediumIO;

#endif 	/* __IMediumIO_FWD_DEFINED__ */


#ifndef __IToken_FWD_DEFINED__
#define __IToken_FWD_DEFINED__
typedef interface IToken IToken;

#endif 	/* __IToken_FWD_DEFINED__ */


#ifndef __IKeyboard_FWD_DEFINED__
#define __IKeyboard_FWD_DEFINED__
typedef interface IKeyboard IKeyboard;

#endif 	/* __IKeyboard_FWD_DEFINED__ */


#ifndef __IMousePointerShape_FWD_DEFINED__
#define __IMousePointerShape_FWD_DEFINED__
typedef interface IMousePointerShape IMousePointerShape;

#endif 	/* __IMousePointerShape_FWD_DEFINED__ */


#ifndef __IMouse_FWD_DEFINED__
#define __IMouse_FWD_DEFINED__
typedef interface IMouse IMouse;

#endif 	/* __IMouse_FWD_DEFINED__ */


#ifndef __IDisplaySourceBitmap_FWD_DEFINED__
#define __IDisplaySourceBitmap_FWD_DEFINED__
typedef interface IDisplaySourceBitmap IDisplaySourceBitmap;

#endif 	/* __IDisplaySourceBitmap_FWD_DEFINED__ */


#ifndef __IFramebuffer_FWD_DEFINED__
#define __IFramebuffer_FWD_DEFINED__
typedef interface IFramebuffer IFramebuffer;

#endif 	/* __IFramebuffer_FWD_DEFINED__ */


#ifndef __IFramebufferOverlay_FWD_DEFINED__
#define __IFramebufferOverlay_FWD_DEFINED__
typedef interface IFramebufferOverlay IFramebufferOverlay;

#endif 	/* __IFramebufferOverlay_FWD_DEFINED__ */


#ifndef __IGuestScreenInfo_FWD_DEFINED__
#define __IGuestScreenInfo_FWD_DEFINED__
typedef interface IGuestScreenInfo IGuestScreenInfo;

#endif 	/* __IGuestScreenInfo_FWD_DEFINED__ */


#ifndef __IDisplay_FWD_DEFINED__
#define __IDisplay_FWD_DEFINED__
typedef interface IDisplay IDisplay;

#endif 	/* __IDisplay_FWD_DEFINED__ */


#ifndef __INetworkAdapter_FWD_DEFINED__
#define __INetworkAdapter_FWD_DEFINED__
typedef interface INetworkAdapter INetworkAdapter;

#endif 	/* __INetworkAdapter_FWD_DEFINED__ */


#ifndef __ISerialPort_FWD_DEFINED__
#define __ISerialPort_FWD_DEFINED__
typedef interface ISerialPort ISerialPort;

#endif 	/* __ISerialPort_FWD_DEFINED__ */


#ifndef __IParallelPort_FWD_DEFINED__
#define __IParallelPort_FWD_DEFINED__
typedef interface IParallelPort IParallelPort;

#endif 	/* __IParallelPort_FWD_DEFINED__ */


#ifndef __IMachineDebugger_FWD_DEFINED__
#define __IMachineDebugger_FWD_DEFINED__
typedef interface IMachineDebugger IMachineDebugger;

#endif 	/* __IMachineDebugger_FWD_DEFINED__ */


#ifndef __IUSBDeviceFilters_FWD_DEFINED__
#define __IUSBDeviceFilters_FWD_DEFINED__
typedef interface IUSBDeviceFilters IUSBDeviceFilters;

#endif 	/* __IUSBDeviceFilters_FWD_DEFINED__ */


#ifndef __IUSBController_FWD_DEFINED__
#define __IUSBController_FWD_DEFINED__
typedef interface IUSBController IUSBController;

#endif 	/* __IUSBController_FWD_DEFINED__ */


#ifndef __IUSBDevice_FWD_DEFINED__
#define __IUSBDevice_FWD_DEFINED__
typedef interface IUSBDevice IUSBDevice;

#endif 	/* __IUSBDevice_FWD_DEFINED__ */


#ifndef __IUSBDeviceFilter_FWD_DEFINED__
#define __IUSBDeviceFilter_FWD_DEFINED__
typedef interface IUSBDeviceFilter IUSBDeviceFilter;

#endif 	/* __IUSBDeviceFilter_FWD_DEFINED__ */


#ifndef __IHostUSBDevice_FWD_DEFINED__
#define __IHostUSBDevice_FWD_DEFINED__
typedef interface IHostUSBDevice IHostUSBDevice;

#endif 	/* __IHostUSBDevice_FWD_DEFINED__ */


#ifndef __IHostUSBDeviceFilter_FWD_DEFINED__
#define __IHostUSBDeviceFilter_FWD_DEFINED__
typedef interface IHostUSBDeviceFilter IHostUSBDeviceFilter;

#endif 	/* __IHostUSBDeviceFilter_FWD_DEFINED__ */


#ifndef __IUSBProxyBackend_FWD_DEFINED__
#define __IUSBProxyBackend_FWD_DEFINED__
typedef interface IUSBProxyBackend IUSBProxyBackend;

#endif 	/* __IUSBProxyBackend_FWD_DEFINED__ */


#ifndef __IAudioAdapter_FWD_DEFINED__
#define __IAudioAdapter_FWD_DEFINED__
typedef interface IAudioAdapter IAudioAdapter;

#endif 	/* __IAudioAdapter_FWD_DEFINED__ */


#ifndef __IHostAudioDevice_FWD_DEFINED__
#define __IHostAudioDevice_FWD_DEFINED__
typedef interface IHostAudioDevice IHostAudioDevice;

#endif 	/* __IHostAudioDevice_FWD_DEFINED__ */


#ifndef __IAudioSettings_FWD_DEFINED__
#define __IAudioSettings_FWD_DEFINED__
typedef interface IAudioSettings IAudioSettings;

#endif 	/* __IAudioSettings_FWD_DEFINED__ */


#ifndef __IVRDEServer_FWD_DEFINED__
#define __IVRDEServer_FWD_DEFINED__
typedef interface IVRDEServer IVRDEServer;

#endif 	/* __IVRDEServer_FWD_DEFINED__ */


#ifndef __ISharedFolder_FWD_DEFINED__
#define __ISharedFolder_FWD_DEFINED__
typedef interface ISharedFolder ISharedFolder;

#endif 	/* __ISharedFolder_FWD_DEFINED__ */


#ifndef __IInternalSessionControl_FWD_DEFINED__
#define __IInternalSessionControl_FWD_DEFINED__
typedef interface IInternalSessionControl IInternalSessionControl;

#endif 	/* __IInternalSessionControl_FWD_DEFINED__ */


#ifndef __ISession_FWD_DEFINED__
#define __ISession_FWD_DEFINED__
typedef interface ISession ISession;

#endif 	/* __ISession_FWD_DEFINED__ */


#ifndef __IStorageController_FWD_DEFINED__
#define __IStorageController_FWD_DEFINED__
typedef interface IStorageController IStorageController;

#endif 	/* __IStorageController_FWD_DEFINED__ */


#ifndef __IPerformanceMetric_FWD_DEFINED__
#define __IPerformanceMetric_FWD_DEFINED__
typedef interface IPerformanceMetric IPerformanceMetric;

#endif 	/* __IPerformanceMetric_FWD_DEFINED__ */


#ifndef __IPerformanceCollector_FWD_DEFINED__
#define __IPerformanceCollector_FWD_DEFINED__
typedef interface IPerformanceCollector IPerformanceCollector;

#endif 	/* __IPerformanceCollector_FWD_DEFINED__ */


#ifndef __INATEngine_FWD_DEFINED__
#define __INATEngine_FWD_DEFINED__
typedef interface INATEngine INATEngine;

#endif 	/* __INATEngine_FWD_DEFINED__ */


#ifndef __IExtPackPlugIn_FWD_DEFINED__
#define __IExtPackPlugIn_FWD_DEFINED__
typedef interface IExtPackPlugIn IExtPackPlugIn;

#endif 	/* __IExtPackPlugIn_FWD_DEFINED__ */


#ifndef __IExtPackBase_FWD_DEFINED__
#define __IExtPackBase_FWD_DEFINED__
typedef interface IExtPackBase IExtPackBase;

#endif 	/* __IExtPackBase_FWD_DEFINED__ */


#ifndef __IExtPack_FWD_DEFINED__
#define __IExtPack_FWD_DEFINED__
typedef interface IExtPack IExtPack;

#endif 	/* __IExtPack_FWD_DEFINED__ */


#ifndef __IExtPackFile_FWD_DEFINED__
#define __IExtPackFile_FWD_DEFINED__
typedef interface IExtPackFile IExtPackFile;

#endif 	/* __IExtPackFile_FWD_DEFINED__ */


#ifndef __IExtPackManager_FWD_DEFINED__
#define __IExtPackManager_FWD_DEFINED__
typedef interface IExtPackManager IExtPackManager;

#endif 	/* __IExtPackManager_FWD_DEFINED__ */


#ifndef __IBandwidthGroup_FWD_DEFINED__
#define __IBandwidthGroup_FWD_DEFINED__
typedef interface IBandwidthGroup IBandwidthGroup;

#endif 	/* __IBandwidthGroup_FWD_DEFINED__ */


#ifndef __IBandwidthControl_FWD_DEFINED__
#define __IBandwidthControl_FWD_DEFINED__
typedef interface IBandwidthControl IBandwidthControl;

#endif 	/* __IBandwidthControl_FWD_DEFINED__ */


#ifndef __IGuestDebugControl_FWD_DEFINED__
#define __IGuestDebugControl_FWD_DEFINED__
typedef interface IGuestDebugControl IGuestDebugControl;

#endif 	/* __IGuestDebugControl_FWD_DEFINED__ */


#ifndef __IVirtualBoxClient_FWD_DEFINED__
#define __IVirtualBoxClient_FWD_DEFINED__
typedef interface IVirtualBoxClient IVirtualBoxClient;

#endif 	/* __IVirtualBoxClient_FWD_DEFINED__ */


#ifndef __IEventSource_FWD_DEFINED__
#define __IEventSource_FWD_DEFINED__
typedef interface IEventSource IEventSource;

#endif 	/* __IEventSource_FWD_DEFINED__ */


#ifndef __IEventListener_FWD_DEFINED__
#define __IEventListener_FWD_DEFINED__
typedef interface IEventListener IEventListener;

#endif 	/* __IEventListener_FWD_DEFINED__ */


#ifndef __IEvent_FWD_DEFINED__
#define __IEvent_FWD_DEFINED__
typedef interface IEvent IEvent;

#endif 	/* __IEvent_FWD_DEFINED__ */


#ifndef __IReusableEvent_FWD_DEFINED__
#define __IReusableEvent_FWD_DEFINED__
typedef interface IReusableEvent IReusableEvent;

#endif 	/* __IReusableEvent_FWD_DEFINED__ */


#ifndef __IMachineEvent_FWD_DEFINED__
#define __IMachineEvent_FWD_DEFINED__
typedef interface IMachineEvent IMachineEvent;

#endif 	/* __IMachineEvent_FWD_DEFINED__ */


#ifndef __IMachineStateChangedEvent_FWD_DEFINED__
#define __IMachineStateChangedEvent_FWD_DEFINED__
typedef interface IMachineStateChangedEvent IMachineStateChangedEvent;

#endif 	/* __IMachineStateChangedEvent_FWD_DEFINED__ */


#ifndef __IExtPackInstalledEvent_FWD_DEFINED__
#define __IExtPackInstalledEvent_FWD_DEFINED__
typedef interface IExtPackInstalledEvent IExtPackInstalledEvent;

#endif 	/* __IExtPackInstalledEvent_FWD_DEFINED__ */


#ifndef __IExtPackUninstalledEvent_FWD_DEFINED__
#define __IExtPackUninstalledEvent_FWD_DEFINED__
typedef interface IExtPackUninstalledEvent IExtPackUninstalledEvent;

#endif 	/* __IExtPackUninstalledEvent_FWD_DEFINED__ */


#ifndef __IMachineDataChangedEvent_FWD_DEFINED__
#define __IMachineDataChangedEvent_FWD_DEFINED__
typedef interface IMachineDataChangedEvent IMachineDataChangedEvent;

#endif 	/* __IMachineDataChangedEvent_FWD_DEFINED__ */


#ifndef __IMediumRegisteredEvent_FWD_DEFINED__
#define __IMediumRegisteredEvent_FWD_DEFINED__
typedef interface IMediumRegisteredEvent IMediumRegisteredEvent;

#endif 	/* __IMediumRegisteredEvent_FWD_DEFINED__ */


#ifndef __IMediumConfigChangedEvent_FWD_DEFINED__
#define __IMediumConfigChangedEvent_FWD_DEFINED__
typedef interface IMediumConfigChangedEvent IMediumConfigChangedEvent;

#endif 	/* __IMediumConfigChangedEvent_FWD_DEFINED__ */


#ifndef __IMachineRegisteredEvent_FWD_DEFINED__
#define __IMachineRegisteredEvent_FWD_DEFINED__
typedef interface IMachineRegisteredEvent IMachineRegisteredEvent;

#endif 	/* __IMachineRegisteredEvent_FWD_DEFINED__ */


#ifndef __ISessionStateChangedEvent_FWD_DEFINED__
#define __ISessionStateChangedEvent_FWD_DEFINED__
typedef interface ISessionStateChangedEvent ISessionStateChangedEvent;

#endif 	/* __ISessionStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestPropertyChangedEvent_FWD_DEFINED__
#define __IGuestPropertyChangedEvent_FWD_DEFINED__
typedef interface IGuestPropertyChangedEvent IGuestPropertyChangedEvent;

#endif 	/* __IGuestPropertyChangedEvent_FWD_DEFINED__ */


#ifndef __ISnapshotEvent_FWD_DEFINED__
#define __ISnapshotEvent_FWD_DEFINED__
typedef interface ISnapshotEvent ISnapshotEvent;

#endif 	/* __ISnapshotEvent_FWD_DEFINED__ */


#ifndef __ISnapshotTakenEvent_FWD_DEFINED__
#define __ISnapshotTakenEvent_FWD_DEFINED__
typedef interface ISnapshotTakenEvent ISnapshotTakenEvent;

#endif 	/* __ISnapshotTakenEvent_FWD_DEFINED__ */


#ifndef __ISnapshotDeletedEvent_FWD_DEFINED__
#define __ISnapshotDeletedEvent_FWD_DEFINED__
typedef interface ISnapshotDeletedEvent ISnapshotDeletedEvent;

#endif 	/* __ISnapshotDeletedEvent_FWD_DEFINED__ */


#ifndef __ISnapshotRestoredEvent_FWD_DEFINED__
#define __ISnapshotRestoredEvent_FWD_DEFINED__
typedef interface ISnapshotRestoredEvent ISnapshotRestoredEvent;

#endif 	/* __ISnapshotRestoredEvent_FWD_DEFINED__ */


#ifndef __ISnapshotChangedEvent_FWD_DEFINED__
#define __ISnapshotChangedEvent_FWD_DEFINED__
typedef interface ISnapshotChangedEvent ISnapshotChangedEvent;

#endif 	/* __ISnapshotChangedEvent_FWD_DEFINED__ */


#ifndef __IMousePointerShapeChangedEvent_FWD_DEFINED__
#define __IMousePointerShapeChangedEvent_FWD_DEFINED__
typedef interface IMousePointerShapeChangedEvent IMousePointerShapeChangedEvent;

#endif 	/* __IMousePointerShapeChangedEvent_FWD_DEFINED__ */


#ifndef __IMouseCapabilityChangedEvent_FWD_DEFINED__
#define __IMouseCapabilityChangedEvent_FWD_DEFINED__
typedef interface IMouseCapabilityChangedEvent IMouseCapabilityChangedEvent;

#endif 	/* __IMouseCapabilityChangedEvent_FWD_DEFINED__ */


#ifndef __IKeyboardLedsChangedEvent_FWD_DEFINED__
#define __IKeyboardLedsChangedEvent_FWD_DEFINED__
typedef interface IKeyboardLedsChangedEvent IKeyboardLedsChangedEvent;

#endif 	/* __IKeyboardLedsChangedEvent_FWD_DEFINED__ */


#ifndef __IStateChangedEvent_FWD_DEFINED__
#define __IStateChangedEvent_FWD_DEFINED__
typedef interface IStateChangedEvent IStateChangedEvent;

#endif 	/* __IStateChangedEvent_FWD_DEFINED__ */


#ifndef __IAdditionsStateChangedEvent_FWD_DEFINED__
#define __IAdditionsStateChangedEvent_FWD_DEFINED__
typedef interface IAdditionsStateChangedEvent IAdditionsStateChangedEvent;

#endif 	/* __IAdditionsStateChangedEvent_FWD_DEFINED__ */


#ifndef __INetworkAdapterChangedEvent_FWD_DEFINED__
#define __INetworkAdapterChangedEvent_FWD_DEFINED__
typedef interface INetworkAdapterChangedEvent INetworkAdapterChangedEvent;

#endif 	/* __INetworkAdapterChangedEvent_FWD_DEFINED__ */


#ifndef __IAudioAdapterChangedEvent_FWD_DEFINED__
#define __IAudioAdapterChangedEvent_FWD_DEFINED__
typedef interface IAudioAdapterChangedEvent IAudioAdapterChangedEvent;

#endif 	/* __IAudioAdapterChangedEvent_FWD_DEFINED__ */


#ifndef __ISerialPortChangedEvent_FWD_DEFINED__
#define __ISerialPortChangedEvent_FWD_DEFINED__
typedef interface ISerialPortChangedEvent ISerialPortChangedEvent;

#endif 	/* __ISerialPortChangedEvent_FWD_DEFINED__ */


#ifndef __IParallelPortChangedEvent_FWD_DEFINED__
#define __IParallelPortChangedEvent_FWD_DEFINED__
typedef interface IParallelPortChangedEvent IParallelPortChangedEvent;

#endif 	/* __IParallelPortChangedEvent_FWD_DEFINED__ */


#ifndef __IStorageControllerChangedEvent_FWD_DEFINED__
#define __IStorageControllerChangedEvent_FWD_DEFINED__
typedef interface IStorageControllerChangedEvent IStorageControllerChangedEvent;

#endif 	/* __IStorageControllerChangedEvent_FWD_DEFINED__ */


#ifndef __IMediumChangedEvent_FWD_DEFINED__
#define __IMediumChangedEvent_FWD_DEFINED__
typedef interface IMediumChangedEvent IMediumChangedEvent;

#endif 	/* __IMediumChangedEvent_FWD_DEFINED__ */


#ifndef __IClipboardModeChangedEvent_FWD_DEFINED__
#define __IClipboardModeChangedEvent_FWD_DEFINED__
typedef interface IClipboardModeChangedEvent IClipboardModeChangedEvent;

#endif 	/* __IClipboardModeChangedEvent_FWD_DEFINED__ */


#ifndef __IClipboardFileTransferModeChangedEvent_FWD_DEFINED__
#define __IClipboardFileTransferModeChangedEvent_FWD_DEFINED__
typedef interface IClipboardFileTransferModeChangedEvent IClipboardFileTransferModeChangedEvent;

#endif 	/* __IClipboardFileTransferModeChangedEvent_FWD_DEFINED__ */


#ifndef __IClipboardEvent_FWD_DEFINED__
#define __IClipboardEvent_FWD_DEFINED__
typedef interface IClipboardEvent IClipboardEvent;

#endif 	/* __IClipboardEvent_FWD_DEFINED__ */


#ifndef __IClipboardErrorEvent_FWD_DEFINED__
#define __IClipboardErrorEvent_FWD_DEFINED__
typedef interface IClipboardErrorEvent IClipboardErrorEvent;

#endif 	/* __IClipboardErrorEvent_FWD_DEFINED__ */


#ifndef __IDnDModeChangedEvent_FWD_DEFINED__
#define __IDnDModeChangedEvent_FWD_DEFINED__
typedef interface IDnDModeChangedEvent IDnDModeChangedEvent;

#endif 	/* __IDnDModeChangedEvent_FWD_DEFINED__ */


#ifndef __ICPUChangedEvent_FWD_DEFINED__
#define __ICPUChangedEvent_FWD_DEFINED__
typedef interface ICPUChangedEvent ICPUChangedEvent;

#endif 	/* __ICPUChangedEvent_FWD_DEFINED__ */


#ifndef __ICPUExecutionCapChangedEvent_FWD_DEFINED__
#define __ICPUExecutionCapChangedEvent_FWD_DEFINED__
typedef interface ICPUExecutionCapChangedEvent ICPUExecutionCapChangedEvent;

#endif 	/* __ICPUExecutionCapChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestKeyboardEvent_FWD_DEFINED__
#define __IGuestKeyboardEvent_FWD_DEFINED__
typedef interface IGuestKeyboardEvent IGuestKeyboardEvent;

#endif 	/* __IGuestKeyboardEvent_FWD_DEFINED__ */


#ifndef __IGuestMouseEvent_FWD_DEFINED__
#define __IGuestMouseEvent_FWD_DEFINED__
typedef interface IGuestMouseEvent IGuestMouseEvent;

#endif 	/* __IGuestMouseEvent_FWD_DEFINED__ */


#ifndef __IGuestMultiTouchEvent_FWD_DEFINED__
#define __IGuestMultiTouchEvent_FWD_DEFINED__
typedef interface IGuestMultiTouchEvent IGuestMultiTouchEvent;

#endif 	/* __IGuestMultiTouchEvent_FWD_DEFINED__ */


#ifndef __IGuestSessionEvent_FWD_DEFINED__
#define __IGuestSessionEvent_FWD_DEFINED__
typedef interface IGuestSessionEvent IGuestSessionEvent;

#endif 	/* __IGuestSessionEvent_FWD_DEFINED__ */


#ifndef __IGuestSessionStateChangedEvent_FWD_DEFINED__
#define __IGuestSessionStateChangedEvent_FWD_DEFINED__
typedef interface IGuestSessionStateChangedEvent IGuestSessionStateChangedEvent;

#endif 	/* __IGuestSessionStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestSessionRegisteredEvent_FWD_DEFINED__
#define __IGuestSessionRegisteredEvent_FWD_DEFINED__
typedef interface IGuestSessionRegisteredEvent IGuestSessionRegisteredEvent;

#endif 	/* __IGuestSessionRegisteredEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessEvent_FWD_DEFINED__
#define __IGuestProcessEvent_FWD_DEFINED__
typedef interface IGuestProcessEvent IGuestProcessEvent;

#endif 	/* __IGuestProcessEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessRegisteredEvent_FWD_DEFINED__
#define __IGuestProcessRegisteredEvent_FWD_DEFINED__
typedef interface IGuestProcessRegisteredEvent IGuestProcessRegisteredEvent;

#endif 	/* __IGuestProcessRegisteredEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessStateChangedEvent_FWD_DEFINED__
#define __IGuestProcessStateChangedEvent_FWD_DEFINED__
typedef interface IGuestProcessStateChangedEvent IGuestProcessStateChangedEvent;

#endif 	/* __IGuestProcessStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessIOEvent_FWD_DEFINED__
#define __IGuestProcessIOEvent_FWD_DEFINED__
typedef interface IGuestProcessIOEvent IGuestProcessIOEvent;

#endif 	/* __IGuestProcessIOEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessInputNotifyEvent_FWD_DEFINED__
#define __IGuestProcessInputNotifyEvent_FWD_DEFINED__
typedef interface IGuestProcessInputNotifyEvent IGuestProcessInputNotifyEvent;

#endif 	/* __IGuestProcessInputNotifyEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessOutputEvent_FWD_DEFINED__
#define __IGuestProcessOutputEvent_FWD_DEFINED__
typedef interface IGuestProcessOutputEvent IGuestProcessOutputEvent;

#endif 	/* __IGuestProcessOutputEvent_FWD_DEFINED__ */


#ifndef __IGuestDirectoryEvent_FWD_DEFINED__
#define __IGuestDirectoryEvent_FWD_DEFINED__
typedef interface IGuestDirectoryEvent IGuestDirectoryEvent;

#endif 	/* __IGuestDirectoryEvent_FWD_DEFINED__ */


#ifndef __IGuestDirectoryRegisteredEvent_FWD_DEFINED__
#define __IGuestDirectoryRegisteredEvent_FWD_DEFINED__
typedef interface IGuestDirectoryRegisteredEvent IGuestDirectoryRegisteredEvent;

#endif 	/* __IGuestDirectoryRegisteredEvent_FWD_DEFINED__ */


#ifndef __IGuestDirectoryStateChangedEvent_FWD_DEFINED__
#define __IGuestDirectoryStateChangedEvent_FWD_DEFINED__
typedef interface IGuestDirectoryStateChangedEvent IGuestDirectoryStateChangedEvent;

#endif 	/* __IGuestDirectoryStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestDirectoryReadEvent_FWD_DEFINED__
#define __IGuestDirectoryReadEvent_FWD_DEFINED__
typedef interface IGuestDirectoryReadEvent IGuestDirectoryReadEvent;

#endif 	/* __IGuestDirectoryReadEvent_FWD_DEFINED__ */


#ifndef __IGuestFileEvent_FWD_DEFINED__
#define __IGuestFileEvent_FWD_DEFINED__
typedef interface IGuestFileEvent IGuestFileEvent;

#endif 	/* __IGuestFileEvent_FWD_DEFINED__ */


#ifndef __IGuestFileRegisteredEvent_FWD_DEFINED__
#define __IGuestFileRegisteredEvent_FWD_DEFINED__
typedef interface IGuestFileRegisteredEvent IGuestFileRegisteredEvent;

#endif 	/* __IGuestFileRegisteredEvent_FWD_DEFINED__ */


#ifndef __IGuestFileStateChangedEvent_FWD_DEFINED__
#define __IGuestFileStateChangedEvent_FWD_DEFINED__
typedef interface IGuestFileStateChangedEvent IGuestFileStateChangedEvent;

#endif 	/* __IGuestFileStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestFileIOEvent_FWD_DEFINED__
#define __IGuestFileIOEvent_FWD_DEFINED__
typedef interface IGuestFileIOEvent IGuestFileIOEvent;

#endif 	/* __IGuestFileIOEvent_FWD_DEFINED__ */


#ifndef __IGuestFileOffsetChangedEvent_FWD_DEFINED__
#define __IGuestFileOffsetChangedEvent_FWD_DEFINED__
typedef interface IGuestFileOffsetChangedEvent IGuestFileOffsetChangedEvent;

#endif 	/* __IGuestFileOffsetChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestFileSizeChangedEvent_FWD_DEFINED__
#define __IGuestFileSizeChangedEvent_FWD_DEFINED__
typedef interface IGuestFileSizeChangedEvent IGuestFileSizeChangedEvent;

#endif 	/* __IGuestFileSizeChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestFileReadEvent_FWD_DEFINED__
#define __IGuestFileReadEvent_FWD_DEFINED__
typedef interface IGuestFileReadEvent IGuestFileReadEvent;

#endif 	/* __IGuestFileReadEvent_FWD_DEFINED__ */


#ifndef __IGuestFileWriteEvent_FWD_DEFINED__
#define __IGuestFileWriteEvent_FWD_DEFINED__
typedef interface IGuestFileWriteEvent IGuestFileWriteEvent;

#endif 	/* __IGuestFileWriteEvent_FWD_DEFINED__ */


#ifndef __IVRDEServerChangedEvent_FWD_DEFINED__
#define __IVRDEServerChangedEvent_FWD_DEFINED__
typedef interface IVRDEServerChangedEvent IVRDEServerChangedEvent;

#endif 	/* __IVRDEServerChangedEvent_FWD_DEFINED__ */


#ifndef __IVRDEServerInfoChangedEvent_FWD_DEFINED__
#define __IVRDEServerInfoChangedEvent_FWD_DEFINED__
typedef interface IVRDEServerInfoChangedEvent IVRDEServerInfoChangedEvent;

#endif 	/* __IVRDEServerInfoChangedEvent_FWD_DEFINED__ */


#ifndef __IRecordingStateChangedEvent_FWD_DEFINED__
#define __IRecordingStateChangedEvent_FWD_DEFINED__
typedef interface IRecordingStateChangedEvent IRecordingStateChangedEvent;

#endif 	/* __IRecordingStateChangedEvent_FWD_DEFINED__ */


#ifndef __IRecordingScreenStateChangedEvent_FWD_DEFINED__
#define __IRecordingScreenStateChangedEvent_FWD_DEFINED__
typedef interface IRecordingScreenStateChangedEvent IRecordingScreenStateChangedEvent;

#endif 	/* __IRecordingScreenStateChangedEvent_FWD_DEFINED__ */


#ifndef __IUSBControllerChangedEvent_FWD_DEFINED__
#define __IUSBControllerChangedEvent_FWD_DEFINED__
typedef interface IUSBControllerChangedEvent IUSBControllerChangedEvent;

#endif 	/* __IUSBControllerChangedEvent_FWD_DEFINED__ */


#ifndef __IUSBDeviceStateChangedEvent_FWD_DEFINED__
#define __IUSBDeviceStateChangedEvent_FWD_DEFINED__
typedef interface IUSBDeviceStateChangedEvent IUSBDeviceStateChangedEvent;

#endif 	/* __IUSBDeviceStateChangedEvent_FWD_DEFINED__ */


#ifndef __ISharedFolderChangedEvent_FWD_DEFINED__
#define __ISharedFolderChangedEvent_FWD_DEFINED__
typedef interface ISharedFolderChangedEvent ISharedFolderChangedEvent;

#endif 	/* __ISharedFolderChangedEvent_FWD_DEFINED__ */


#ifndef __IRuntimeErrorEvent_FWD_DEFINED__
#define __IRuntimeErrorEvent_FWD_DEFINED__
typedef interface IRuntimeErrorEvent IRuntimeErrorEvent;

#endif 	/* __IRuntimeErrorEvent_FWD_DEFINED__ */


#ifndef __IEventSourceChangedEvent_FWD_DEFINED__
#define __IEventSourceChangedEvent_FWD_DEFINED__
typedef interface IEventSourceChangedEvent IEventSourceChangedEvent;

#endif 	/* __IEventSourceChangedEvent_FWD_DEFINED__ */


#ifndef __IExtraDataChangedEvent_FWD_DEFINED__
#define __IExtraDataChangedEvent_FWD_DEFINED__
typedef interface IExtraDataChangedEvent IExtraDataChangedEvent;

#endif 	/* __IExtraDataChangedEvent_FWD_DEFINED__ */


#ifndef __IVetoEvent_FWD_DEFINED__
#define __IVetoEvent_FWD_DEFINED__
typedef interface IVetoEvent IVetoEvent;

#endif 	/* __IVetoEvent_FWD_DEFINED__ */


#ifndef __IExtraDataCanChangeEvent_FWD_DEFINED__
#define __IExtraDataCanChangeEvent_FWD_DEFINED__
typedef interface IExtraDataCanChangeEvent IExtraDataCanChangeEvent;

#endif 	/* __IExtraDataCanChangeEvent_FWD_DEFINED__ */


#ifndef __ICanShowWindowEvent_FWD_DEFINED__
#define __ICanShowWindowEvent_FWD_DEFINED__
typedef interface ICanShowWindowEvent ICanShowWindowEvent;

#endif 	/* __ICanShowWindowEvent_FWD_DEFINED__ */


#ifndef __IShowWindowEvent_FWD_DEFINED__
#define __IShowWindowEvent_FWD_DEFINED__
typedef interface IShowWindowEvent IShowWindowEvent;

#endif 	/* __IShowWindowEvent_FWD_DEFINED__ */


#ifndef __INATRedirectEvent_FWD_DEFINED__
#define __INATRedirectEvent_FWD_DEFINED__
typedef interface INATRedirectEvent INATRedirectEvent;

#endif 	/* __INATRedirectEvent_FWD_DEFINED__ */


#ifndef __IHostAudioDeviceChangedEvent_FWD_DEFINED__
#define __IHostAudioDeviceChangedEvent_FWD_DEFINED__
typedef interface IHostAudioDeviceChangedEvent IHostAudioDeviceChangedEvent;

#endif 	/* __IHostAudioDeviceChangedEvent_FWD_DEFINED__ */


#ifndef __IHostPCIDevicePlugEvent_FWD_DEFINED__
#define __IHostPCIDevicePlugEvent_FWD_DEFINED__
typedef interface IHostPCIDevicePlugEvent IHostPCIDevicePlugEvent;

#endif 	/* __IHostPCIDevicePlugEvent_FWD_DEFINED__ */


#ifndef __IVBoxSVCAvailabilityChangedEvent_FWD_DEFINED__
#define __IVBoxSVCAvailabilityChangedEvent_FWD_DEFINED__
typedef interface IVBoxSVCAvailabilityChangedEvent IVBoxSVCAvailabilityChangedEvent;

#endif 	/* __IVBoxSVCAvailabilityChangedEvent_FWD_DEFINED__ */


#ifndef __IBandwidthGroupChangedEvent_FWD_DEFINED__
#define __IBandwidthGroupChangedEvent_FWD_DEFINED__
typedef interface IBandwidthGroupChangedEvent IBandwidthGroupChangedEvent;

#endif 	/* __IBandwidthGroupChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestMonitorChangedEvent_FWD_DEFINED__
#define __IGuestMonitorChangedEvent_FWD_DEFINED__
typedef interface IGuestMonitorChangedEvent IGuestMonitorChangedEvent;

#endif 	/* __IGuestMonitorChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestUserStateChangedEvent_FWD_DEFINED__
#define __IGuestUserStateChangedEvent_FWD_DEFINED__
typedef interface IGuestUserStateChangedEvent IGuestUserStateChangedEvent;

#endif 	/* __IGuestUserStateChangedEvent_FWD_DEFINED__ */


#ifndef __IStorageDeviceChangedEvent_FWD_DEFINED__
#define __IStorageDeviceChangedEvent_FWD_DEFINED__
typedef interface IStorageDeviceChangedEvent IStorageDeviceChangedEvent;

#endif 	/* __IStorageDeviceChangedEvent_FWD_DEFINED__ */


#ifndef __INATNetworkChangedEvent_FWD_DEFINED__
#define __INATNetworkChangedEvent_FWD_DEFINED__
typedef interface INATNetworkChangedEvent INATNetworkChangedEvent;

#endif 	/* __INATNetworkChangedEvent_FWD_DEFINED__ */


#ifndef __INATNetworkStartStopEvent_FWD_DEFINED__
#define __INATNetworkStartStopEvent_FWD_DEFINED__
typedef interface INATNetworkStartStopEvent INATNetworkStartStopEvent;

#endif 	/* __INATNetworkStartStopEvent_FWD_DEFINED__ */


#ifndef __INATNetworkAlterEvent_FWD_DEFINED__
#define __INATNetworkAlterEvent_FWD_DEFINED__
typedef interface INATNetworkAlterEvent INATNetworkAlterEvent;

#endif 	/* __INATNetworkAlterEvent_FWD_DEFINED__ */


#ifndef __INATNetworkCreationDeletionEvent_FWD_DEFINED__
#define __INATNetworkCreationDeletionEvent_FWD_DEFINED__
typedef interface INATNetworkCreationDeletionEvent INATNetworkCreationDeletionEvent;

#endif 	/* __INATNetworkCreationDeletionEvent_FWD_DEFINED__ */


#ifndef __INATNetworkSettingEvent_FWD_DEFINED__
#define __INATNetworkSettingEvent_FWD_DEFINED__
typedef interface INATNetworkSettingEvent INATNetworkSettingEvent;

#endif 	/* __INATNetworkSettingEvent_FWD_DEFINED__ */


#ifndef __INATNetworkPortForwardEvent_FWD_DEFINED__
#define __INATNetworkPortForwardEvent_FWD_DEFINED__
typedef interface INATNetworkPortForwardEvent INATNetworkPortForwardEvent;

#endif 	/* __INATNetworkPortForwardEvent_FWD_DEFINED__ */


#ifndef __IHostNameResolutionConfigurationChangeEvent_FWD_DEFINED__
#define __IHostNameResolutionConfigurationChangeEvent_FWD_DEFINED__
typedef interface IHostNameResolutionConfigurationChangeEvent IHostNameResolutionConfigurationChangeEvent;

#endif 	/* __IHostNameResolutionConfigurationChangeEvent_FWD_DEFINED__ */


#ifndef __IProgressEvent_FWD_DEFINED__
#define __IProgressEvent_FWD_DEFINED__
typedef interface IProgressEvent IProgressEvent;

#endif 	/* __IProgressEvent_FWD_DEFINED__ */


#ifndef __IProgressCreatedEvent_FWD_DEFINED__
#define __IProgressCreatedEvent_FWD_DEFINED__
typedef interface IProgressCreatedEvent IProgressCreatedEvent;

#endif 	/* __IProgressCreatedEvent_FWD_DEFINED__ */


#ifndef __IProgressPercentageChangedEvent_FWD_DEFINED__
#define __IProgressPercentageChangedEvent_FWD_DEFINED__
typedef interface IProgressPercentageChangedEvent IProgressPercentageChangedEvent;

#endif 	/* __IProgressPercentageChangedEvent_FWD_DEFINED__ */


#ifndef __IProgressTaskCompletedEvent_FWD_DEFINED__
#define __IProgressTaskCompletedEvent_FWD_DEFINED__
typedef interface IProgressTaskCompletedEvent IProgressTaskCompletedEvent;

#endif 	/* __IProgressTaskCompletedEvent_FWD_DEFINED__ */


#ifndef __ICursorPositionChangedEvent_FWD_DEFINED__
#define __ICursorPositionChangedEvent_FWD_DEFINED__
typedef interface ICursorPositionChangedEvent ICursorPositionChangedEvent;

#endif 	/* __ICursorPositionChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestAdditionsStatusChangedEvent_FWD_DEFINED__
#define __IGuestAdditionsStatusChangedEvent_FWD_DEFINED__
typedef interface IGuestAdditionsStatusChangedEvent IGuestAdditionsStatusChangedEvent;

#endif 	/* __IGuestAdditionsStatusChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestMonitorInfoChangedEvent_FWD_DEFINED__
#define __IGuestMonitorInfoChangedEvent_FWD_DEFINED__
typedef interface IGuestMonitorInfoChangedEvent IGuestMonitorInfoChangedEvent;

#endif 	/* __IGuestMonitorInfoChangedEvent_FWD_DEFINED__ */


#ifndef __IUpdateAgentEvent_FWD_DEFINED__
#define __IUpdateAgentEvent_FWD_DEFINED__
typedef interface IUpdateAgentEvent IUpdateAgentEvent;

#endif 	/* __IUpdateAgentEvent_FWD_DEFINED__ */


#ifndef __IUpdateAgentSettingsChangedEvent_FWD_DEFINED__
#define __IUpdateAgentSettingsChangedEvent_FWD_DEFINED__
typedef interface IUpdateAgentSettingsChangedEvent IUpdateAgentSettingsChangedEvent;

#endif 	/* __IUpdateAgentSettingsChangedEvent_FWD_DEFINED__ */


#ifndef __IUpdateAgentErrorEvent_FWD_DEFINED__
#define __IUpdateAgentErrorEvent_FWD_DEFINED__
typedef interface IUpdateAgentErrorEvent IUpdateAgentErrorEvent;

#endif 	/* __IUpdateAgentErrorEvent_FWD_DEFINED__ */


#ifndef __IUpdateAgentAvailableEvent_FWD_DEFINED__
#define __IUpdateAgentAvailableEvent_FWD_DEFINED__
typedef interface IUpdateAgentAvailableEvent IUpdateAgentAvailableEvent;

#endif 	/* __IUpdateAgentAvailableEvent_FWD_DEFINED__ */


#ifndef __IUpdateAgentStateChangedEvent_FWD_DEFINED__
#define __IUpdateAgentStateChangedEvent_FWD_DEFINED__
typedef interface IUpdateAgentStateChangedEvent IUpdateAgentStateChangedEvent;

#endif 	/* __IUpdateAgentStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestDebugControlChangedEvent_FWD_DEFINED__
#define __IGuestDebugControlChangedEvent_FWD_DEFINED__
typedef interface IGuestDebugControlChangedEvent IGuestDebugControlChangedEvent;

#endif 	/* __IGuestDebugControlChangedEvent_FWD_DEFINED__ */


#ifndef __IMachineGroupsChangedEvent_FWD_DEFINED__
#define __IMachineGroupsChangedEvent_FWD_DEFINED__
typedef interface IMachineGroupsChangedEvent IMachineGroupsChangedEvent;

#endif 	/* __IMachineGroupsChangedEvent_FWD_DEFINED__ */


#ifndef __IStringArray_FWD_DEFINED__
#define __IStringArray_FWD_DEFINED__
typedef interface IStringArray IStringArray;

#endif 	/* __IStringArray_FWD_DEFINED__ */


#ifndef __IFormValue_FWD_DEFINED__
#define __IFormValue_FWD_DEFINED__
typedef interface IFormValue IFormValue;

#endif 	/* __IFormValue_FWD_DEFINED__ */


#ifndef __IBooleanFormValue_FWD_DEFINED__
#define __IBooleanFormValue_FWD_DEFINED__
typedef interface IBooleanFormValue IBooleanFormValue;

#endif 	/* __IBooleanFormValue_FWD_DEFINED__ */


#ifndef __IRangedIntegerFormValue_FWD_DEFINED__
#define __IRangedIntegerFormValue_FWD_DEFINED__
typedef interface IRangedIntegerFormValue IRangedIntegerFormValue;

#endif 	/* __IRangedIntegerFormValue_FWD_DEFINED__ */


#ifndef __IRangedInteger64FormValue_FWD_DEFINED__
#define __IRangedInteger64FormValue_FWD_DEFINED__
typedef interface IRangedInteger64FormValue IRangedInteger64FormValue;

#endif 	/* __IRangedInteger64FormValue_FWD_DEFINED__ */


#ifndef __IStringFormValue_FWD_DEFINED__
#define __IStringFormValue_FWD_DEFINED__
typedef interface IStringFormValue IStringFormValue;

#endif 	/* __IStringFormValue_FWD_DEFINED__ */


#ifndef __IChoiceFormValue_FWD_DEFINED__
#define __IChoiceFormValue_FWD_DEFINED__
typedef interface IChoiceFormValue IChoiceFormValue;

#endif 	/* __IChoiceFormValue_FWD_DEFINED__ */


#ifndef __IForm_FWD_DEFINED__
#define __IForm_FWD_DEFINED__
typedef interface IForm IForm;

#endif 	/* __IForm_FWD_DEFINED__ */


#ifndef __IVirtualSystemDescriptionForm_FWD_DEFINED__
#define __IVirtualSystemDescriptionForm_FWD_DEFINED__
typedef interface IVirtualSystemDescriptionForm IVirtualSystemDescriptionForm;

#endif 	/* __IVirtualSystemDescriptionForm_FWD_DEFINED__ */


#ifndef __ICloudNetworkGatewayInfo_FWD_DEFINED__
#define __ICloudNetworkGatewayInfo_FWD_DEFINED__
typedef interface ICloudNetworkGatewayInfo ICloudNetworkGatewayInfo;

#endif 	/* __ICloudNetworkGatewayInfo_FWD_DEFINED__ */


#ifndef __ICloudNetworkEnvironmentInfo_FWD_DEFINED__
#define __ICloudNetworkEnvironmentInfo_FWD_DEFINED__
typedef interface ICloudNetworkEnvironmentInfo ICloudNetworkEnvironmentInfo;

#endif 	/* __ICloudNetworkEnvironmentInfo_FWD_DEFINED__ */


#ifndef __ICloudMachine_FWD_DEFINED__
#define __ICloudMachine_FWD_DEFINED__
typedef interface ICloudMachine ICloudMachine;

#endif 	/* __ICloudMachine_FWD_DEFINED__ */


#ifndef __ICloudClient_FWD_DEFINED__
#define __ICloudClient_FWD_DEFINED__
typedef interface ICloudClient ICloudClient;

#endif 	/* __ICloudClient_FWD_DEFINED__ */


#ifndef __ICloudProfile_FWD_DEFINED__
#define __ICloudProfile_FWD_DEFINED__
typedef interface ICloudProfile ICloudProfile;

#endif 	/* __ICloudProfile_FWD_DEFINED__ */


#ifndef __ICloudProvider_FWD_DEFINED__
#define __ICloudProvider_FWD_DEFINED__
typedef interface ICloudProvider ICloudProvider;

#endif 	/* __ICloudProvider_FWD_DEFINED__ */


#ifndef __ICloudProviderManager_FWD_DEFINED__
#define __ICloudProviderManager_FWD_DEFINED__
typedef interface ICloudProviderManager ICloudProviderManager;

#endif 	/* __ICloudProviderManager_FWD_DEFINED__ */


#ifndef __ICloudProviderListChangedEvent_FWD_DEFINED__
#define __ICloudProviderListChangedEvent_FWD_DEFINED__
typedef interface ICloudProviderListChangedEvent ICloudProviderListChangedEvent;

#endif 	/* __ICloudProviderListChangedEvent_FWD_DEFINED__ */


#ifndef __ICloudProviderRegisteredEvent_FWD_DEFINED__
#define __ICloudProviderRegisteredEvent_FWD_DEFINED__
typedef interface ICloudProviderRegisteredEvent ICloudProviderRegisteredEvent;

#endif 	/* __ICloudProviderRegisteredEvent_FWD_DEFINED__ */


#ifndef __ICloudProviderUninstallEvent_FWD_DEFINED__
#define __ICloudProviderUninstallEvent_FWD_DEFINED__
typedef interface ICloudProviderUninstallEvent ICloudProviderUninstallEvent;

#endif 	/* __ICloudProviderUninstallEvent_FWD_DEFINED__ */


#ifndef __ICloudProfileRegisteredEvent_FWD_DEFINED__
#define __ICloudProfileRegisteredEvent_FWD_DEFINED__
typedef interface ICloudProfileRegisteredEvent ICloudProfileRegisteredEvent;

#endif 	/* __ICloudProfileRegisteredEvent_FWD_DEFINED__ */


#ifndef __ICloudProfileChangedEvent_FWD_DEFINED__
#define __ICloudProfileChangedEvent_FWD_DEFINED__
typedef interface ICloudProfileChangedEvent ICloudProfileChangedEvent;

#endif 	/* __ICloudProfileChangedEvent_FWD_DEFINED__ */


#ifndef __ILanguageChangedEvent_FWD_DEFINED__
#define __ILanguageChangedEvent_FWD_DEFINED__
typedef interface ILanguageChangedEvent ILanguageChangedEvent;

#endif 	/* __ILanguageChangedEvent_FWD_DEFINED__ */


#ifndef __IVBoxSVCRegistration_FWD_DEFINED__
#define __IVBoxSVCRegistration_FWD_DEFINED__
typedef interface IVBoxSVCRegistration IVBoxSVCRegistration;

#endif 	/* __IVBoxSVCRegistration_FWD_DEFINED__ */


#ifndef __IVirtualBoxSDS_FWD_DEFINED__
#define __IVirtualBoxSDS_FWD_DEFINED__
typedef interface IVirtualBoxSDS IVirtualBoxSDS;

#endif 	/* __IVirtualBoxSDS_FWD_DEFINED__ */


#ifndef __IVirtualBoxErrorInfo_FWD_DEFINED__
#define __IVirtualBoxErrorInfo_FWD_DEFINED__
typedef interface IVirtualBoxErrorInfo IVirtualBoxErrorInfo;

#endif 	/* __IVirtualBoxErrorInfo_FWD_DEFINED__ */


#ifndef __INATNetwork_FWD_DEFINED__
#define __INATNetwork_FWD_DEFINED__
typedef interface INATNetwork INATNetwork;

#endif 	/* __INATNetwork_FWD_DEFINED__ */


#ifndef __ICloudNetwork_FWD_DEFINED__
#define __ICloudNetwork_FWD_DEFINED__
typedef interface ICloudNetwork ICloudNetwork;

#endif 	/* __ICloudNetwork_FWD_DEFINED__ */


#ifndef __IHostOnlyNetwork_FWD_DEFINED__
#define __IHostOnlyNetwork_FWD_DEFINED__
typedef interface IHostOnlyNetwork IHostOnlyNetwork;

#endif 	/* __IHostOnlyNetwork_FWD_DEFINED__ */


#ifndef __IDHCPServer_FWD_DEFINED__
#define __IDHCPServer_FWD_DEFINED__
typedef interface IDHCPServer IDHCPServer;

#endif 	/* __IDHCPServer_FWD_DEFINED__ */


#ifndef __IDHCPConfig_FWD_DEFINED__
#define __IDHCPConfig_FWD_DEFINED__
typedef interface IDHCPConfig IDHCPConfig;

#endif 	/* __IDHCPConfig_FWD_DEFINED__ */


#ifndef __IDHCPGlobalConfig_FWD_DEFINED__
#define __IDHCPGlobalConfig_FWD_DEFINED__
typedef interface IDHCPGlobalConfig IDHCPGlobalConfig;

#endif 	/* __IDHCPGlobalConfig_FWD_DEFINED__ */


#ifndef __IDHCPGroupCondition_FWD_DEFINED__
#define __IDHCPGroupCondition_FWD_DEFINED__
typedef interface IDHCPGroupCondition IDHCPGroupCondition;

#endif 	/* __IDHCPGroupCondition_FWD_DEFINED__ */


#ifndef __IDHCPGroupConfig_FWD_DEFINED__
#define __IDHCPGroupConfig_FWD_DEFINED__
typedef interface IDHCPGroupConfig IDHCPGroupConfig;

#endif 	/* __IDHCPGroupConfig_FWD_DEFINED__ */


#ifndef __IDHCPIndividualConfig_FWD_DEFINED__
#define __IDHCPIndividualConfig_FWD_DEFINED__
typedef interface IDHCPIndividualConfig IDHCPIndividualConfig;

#endif 	/* __IDHCPIndividualConfig_FWD_DEFINED__ */


#ifndef __IVirtualBox_FWD_DEFINED__
#define __IVirtualBox_FWD_DEFINED__
typedef interface IVirtualBox IVirtualBox;

#endif 	/* __IVirtualBox_FWD_DEFINED__ */


#ifndef __IVFSExplorer_FWD_DEFINED__
#define __IVFSExplorer_FWD_DEFINED__
typedef interface IVFSExplorer IVFSExplorer;

#endif 	/* __IVFSExplorer_FWD_DEFINED__ */


#ifndef __ICertificate_FWD_DEFINED__
#define __ICertificate_FWD_DEFINED__
typedef interface ICertificate ICertificate;

#endif 	/* __ICertificate_FWD_DEFINED__ */


#ifndef __IAppliance_FWD_DEFINED__
#define __IAppliance_FWD_DEFINED__
typedef interface IAppliance IAppliance;

#endif 	/* __IAppliance_FWD_DEFINED__ */


#ifndef __IVirtualSystemDescription_FWD_DEFINED__
#define __IVirtualSystemDescription_FWD_DEFINED__
typedef interface IVirtualSystemDescription IVirtualSystemDescription;

#endif 	/* __IVirtualSystemDescription_FWD_DEFINED__ */


#ifndef __IUnattended_FWD_DEFINED__
#define __IUnattended_FWD_DEFINED__
typedef interface IUnattended IUnattended;

#endif 	/* __IUnattended_FWD_DEFINED__ */


#ifndef __IInternalMachineControl_FWD_DEFINED__
#define __IInternalMachineControl_FWD_DEFINED__
typedef interface IInternalMachineControl IInternalMachineControl;

#endif 	/* __IInternalMachineControl_FWD_DEFINED__ */


#ifndef __IGraphicsAdapter_FWD_DEFINED__
#define __IGraphicsAdapter_FWD_DEFINED__
typedef interface IGraphicsAdapter IGraphicsAdapter;

#endif 	/* __IGraphicsAdapter_FWD_DEFINED__ */


#ifndef __IFirmwareSettings_FWD_DEFINED__
#define __IFirmwareSettings_FWD_DEFINED__
typedef interface IFirmwareSettings IFirmwareSettings;

#endif 	/* __IFirmwareSettings_FWD_DEFINED__ */


#ifndef __ITrustedPlatformModule_FWD_DEFINED__
#define __ITrustedPlatformModule_FWD_DEFINED__
typedef interface ITrustedPlatformModule ITrustedPlatformModule;

#endif 	/* __ITrustedPlatformModule_FWD_DEFINED__ */


#ifndef __IRecordingScreenSettings_FWD_DEFINED__
#define __IRecordingScreenSettings_FWD_DEFINED__
typedef interface IRecordingScreenSettings IRecordingScreenSettings;

#endif 	/* __IRecordingScreenSettings_FWD_DEFINED__ */


#ifndef __IRecordingSettings_FWD_DEFINED__
#define __IRecordingSettings_FWD_DEFINED__
typedef interface IRecordingSettings IRecordingSettings;

#endif 	/* __IRecordingSettings_FWD_DEFINED__ */


#ifndef __IPCIAddress_FWD_DEFINED__
#define __IPCIAddress_FWD_DEFINED__
typedef interface IPCIAddress IPCIAddress;

#endif 	/* __IPCIAddress_FWD_DEFINED__ */


#ifndef __IPCIDeviceAttachment_FWD_DEFINED__
#define __IPCIDeviceAttachment_FWD_DEFINED__
typedef interface IPCIDeviceAttachment IPCIDeviceAttachment;

#endif 	/* __IPCIDeviceAttachment_FWD_DEFINED__ */


#ifndef __IUefiVariableStore_FWD_DEFINED__
#define __IUefiVariableStore_FWD_DEFINED__
typedef interface IUefiVariableStore IUefiVariableStore;

#endif 	/* __IUefiVariableStore_FWD_DEFINED__ */


#ifndef __INvramStore_FWD_DEFINED__
#define __INvramStore_FWD_DEFINED__
typedef interface INvramStore INvramStore;

#endif 	/* __INvramStore_FWD_DEFINED__ */


#ifndef __IResourceStore_FWD_DEFINED__
#define __IResourceStore_FWD_DEFINED__
typedef interface IResourceStore IResourceStore;

#endif 	/* __IResourceStore_FWD_DEFINED__ */


#ifndef __IPlatform_FWD_DEFINED__
#define __IPlatform_FWD_DEFINED__
typedef interface IPlatform IPlatform;

#endif 	/* __IPlatform_FWD_DEFINED__ */


#ifndef __IPlatformX86_FWD_DEFINED__
#define __IPlatformX86_FWD_DEFINED__
typedef interface IPlatformX86 IPlatformX86;

#endif 	/* __IPlatformX86_FWD_DEFINED__ */


#ifndef __IPlatformARM_FWD_DEFINED__
#define __IPlatformARM_FWD_DEFINED__
typedef interface IPlatformARM IPlatformARM;

#endif 	/* __IPlatformARM_FWD_DEFINED__ */


#ifndef __IMachine_FWD_DEFINED__
#define __IMachine_FWD_DEFINED__
typedef interface IMachine IMachine;

#endif 	/* __IMachine_FWD_DEFINED__ */


#ifndef __IEmulatedUSB_FWD_DEFINED__
#define __IEmulatedUSB_FWD_DEFINED__
typedef interface IEmulatedUSB IEmulatedUSB;

#endif 	/* __IEmulatedUSB_FWD_DEFINED__ */


#ifndef __IVRDEServerInfo_FWD_DEFINED__
#define __IVRDEServerInfo_FWD_DEFINED__
typedef interface IVRDEServerInfo IVRDEServerInfo;

#endif 	/* __IVRDEServerInfo_FWD_DEFINED__ */


#ifndef __IConsole_FWD_DEFINED__
#define __IConsole_FWD_DEFINED__
typedef interface IConsole IConsole;

#endif 	/* __IConsole_FWD_DEFINED__ */


#ifndef __IHostNetworkInterface_FWD_DEFINED__
#define __IHostNetworkInterface_FWD_DEFINED__
typedef interface IHostNetworkInterface IHostNetworkInterface;

#endif 	/* __IHostNetworkInterface_FWD_DEFINED__ */


#ifndef __IHostVideoInputDevice_FWD_DEFINED__
#define __IHostVideoInputDevice_FWD_DEFINED__
typedef interface IHostVideoInputDevice IHostVideoInputDevice;

#endif 	/* __IHostVideoInputDevice_FWD_DEFINED__ */


#ifndef __IUpdateAgent_FWD_DEFINED__
#define __IUpdateAgent_FWD_DEFINED__
typedef interface IUpdateAgent IUpdateAgent;

#endif 	/* __IUpdateAgent_FWD_DEFINED__ */


#ifndef __IHostUpdateAgent_FWD_DEFINED__
#define __IHostUpdateAgent_FWD_DEFINED__
typedef interface IHostUpdateAgent IHostUpdateAgent;

#endif 	/* __IHostUpdateAgent_FWD_DEFINED__ */


#ifndef __IHostDrivePartition_FWD_DEFINED__
#define __IHostDrivePartition_FWD_DEFINED__
typedef interface IHostDrivePartition IHostDrivePartition;

#endif 	/* __IHostDrivePartition_FWD_DEFINED__ */


#ifndef __IHostDrive_FWD_DEFINED__
#define __IHostDrive_FWD_DEFINED__
typedef interface IHostDrive IHostDrive;

#endif 	/* __IHostDrive_FWD_DEFINED__ */


#ifndef __IHostX86_FWD_DEFINED__
#define __IHostX86_FWD_DEFINED__
typedef interface IHostX86 IHostX86;

#endif 	/* __IHostX86_FWD_DEFINED__ */


#ifndef __IHost_FWD_DEFINED__
#define __IHost_FWD_DEFINED__
typedef interface IHost IHost;

#endif 	/* __IHost_FWD_DEFINED__ */


#ifndef __ICPUProfile_FWD_DEFINED__
#define __ICPUProfile_FWD_DEFINED__
typedef interface ICPUProfile ICPUProfile;

#endif 	/* __ICPUProfile_FWD_DEFINED__ */


#ifndef __IPlatformProperties_FWD_DEFINED__
#define __IPlatformProperties_FWD_DEFINED__
typedef interface IPlatformProperties IPlatformProperties;

#endif 	/* __IPlatformProperties_FWD_DEFINED__ */


#ifndef __ISystemProperties_FWD_DEFINED__
#define __ISystemProperties_FWD_DEFINED__
typedef interface ISystemProperties ISystemProperties;

#endif 	/* __ISystemProperties_FWD_DEFINED__ */


#ifndef __IGuestOSType_FWD_DEFINED__
#define __IGuestOSType_FWD_DEFINED__
typedef interface IGuestOSType IGuestOSType;

#endif 	/* __IGuestOSType_FWD_DEFINED__ */


#ifndef __IAdditionsFacility_FWD_DEFINED__
#define __IAdditionsFacility_FWD_DEFINED__
typedef interface IAdditionsFacility IAdditionsFacility;

#endif 	/* __IAdditionsFacility_FWD_DEFINED__ */


#ifndef __IDnDBase_FWD_DEFINED__
#define __IDnDBase_FWD_DEFINED__
typedef interface IDnDBase IDnDBase;

#endif 	/* __IDnDBase_FWD_DEFINED__ */


#ifndef __IDnDSource_FWD_DEFINED__
#define __IDnDSource_FWD_DEFINED__
typedef interface IDnDSource IDnDSource;

#endif 	/* __IDnDSource_FWD_DEFINED__ */


#ifndef __IGuestDnDSource_FWD_DEFINED__
#define __IGuestDnDSource_FWD_DEFINED__
typedef interface IGuestDnDSource IGuestDnDSource;

#endif 	/* __IGuestDnDSource_FWD_DEFINED__ */


#ifndef __IDnDTarget_FWD_DEFINED__
#define __IDnDTarget_FWD_DEFINED__
typedef interface IDnDTarget IDnDTarget;

#endif 	/* __IDnDTarget_FWD_DEFINED__ */


#ifndef __IGuestDnDTarget_FWD_DEFINED__
#define __IGuestDnDTarget_FWD_DEFINED__
typedef interface IGuestDnDTarget IGuestDnDTarget;

#endif 	/* __IGuestDnDTarget_FWD_DEFINED__ */


#ifndef __IGuestSession_FWD_DEFINED__
#define __IGuestSession_FWD_DEFINED__
typedef interface IGuestSession IGuestSession;

#endif 	/* __IGuestSession_FWD_DEFINED__ */


#ifndef __IProcess_FWD_DEFINED__
#define __IProcess_FWD_DEFINED__
typedef interface IProcess IProcess;

#endif 	/* __IProcess_FWD_DEFINED__ */


#ifndef __IGuestProcess_FWD_DEFINED__
#define __IGuestProcess_FWD_DEFINED__
typedef interface IGuestProcess IGuestProcess;

#endif 	/* __IGuestProcess_FWD_DEFINED__ */


#ifndef __IDirectory_FWD_DEFINED__
#define __IDirectory_FWD_DEFINED__
typedef interface IDirectory IDirectory;

#endif 	/* __IDirectory_FWD_DEFINED__ */


#ifndef __IGuestDirectory_FWD_DEFINED__
#define __IGuestDirectory_FWD_DEFINED__
typedef interface IGuestDirectory IGuestDirectory;

#endif 	/* __IGuestDirectory_FWD_DEFINED__ */


#ifndef __IFile_FWD_DEFINED__
#define __IFile_FWD_DEFINED__
typedef interface IFile IFile;

#endif 	/* __IFile_FWD_DEFINED__ */


#ifndef __IGuestFile_FWD_DEFINED__
#define __IGuestFile_FWD_DEFINED__
typedef interface IGuestFile IGuestFile;

#endif 	/* __IGuestFile_FWD_DEFINED__ */


#ifndef __IFsInfo_FWD_DEFINED__
#define __IFsInfo_FWD_DEFINED__
typedef interface IFsInfo IFsInfo;

#endif 	/* __IFsInfo_FWD_DEFINED__ */


#ifndef __IFsObjInfo_FWD_DEFINED__
#define __IFsObjInfo_FWD_DEFINED__
typedef interface IFsObjInfo IFsObjInfo;

#endif 	/* __IFsObjInfo_FWD_DEFINED__ */


#ifndef __IGuestFsInfo_FWD_DEFINED__
#define __IGuestFsInfo_FWD_DEFINED__
typedef interface IGuestFsInfo IGuestFsInfo;

#endif 	/* __IGuestFsInfo_FWD_DEFINED__ */


#ifndef __IGuestFsObjInfo_FWD_DEFINED__
#define __IGuestFsObjInfo_FWD_DEFINED__
typedef interface IGuestFsObjInfo IGuestFsObjInfo;

#endif 	/* __IGuestFsObjInfo_FWD_DEFINED__ */


#ifndef __IGuest_FWD_DEFINED__
#define __IGuest_FWD_DEFINED__
typedef interface IGuest IGuest;

#endif 	/* __IGuest_FWD_DEFINED__ */


#ifndef __IProgress_FWD_DEFINED__
#define __IProgress_FWD_DEFINED__
typedef interface IProgress IProgress;

#endif 	/* __IProgress_FWD_DEFINED__ */


#ifndef __IInternalProgressControl_FWD_DEFINED__
#define __IInternalProgressControl_FWD_DEFINED__
typedef interface IInternalProgressControl IInternalProgressControl;

#endif 	/* __IInternalProgressControl_FWD_DEFINED__ */


#ifndef __ISnapshot_FWD_DEFINED__
#define __ISnapshot_FWD_DEFINED__
typedef interface ISnapshot ISnapshot;

#endif 	/* __ISnapshot_FWD_DEFINED__ */


#ifndef __IMediumAttachment_FWD_DEFINED__
#define __IMediumAttachment_FWD_DEFINED__
typedef interface IMediumAttachment IMediumAttachment;

#endif 	/* __IMediumAttachment_FWD_DEFINED__ */


#ifndef __IMedium_FWD_DEFINED__
#define __IMedium_FWD_DEFINED__
typedef interface IMedium IMedium;

#endif 	/* __IMedium_FWD_DEFINED__ */


#ifndef __IMediumFormat_FWD_DEFINED__
#define __IMediumFormat_FWD_DEFINED__
typedef interface IMediumFormat IMediumFormat;

#endif 	/* __IMediumFormat_FWD_DEFINED__ */


#ifndef __IDataStream_FWD_DEFINED__
#define __IDataStream_FWD_DEFINED__
typedef interface IDataStream IDataStream;

#endif 	/* __IDataStream_FWD_DEFINED__ */


#ifndef __IMediumIO_FWD_DEFINED__
#define __IMediumIO_FWD_DEFINED__
typedef interface IMediumIO IMediumIO;

#endif 	/* __IMediumIO_FWD_DEFINED__ */


#ifndef __IToken_FWD_DEFINED__
#define __IToken_FWD_DEFINED__
typedef interface IToken IToken;

#endif 	/* __IToken_FWD_DEFINED__ */


#ifndef __IKeyboard_FWD_DEFINED__
#define __IKeyboard_FWD_DEFINED__
typedef interface IKeyboard IKeyboard;

#endif 	/* __IKeyboard_FWD_DEFINED__ */


#ifndef __IMousePointerShape_FWD_DEFINED__
#define __IMousePointerShape_FWD_DEFINED__
typedef interface IMousePointerShape IMousePointerShape;

#endif 	/* __IMousePointerShape_FWD_DEFINED__ */


#ifndef __IMouse_FWD_DEFINED__
#define __IMouse_FWD_DEFINED__
typedef interface IMouse IMouse;

#endif 	/* __IMouse_FWD_DEFINED__ */


#ifndef __IDisplaySourceBitmap_FWD_DEFINED__
#define __IDisplaySourceBitmap_FWD_DEFINED__
typedef interface IDisplaySourceBitmap IDisplaySourceBitmap;

#endif 	/* __IDisplaySourceBitmap_FWD_DEFINED__ */


#ifndef __IFramebuffer_FWD_DEFINED__
#define __IFramebuffer_FWD_DEFINED__
typedef interface IFramebuffer IFramebuffer;

#endif 	/* __IFramebuffer_FWD_DEFINED__ */


#ifndef __IFramebufferOverlay_FWD_DEFINED__
#define __IFramebufferOverlay_FWD_DEFINED__
typedef interface IFramebufferOverlay IFramebufferOverlay;

#endif 	/* __IFramebufferOverlay_FWD_DEFINED__ */


#ifndef __IGuestScreenInfo_FWD_DEFINED__
#define __IGuestScreenInfo_FWD_DEFINED__
typedef interface IGuestScreenInfo IGuestScreenInfo;

#endif 	/* __IGuestScreenInfo_FWD_DEFINED__ */


#ifndef __IDisplay_FWD_DEFINED__
#define __IDisplay_FWD_DEFINED__
typedef interface IDisplay IDisplay;

#endif 	/* __IDisplay_FWD_DEFINED__ */


#ifndef __INetworkAdapter_FWD_DEFINED__
#define __INetworkAdapter_FWD_DEFINED__
typedef interface INetworkAdapter INetworkAdapter;

#endif 	/* __INetworkAdapter_FWD_DEFINED__ */


#ifndef __ISerialPort_FWD_DEFINED__
#define __ISerialPort_FWD_DEFINED__
typedef interface ISerialPort ISerialPort;

#endif 	/* __ISerialPort_FWD_DEFINED__ */


#ifndef __IParallelPort_FWD_DEFINED__
#define __IParallelPort_FWD_DEFINED__
typedef interface IParallelPort IParallelPort;

#endif 	/* __IParallelPort_FWD_DEFINED__ */


#ifndef __IMachineDebugger_FWD_DEFINED__
#define __IMachineDebugger_FWD_DEFINED__
typedef interface IMachineDebugger IMachineDebugger;

#endif 	/* __IMachineDebugger_FWD_DEFINED__ */


#ifndef __IUSBDeviceFilters_FWD_DEFINED__
#define __IUSBDeviceFilters_FWD_DEFINED__
typedef interface IUSBDeviceFilters IUSBDeviceFilters;

#endif 	/* __IUSBDeviceFilters_FWD_DEFINED__ */


#ifndef __IUSBController_FWD_DEFINED__
#define __IUSBController_FWD_DEFINED__
typedef interface IUSBController IUSBController;

#endif 	/* __IUSBController_FWD_DEFINED__ */


#ifndef __IUSBDevice_FWD_DEFINED__
#define __IUSBDevice_FWD_DEFINED__
typedef interface IUSBDevice IUSBDevice;

#endif 	/* __IUSBDevice_FWD_DEFINED__ */


#ifndef __IUSBDeviceFilter_FWD_DEFINED__
#define __IUSBDeviceFilter_FWD_DEFINED__
typedef interface IUSBDeviceFilter IUSBDeviceFilter;

#endif 	/* __IUSBDeviceFilter_FWD_DEFINED__ */


#ifndef __IHostUSBDevice_FWD_DEFINED__
#define __IHostUSBDevice_FWD_DEFINED__
typedef interface IHostUSBDevice IHostUSBDevice;

#endif 	/* __IHostUSBDevice_FWD_DEFINED__ */


#ifndef __IHostUSBDeviceFilter_FWD_DEFINED__
#define __IHostUSBDeviceFilter_FWD_DEFINED__
typedef interface IHostUSBDeviceFilter IHostUSBDeviceFilter;

#endif 	/* __IHostUSBDeviceFilter_FWD_DEFINED__ */


#ifndef __IUSBProxyBackend_FWD_DEFINED__
#define __IUSBProxyBackend_FWD_DEFINED__
typedef interface IUSBProxyBackend IUSBProxyBackend;

#endif 	/* __IUSBProxyBackend_FWD_DEFINED__ */


#ifndef __IAudioAdapter_FWD_DEFINED__
#define __IAudioAdapter_FWD_DEFINED__
typedef interface IAudioAdapter IAudioAdapter;

#endif 	/* __IAudioAdapter_FWD_DEFINED__ */


#ifndef __IHostAudioDevice_FWD_DEFINED__
#define __IHostAudioDevice_FWD_DEFINED__
typedef interface IHostAudioDevice IHostAudioDevice;

#endif 	/* __IHostAudioDevice_FWD_DEFINED__ */


#ifndef __IAudioSettings_FWD_DEFINED__
#define __IAudioSettings_FWD_DEFINED__
typedef interface IAudioSettings IAudioSettings;

#endif 	/* __IAudioSettings_FWD_DEFINED__ */


#ifndef __IVRDEServer_FWD_DEFINED__
#define __IVRDEServer_FWD_DEFINED__
typedef interface IVRDEServer IVRDEServer;

#endif 	/* __IVRDEServer_FWD_DEFINED__ */


#ifndef __ISharedFolder_FWD_DEFINED__
#define __ISharedFolder_FWD_DEFINED__
typedef interface ISharedFolder ISharedFolder;

#endif 	/* __ISharedFolder_FWD_DEFINED__ */


#ifndef __IInternalSessionControl_FWD_DEFINED__
#define __IInternalSessionControl_FWD_DEFINED__
typedef interface IInternalSessionControl IInternalSessionControl;

#endif 	/* __IInternalSessionControl_FWD_DEFINED__ */


#ifndef __ISession_FWD_DEFINED__
#define __ISession_FWD_DEFINED__
typedef interface ISession ISession;

#endif 	/* __ISession_FWD_DEFINED__ */


#ifndef __IStorageController_FWD_DEFINED__
#define __IStorageController_FWD_DEFINED__
typedef interface IStorageController IStorageController;

#endif 	/* __IStorageController_FWD_DEFINED__ */


#ifndef __IPerformanceMetric_FWD_DEFINED__
#define __IPerformanceMetric_FWD_DEFINED__
typedef interface IPerformanceMetric IPerformanceMetric;

#endif 	/* __IPerformanceMetric_FWD_DEFINED__ */


#ifndef __IPerformanceCollector_FWD_DEFINED__
#define __IPerformanceCollector_FWD_DEFINED__
typedef interface IPerformanceCollector IPerformanceCollector;

#endif 	/* __IPerformanceCollector_FWD_DEFINED__ */


#ifndef __INATEngine_FWD_DEFINED__
#define __INATEngine_FWD_DEFINED__
typedef interface INATEngine INATEngine;

#endif 	/* __INATEngine_FWD_DEFINED__ */


#ifndef __IExtPackPlugIn_FWD_DEFINED__
#define __IExtPackPlugIn_FWD_DEFINED__
typedef interface IExtPackPlugIn IExtPackPlugIn;

#endif 	/* __IExtPackPlugIn_FWD_DEFINED__ */


#ifndef __IExtPackBase_FWD_DEFINED__
#define __IExtPackBase_FWD_DEFINED__
typedef interface IExtPackBase IExtPackBase;

#endif 	/* __IExtPackBase_FWD_DEFINED__ */


#ifndef __IExtPack_FWD_DEFINED__
#define __IExtPack_FWD_DEFINED__
typedef interface IExtPack IExtPack;

#endif 	/* __IExtPack_FWD_DEFINED__ */


#ifndef __IExtPackFile_FWD_DEFINED__
#define __IExtPackFile_FWD_DEFINED__
typedef interface IExtPackFile IExtPackFile;

#endif 	/* __IExtPackFile_FWD_DEFINED__ */


#ifndef __IExtPackManager_FWD_DEFINED__
#define __IExtPackManager_FWD_DEFINED__
typedef interface IExtPackManager IExtPackManager;

#endif 	/* __IExtPackManager_FWD_DEFINED__ */


#ifndef __IBandwidthGroup_FWD_DEFINED__
#define __IBandwidthGroup_FWD_DEFINED__
typedef interface IBandwidthGroup IBandwidthGroup;

#endif 	/* __IBandwidthGroup_FWD_DEFINED__ */


#ifndef __IBandwidthControl_FWD_DEFINED__
#define __IBandwidthControl_FWD_DEFINED__
typedef interface IBandwidthControl IBandwidthControl;

#endif 	/* __IBandwidthControl_FWD_DEFINED__ */


#ifndef __IGuestDebugControl_FWD_DEFINED__
#define __IGuestDebugControl_FWD_DEFINED__
typedef interface IGuestDebugControl IGuestDebugControl;

#endif 	/* __IGuestDebugControl_FWD_DEFINED__ */


#ifndef __IVirtualBoxClient_FWD_DEFINED__
#define __IVirtualBoxClient_FWD_DEFINED__
typedef interface IVirtualBoxClient IVirtualBoxClient;

#endif 	/* __IVirtualBoxClient_FWD_DEFINED__ */


#ifndef __IEventSource_FWD_DEFINED__
#define __IEventSource_FWD_DEFINED__
typedef interface IEventSource IEventSource;

#endif 	/* __IEventSource_FWD_DEFINED__ */


#ifndef __IEventListener_FWD_DEFINED__
#define __IEventListener_FWD_DEFINED__
typedef interface IEventListener IEventListener;

#endif 	/* __IEventListener_FWD_DEFINED__ */


#ifndef __IEvent_FWD_DEFINED__
#define __IEvent_FWD_DEFINED__
typedef interface IEvent IEvent;

#endif 	/* __IEvent_FWD_DEFINED__ */


#ifndef __IReusableEvent_FWD_DEFINED__
#define __IReusableEvent_FWD_DEFINED__
typedef interface IReusableEvent IReusableEvent;

#endif 	/* __IReusableEvent_FWD_DEFINED__ */


#ifndef __IMachineEvent_FWD_DEFINED__
#define __IMachineEvent_FWD_DEFINED__
typedef interface IMachineEvent IMachineEvent;

#endif 	/* __IMachineEvent_FWD_DEFINED__ */


#ifndef __IMachineStateChangedEvent_FWD_DEFINED__
#define __IMachineStateChangedEvent_FWD_DEFINED__
typedef interface IMachineStateChangedEvent IMachineStateChangedEvent;

#endif 	/* __IMachineStateChangedEvent_FWD_DEFINED__ */


#ifndef __IExtPackInstalledEvent_FWD_DEFINED__
#define __IExtPackInstalledEvent_FWD_DEFINED__
typedef interface IExtPackInstalledEvent IExtPackInstalledEvent;

#endif 	/* __IExtPackInstalledEvent_FWD_DEFINED__ */


#ifndef __IExtPackUninstalledEvent_FWD_DEFINED__
#define __IExtPackUninstalledEvent_FWD_DEFINED__
typedef interface IExtPackUninstalledEvent IExtPackUninstalledEvent;

#endif 	/* __IExtPackUninstalledEvent_FWD_DEFINED__ */


#ifndef __IMachineDataChangedEvent_FWD_DEFINED__
#define __IMachineDataChangedEvent_FWD_DEFINED__
typedef interface IMachineDataChangedEvent IMachineDataChangedEvent;

#endif 	/* __IMachineDataChangedEvent_FWD_DEFINED__ */


#ifndef __IMediumRegisteredEvent_FWD_DEFINED__
#define __IMediumRegisteredEvent_FWD_DEFINED__
typedef interface IMediumRegisteredEvent IMediumRegisteredEvent;

#endif 	/* __IMediumRegisteredEvent_FWD_DEFINED__ */


#ifndef __IMediumConfigChangedEvent_FWD_DEFINED__
#define __IMediumConfigChangedEvent_FWD_DEFINED__
typedef interface IMediumConfigChangedEvent IMediumConfigChangedEvent;

#endif 	/* __IMediumConfigChangedEvent_FWD_DEFINED__ */


#ifndef __IMachineRegisteredEvent_FWD_DEFINED__
#define __IMachineRegisteredEvent_FWD_DEFINED__
typedef interface IMachineRegisteredEvent IMachineRegisteredEvent;

#endif 	/* __IMachineRegisteredEvent_FWD_DEFINED__ */


#ifndef __ISessionStateChangedEvent_FWD_DEFINED__
#define __ISessionStateChangedEvent_FWD_DEFINED__
typedef interface ISessionStateChangedEvent ISessionStateChangedEvent;

#endif 	/* __ISessionStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestPropertyChangedEvent_FWD_DEFINED__
#define __IGuestPropertyChangedEvent_FWD_DEFINED__
typedef interface IGuestPropertyChangedEvent IGuestPropertyChangedEvent;

#endif 	/* __IGuestPropertyChangedEvent_FWD_DEFINED__ */


#ifndef __ISnapshotEvent_FWD_DEFINED__
#define __ISnapshotEvent_FWD_DEFINED__
typedef interface ISnapshotEvent ISnapshotEvent;

#endif 	/* __ISnapshotEvent_FWD_DEFINED__ */


#ifndef __ISnapshotTakenEvent_FWD_DEFINED__
#define __ISnapshotTakenEvent_FWD_DEFINED__
typedef interface ISnapshotTakenEvent ISnapshotTakenEvent;

#endif 	/* __ISnapshotTakenEvent_FWD_DEFINED__ */


#ifndef __ISnapshotDeletedEvent_FWD_DEFINED__
#define __ISnapshotDeletedEvent_FWD_DEFINED__
typedef interface ISnapshotDeletedEvent ISnapshotDeletedEvent;

#endif 	/* __ISnapshotDeletedEvent_FWD_DEFINED__ */


#ifndef __ISnapshotRestoredEvent_FWD_DEFINED__
#define __ISnapshotRestoredEvent_FWD_DEFINED__
typedef interface ISnapshotRestoredEvent ISnapshotRestoredEvent;

#endif 	/* __ISnapshotRestoredEvent_FWD_DEFINED__ */


#ifndef __ISnapshotChangedEvent_FWD_DEFINED__
#define __ISnapshotChangedEvent_FWD_DEFINED__
typedef interface ISnapshotChangedEvent ISnapshotChangedEvent;

#endif 	/* __ISnapshotChangedEvent_FWD_DEFINED__ */


#ifndef __IMousePointerShapeChangedEvent_FWD_DEFINED__
#define __IMousePointerShapeChangedEvent_FWD_DEFINED__
typedef interface IMousePointerShapeChangedEvent IMousePointerShapeChangedEvent;

#endif 	/* __IMousePointerShapeChangedEvent_FWD_DEFINED__ */


#ifndef __IMouseCapabilityChangedEvent_FWD_DEFINED__
#define __IMouseCapabilityChangedEvent_FWD_DEFINED__
typedef interface IMouseCapabilityChangedEvent IMouseCapabilityChangedEvent;

#endif 	/* __IMouseCapabilityChangedEvent_FWD_DEFINED__ */


#ifndef __IKeyboardLedsChangedEvent_FWD_DEFINED__
#define __IKeyboardLedsChangedEvent_FWD_DEFINED__
typedef interface IKeyboardLedsChangedEvent IKeyboardLedsChangedEvent;

#endif 	/* __IKeyboardLedsChangedEvent_FWD_DEFINED__ */


#ifndef __IStateChangedEvent_FWD_DEFINED__
#define __IStateChangedEvent_FWD_DEFINED__
typedef interface IStateChangedEvent IStateChangedEvent;

#endif 	/* __IStateChangedEvent_FWD_DEFINED__ */


#ifndef __IAdditionsStateChangedEvent_FWD_DEFINED__
#define __IAdditionsStateChangedEvent_FWD_DEFINED__
typedef interface IAdditionsStateChangedEvent IAdditionsStateChangedEvent;

#endif 	/* __IAdditionsStateChangedEvent_FWD_DEFINED__ */


#ifndef __INetworkAdapterChangedEvent_FWD_DEFINED__
#define __INetworkAdapterChangedEvent_FWD_DEFINED__
typedef interface INetworkAdapterChangedEvent INetworkAdapterChangedEvent;

#endif 	/* __INetworkAdapterChangedEvent_FWD_DEFINED__ */


#ifndef __IAudioAdapterChangedEvent_FWD_DEFINED__
#define __IAudioAdapterChangedEvent_FWD_DEFINED__
typedef interface IAudioAdapterChangedEvent IAudioAdapterChangedEvent;

#endif 	/* __IAudioAdapterChangedEvent_FWD_DEFINED__ */


#ifndef __ISerialPortChangedEvent_FWD_DEFINED__
#define __ISerialPortChangedEvent_FWD_DEFINED__
typedef interface ISerialPortChangedEvent ISerialPortChangedEvent;

#endif 	/* __ISerialPortChangedEvent_FWD_DEFINED__ */


#ifndef __IParallelPortChangedEvent_FWD_DEFINED__
#define __IParallelPortChangedEvent_FWD_DEFINED__
typedef interface IParallelPortChangedEvent IParallelPortChangedEvent;

#endif 	/* __IParallelPortChangedEvent_FWD_DEFINED__ */


#ifndef __IStorageControllerChangedEvent_FWD_DEFINED__
#define __IStorageControllerChangedEvent_FWD_DEFINED__
typedef interface IStorageControllerChangedEvent IStorageControllerChangedEvent;

#endif 	/* __IStorageControllerChangedEvent_FWD_DEFINED__ */


#ifndef __IMediumChangedEvent_FWD_DEFINED__
#define __IMediumChangedEvent_FWD_DEFINED__
typedef interface IMediumChangedEvent IMediumChangedEvent;

#endif 	/* __IMediumChangedEvent_FWD_DEFINED__ */


#ifndef __IClipboardModeChangedEvent_FWD_DEFINED__
#define __IClipboardModeChangedEvent_FWD_DEFINED__
typedef interface IClipboardModeChangedEvent IClipboardModeChangedEvent;

#endif 	/* __IClipboardModeChangedEvent_FWD_DEFINED__ */


#ifndef __IClipboardFileTransferModeChangedEvent_FWD_DEFINED__
#define __IClipboardFileTransferModeChangedEvent_FWD_DEFINED__
typedef interface IClipboardFileTransferModeChangedEvent IClipboardFileTransferModeChangedEvent;

#endif 	/* __IClipboardFileTransferModeChangedEvent_FWD_DEFINED__ */


#ifndef __IClipboardEvent_FWD_DEFINED__
#define __IClipboardEvent_FWD_DEFINED__
typedef interface IClipboardEvent IClipboardEvent;

#endif 	/* __IClipboardEvent_FWD_DEFINED__ */


#ifndef __IClipboardErrorEvent_FWD_DEFINED__
#define __IClipboardErrorEvent_FWD_DEFINED__
typedef interface IClipboardErrorEvent IClipboardErrorEvent;

#endif 	/* __IClipboardErrorEvent_FWD_DEFINED__ */


#ifndef __IDnDModeChangedEvent_FWD_DEFINED__
#define __IDnDModeChangedEvent_FWD_DEFINED__
typedef interface IDnDModeChangedEvent IDnDModeChangedEvent;

#endif 	/* __IDnDModeChangedEvent_FWD_DEFINED__ */


#ifndef __ICPUChangedEvent_FWD_DEFINED__
#define __ICPUChangedEvent_FWD_DEFINED__
typedef interface ICPUChangedEvent ICPUChangedEvent;

#endif 	/* __ICPUChangedEvent_FWD_DEFINED__ */


#ifndef __ICPUExecutionCapChangedEvent_FWD_DEFINED__
#define __ICPUExecutionCapChangedEvent_FWD_DEFINED__
typedef interface ICPUExecutionCapChangedEvent ICPUExecutionCapChangedEvent;

#endif 	/* __ICPUExecutionCapChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestKeyboardEvent_FWD_DEFINED__
#define __IGuestKeyboardEvent_FWD_DEFINED__
typedef interface IGuestKeyboardEvent IGuestKeyboardEvent;

#endif 	/* __IGuestKeyboardEvent_FWD_DEFINED__ */


#ifndef __IGuestMouseEvent_FWD_DEFINED__
#define __IGuestMouseEvent_FWD_DEFINED__
typedef interface IGuestMouseEvent IGuestMouseEvent;

#endif 	/* __IGuestMouseEvent_FWD_DEFINED__ */


#ifndef __IGuestMultiTouchEvent_FWD_DEFINED__
#define __IGuestMultiTouchEvent_FWD_DEFINED__
typedef interface IGuestMultiTouchEvent IGuestMultiTouchEvent;

#endif 	/* __IGuestMultiTouchEvent_FWD_DEFINED__ */


#ifndef __IGuestSessionEvent_FWD_DEFINED__
#define __IGuestSessionEvent_FWD_DEFINED__
typedef interface IGuestSessionEvent IGuestSessionEvent;

#endif 	/* __IGuestSessionEvent_FWD_DEFINED__ */


#ifndef __IGuestSessionStateChangedEvent_FWD_DEFINED__
#define __IGuestSessionStateChangedEvent_FWD_DEFINED__
typedef interface IGuestSessionStateChangedEvent IGuestSessionStateChangedEvent;

#endif 	/* __IGuestSessionStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestSessionRegisteredEvent_FWD_DEFINED__
#define __IGuestSessionRegisteredEvent_FWD_DEFINED__
typedef interface IGuestSessionRegisteredEvent IGuestSessionRegisteredEvent;

#endif 	/* __IGuestSessionRegisteredEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessEvent_FWD_DEFINED__
#define __IGuestProcessEvent_FWD_DEFINED__
typedef interface IGuestProcessEvent IGuestProcessEvent;

#endif 	/* __IGuestProcessEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessRegisteredEvent_FWD_DEFINED__
#define __IGuestProcessRegisteredEvent_FWD_DEFINED__
typedef interface IGuestProcessRegisteredEvent IGuestProcessRegisteredEvent;

#endif 	/* __IGuestProcessRegisteredEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessStateChangedEvent_FWD_DEFINED__
#define __IGuestProcessStateChangedEvent_FWD_DEFINED__
typedef interface IGuestProcessStateChangedEvent IGuestProcessStateChangedEvent;

#endif 	/* __IGuestProcessStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessIOEvent_FWD_DEFINED__
#define __IGuestProcessIOEvent_FWD_DEFINED__
typedef interface IGuestProcessIOEvent IGuestProcessIOEvent;

#endif 	/* __IGuestProcessIOEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessInputNotifyEvent_FWD_DEFINED__
#define __IGuestProcessInputNotifyEvent_FWD_DEFINED__
typedef interface IGuestProcessInputNotifyEvent IGuestProcessInputNotifyEvent;

#endif 	/* __IGuestProcessInputNotifyEvent_FWD_DEFINED__ */


#ifndef __IGuestProcessOutputEvent_FWD_DEFINED__
#define __IGuestProcessOutputEvent_FWD_DEFINED__
typedef interface IGuestProcessOutputEvent IGuestProcessOutputEvent;

#endif 	/* __IGuestProcessOutputEvent_FWD_DEFINED__ */


#ifndef __IGuestDirectoryEvent_FWD_DEFINED__
#define __IGuestDirectoryEvent_FWD_DEFINED__
typedef interface IGuestDirectoryEvent IGuestDirectoryEvent;

#endif 	/* __IGuestDirectoryEvent_FWD_DEFINED__ */


#ifndef __IGuestDirectoryRegisteredEvent_FWD_DEFINED__
#define __IGuestDirectoryRegisteredEvent_FWD_DEFINED__
typedef interface IGuestDirectoryRegisteredEvent IGuestDirectoryRegisteredEvent;

#endif 	/* __IGuestDirectoryRegisteredEvent_FWD_DEFINED__ */


#ifndef __IGuestDirectoryStateChangedEvent_FWD_DEFINED__
#define __IGuestDirectoryStateChangedEvent_FWD_DEFINED__
typedef interface IGuestDirectoryStateChangedEvent IGuestDirectoryStateChangedEvent;

#endif 	/* __IGuestDirectoryStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestDirectoryReadEvent_FWD_DEFINED__
#define __IGuestDirectoryReadEvent_FWD_DEFINED__
typedef interface IGuestDirectoryReadEvent IGuestDirectoryReadEvent;

#endif 	/* __IGuestDirectoryReadEvent_FWD_DEFINED__ */


#ifndef __IGuestFileEvent_FWD_DEFINED__
#define __IGuestFileEvent_FWD_DEFINED__
typedef interface IGuestFileEvent IGuestFileEvent;

#endif 	/* __IGuestFileEvent_FWD_DEFINED__ */


#ifndef __IGuestFileRegisteredEvent_FWD_DEFINED__
#define __IGuestFileRegisteredEvent_FWD_DEFINED__
typedef interface IGuestFileRegisteredEvent IGuestFileRegisteredEvent;

#endif 	/* __IGuestFileRegisteredEvent_FWD_DEFINED__ */


#ifndef __IGuestFileStateChangedEvent_FWD_DEFINED__
#define __IGuestFileStateChangedEvent_FWD_DEFINED__
typedef interface IGuestFileStateChangedEvent IGuestFileStateChangedEvent;

#endif 	/* __IGuestFileStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestFileIOEvent_FWD_DEFINED__
#define __IGuestFileIOEvent_FWD_DEFINED__
typedef interface IGuestFileIOEvent IGuestFileIOEvent;

#endif 	/* __IGuestFileIOEvent_FWD_DEFINED__ */


#ifndef __IGuestFileOffsetChangedEvent_FWD_DEFINED__
#define __IGuestFileOffsetChangedEvent_FWD_DEFINED__
typedef interface IGuestFileOffsetChangedEvent IGuestFileOffsetChangedEvent;

#endif 	/* __IGuestFileOffsetChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestFileSizeChangedEvent_FWD_DEFINED__
#define __IGuestFileSizeChangedEvent_FWD_DEFINED__
typedef interface IGuestFileSizeChangedEvent IGuestFileSizeChangedEvent;

#endif 	/* __IGuestFileSizeChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestFileReadEvent_FWD_DEFINED__
#define __IGuestFileReadEvent_FWD_DEFINED__
typedef interface IGuestFileReadEvent IGuestFileReadEvent;

#endif 	/* __IGuestFileReadEvent_FWD_DEFINED__ */


#ifndef __IGuestFileWriteEvent_FWD_DEFINED__
#define __IGuestFileWriteEvent_FWD_DEFINED__
typedef interface IGuestFileWriteEvent IGuestFileWriteEvent;

#endif 	/* __IGuestFileWriteEvent_FWD_DEFINED__ */


#ifndef __IVRDEServerChangedEvent_FWD_DEFINED__
#define __IVRDEServerChangedEvent_FWD_DEFINED__
typedef interface IVRDEServerChangedEvent IVRDEServerChangedEvent;

#endif 	/* __IVRDEServerChangedEvent_FWD_DEFINED__ */


#ifndef __IVRDEServerInfoChangedEvent_FWD_DEFINED__
#define __IVRDEServerInfoChangedEvent_FWD_DEFINED__
typedef interface IVRDEServerInfoChangedEvent IVRDEServerInfoChangedEvent;

#endif 	/* __IVRDEServerInfoChangedEvent_FWD_DEFINED__ */


#ifndef __IRecordingStateChangedEvent_FWD_DEFINED__
#define __IRecordingStateChangedEvent_FWD_DEFINED__
typedef interface IRecordingStateChangedEvent IRecordingStateChangedEvent;

#endif 	/* __IRecordingStateChangedEvent_FWD_DEFINED__ */


#ifndef __IRecordingScreenStateChangedEvent_FWD_DEFINED__
#define __IRecordingScreenStateChangedEvent_FWD_DEFINED__
typedef interface IRecordingScreenStateChangedEvent IRecordingScreenStateChangedEvent;

#endif 	/* __IRecordingScreenStateChangedEvent_FWD_DEFINED__ */


#ifndef __IUSBControllerChangedEvent_FWD_DEFINED__
#define __IUSBControllerChangedEvent_FWD_DEFINED__
typedef interface IUSBControllerChangedEvent IUSBControllerChangedEvent;

#endif 	/* __IUSBControllerChangedEvent_FWD_DEFINED__ */


#ifndef __IUSBDeviceStateChangedEvent_FWD_DEFINED__
#define __IUSBDeviceStateChangedEvent_FWD_DEFINED__
typedef interface IUSBDeviceStateChangedEvent IUSBDeviceStateChangedEvent;

#endif 	/* __IUSBDeviceStateChangedEvent_FWD_DEFINED__ */


#ifndef __ISharedFolderChangedEvent_FWD_DEFINED__
#define __ISharedFolderChangedEvent_FWD_DEFINED__
typedef interface ISharedFolderChangedEvent ISharedFolderChangedEvent;

#endif 	/* __ISharedFolderChangedEvent_FWD_DEFINED__ */


#ifndef __IRuntimeErrorEvent_FWD_DEFINED__
#define __IRuntimeErrorEvent_FWD_DEFINED__
typedef interface IRuntimeErrorEvent IRuntimeErrorEvent;

#endif 	/* __IRuntimeErrorEvent_FWD_DEFINED__ */


#ifndef __IEventSourceChangedEvent_FWD_DEFINED__
#define __IEventSourceChangedEvent_FWD_DEFINED__
typedef interface IEventSourceChangedEvent IEventSourceChangedEvent;

#endif 	/* __IEventSourceChangedEvent_FWD_DEFINED__ */


#ifndef __IExtraDataChangedEvent_FWD_DEFINED__
#define __IExtraDataChangedEvent_FWD_DEFINED__
typedef interface IExtraDataChangedEvent IExtraDataChangedEvent;

#endif 	/* __IExtraDataChangedEvent_FWD_DEFINED__ */


#ifndef __IVetoEvent_FWD_DEFINED__
#define __IVetoEvent_FWD_DEFINED__
typedef interface IVetoEvent IVetoEvent;

#endif 	/* __IVetoEvent_FWD_DEFINED__ */


#ifndef __IExtraDataCanChangeEvent_FWD_DEFINED__
#define __IExtraDataCanChangeEvent_FWD_DEFINED__
typedef interface IExtraDataCanChangeEvent IExtraDataCanChangeEvent;

#endif 	/* __IExtraDataCanChangeEvent_FWD_DEFINED__ */


#ifndef __ICanShowWindowEvent_FWD_DEFINED__
#define __ICanShowWindowEvent_FWD_DEFINED__
typedef interface ICanShowWindowEvent ICanShowWindowEvent;

#endif 	/* __ICanShowWindowEvent_FWD_DEFINED__ */


#ifndef __IShowWindowEvent_FWD_DEFINED__
#define __IShowWindowEvent_FWD_DEFINED__
typedef interface IShowWindowEvent IShowWindowEvent;

#endif 	/* __IShowWindowEvent_FWD_DEFINED__ */


#ifndef __INATRedirectEvent_FWD_DEFINED__
#define __INATRedirectEvent_FWD_DEFINED__
typedef interface INATRedirectEvent INATRedirectEvent;

#endif 	/* __INATRedirectEvent_FWD_DEFINED__ */


#ifndef __IHostAudioDeviceChangedEvent_FWD_DEFINED__
#define __IHostAudioDeviceChangedEvent_FWD_DEFINED__
typedef interface IHostAudioDeviceChangedEvent IHostAudioDeviceChangedEvent;

#endif 	/* __IHostAudioDeviceChangedEvent_FWD_DEFINED__ */


#ifndef __IHostPCIDevicePlugEvent_FWD_DEFINED__
#define __IHostPCIDevicePlugEvent_FWD_DEFINED__
typedef interface IHostPCIDevicePlugEvent IHostPCIDevicePlugEvent;

#endif 	/* __IHostPCIDevicePlugEvent_FWD_DEFINED__ */


#ifndef __IVBoxSVCAvailabilityChangedEvent_FWD_DEFINED__
#define __IVBoxSVCAvailabilityChangedEvent_FWD_DEFINED__
typedef interface IVBoxSVCAvailabilityChangedEvent IVBoxSVCAvailabilityChangedEvent;

#endif 	/* __IVBoxSVCAvailabilityChangedEvent_FWD_DEFINED__ */


#ifndef __IBandwidthGroupChangedEvent_FWD_DEFINED__
#define __IBandwidthGroupChangedEvent_FWD_DEFINED__
typedef interface IBandwidthGroupChangedEvent IBandwidthGroupChangedEvent;

#endif 	/* __IBandwidthGroupChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestMonitorChangedEvent_FWD_DEFINED__
#define __IGuestMonitorChangedEvent_FWD_DEFINED__
typedef interface IGuestMonitorChangedEvent IGuestMonitorChangedEvent;

#endif 	/* __IGuestMonitorChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestUserStateChangedEvent_FWD_DEFINED__
#define __IGuestUserStateChangedEvent_FWD_DEFINED__
typedef interface IGuestUserStateChangedEvent IGuestUserStateChangedEvent;

#endif 	/* __IGuestUserStateChangedEvent_FWD_DEFINED__ */


#ifndef __IStorageDeviceChangedEvent_FWD_DEFINED__
#define __IStorageDeviceChangedEvent_FWD_DEFINED__
typedef interface IStorageDeviceChangedEvent IStorageDeviceChangedEvent;

#endif 	/* __IStorageDeviceChangedEvent_FWD_DEFINED__ */


#ifndef __INATNetworkChangedEvent_FWD_DEFINED__
#define __INATNetworkChangedEvent_FWD_DEFINED__
typedef interface INATNetworkChangedEvent INATNetworkChangedEvent;

#endif 	/* __INATNetworkChangedEvent_FWD_DEFINED__ */


#ifndef __INATNetworkStartStopEvent_FWD_DEFINED__
#define __INATNetworkStartStopEvent_FWD_DEFINED__
typedef interface INATNetworkStartStopEvent INATNetworkStartStopEvent;

#endif 	/* __INATNetworkStartStopEvent_FWD_DEFINED__ */


#ifndef __INATNetworkAlterEvent_FWD_DEFINED__
#define __INATNetworkAlterEvent_FWD_DEFINED__
typedef interface INATNetworkAlterEvent INATNetworkAlterEvent;

#endif 	/* __INATNetworkAlterEvent_FWD_DEFINED__ */


#ifndef __INATNetworkCreationDeletionEvent_FWD_DEFINED__
#define __INATNetworkCreationDeletionEvent_FWD_DEFINED__
typedef interface INATNetworkCreationDeletionEvent INATNetworkCreationDeletionEvent;

#endif 	/* __INATNetworkCreationDeletionEvent_FWD_DEFINED__ */


#ifndef __INATNetworkSettingEvent_FWD_DEFINED__
#define __INATNetworkSettingEvent_FWD_DEFINED__
typedef interface INATNetworkSettingEvent INATNetworkSettingEvent;

#endif 	/* __INATNetworkSettingEvent_FWD_DEFINED__ */


#ifndef __INATNetworkPortForwardEvent_FWD_DEFINED__
#define __INATNetworkPortForwardEvent_FWD_DEFINED__
typedef interface INATNetworkPortForwardEvent INATNetworkPortForwardEvent;

#endif 	/* __INATNetworkPortForwardEvent_FWD_DEFINED__ */


#ifndef __IHostNameResolutionConfigurationChangeEvent_FWD_DEFINED__
#define __IHostNameResolutionConfigurationChangeEvent_FWD_DEFINED__
typedef interface IHostNameResolutionConfigurationChangeEvent IHostNameResolutionConfigurationChangeEvent;

#endif 	/* __IHostNameResolutionConfigurationChangeEvent_FWD_DEFINED__ */


#ifndef __IProgressEvent_FWD_DEFINED__
#define __IProgressEvent_FWD_DEFINED__
typedef interface IProgressEvent IProgressEvent;

#endif 	/* __IProgressEvent_FWD_DEFINED__ */


#ifndef __IProgressCreatedEvent_FWD_DEFINED__
#define __IProgressCreatedEvent_FWD_DEFINED__
typedef interface IProgressCreatedEvent IProgressCreatedEvent;

#endif 	/* __IProgressCreatedEvent_FWD_DEFINED__ */


#ifndef __IProgressPercentageChangedEvent_FWD_DEFINED__
#define __IProgressPercentageChangedEvent_FWD_DEFINED__
typedef interface IProgressPercentageChangedEvent IProgressPercentageChangedEvent;

#endif 	/* __IProgressPercentageChangedEvent_FWD_DEFINED__ */


#ifndef __IProgressTaskCompletedEvent_FWD_DEFINED__
#define __IProgressTaskCompletedEvent_FWD_DEFINED__
typedef interface IProgressTaskCompletedEvent IProgressTaskCompletedEvent;

#endif 	/* __IProgressTaskCompletedEvent_FWD_DEFINED__ */


#ifndef __ICursorPositionChangedEvent_FWD_DEFINED__
#define __ICursorPositionChangedEvent_FWD_DEFINED__
typedef interface ICursorPositionChangedEvent ICursorPositionChangedEvent;

#endif 	/* __ICursorPositionChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestAdditionsStatusChangedEvent_FWD_DEFINED__
#define __IGuestAdditionsStatusChangedEvent_FWD_DEFINED__
typedef interface IGuestAdditionsStatusChangedEvent IGuestAdditionsStatusChangedEvent;

#endif 	/* __IGuestAdditionsStatusChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestMonitorInfoChangedEvent_FWD_DEFINED__
#define __IGuestMonitorInfoChangedEvent_FWD_DEFINED__
typedef interface IGuestMonitorInfoChangedEvent IGuestMonitorInfoChangedEvent;

#endif 	/* __IGuestMonitorInfoChangedEvent_FWD_DEFINED__ */


#ifndef __IUpdateAgentEvent_FWD_DEFINED__
#define __IUpdateAgentEvent_FWD_DEFINED__
typedef interface IUpdateAgentEvent IUpdateAgentEvent;

#endif 	/* __IUpdateAgentEvent_FWD_DEFINED__ */


#ifndef __IUpdateAgentSettingsChangedEvent_FWD_DEFINED__
#define __IUpdateAgentSettingsChangedEvent_FWD_DEFINED__
typedef interface IUpdateAgentSettingsChangedEvent IUpdateAgentSettingsChangedEvent;

#endif 	/* __IUpdateAgentSettingsChangedEvent_FWD_DEFINED__ */


#ifndef __IUpdateAgentErrorEvent_FWD_DEFINED__
#define __IUpdateAgentErrorEvent_FWD_DEFINED__
typedef interface IUpdateAgentErrorEvent IUpdateAgentErrorEvent;

#endif 	/* __IUpdateAgentErrorEvent_FWD_DEFINED__ */


#ifndef __IUpdateAgentAvailableEvent_FWD_DEFINED__
#define __IUpdateAgentAvailableEvent_FWD_DEFINED__
typedef interface IUpdateAgentAvailableEvent IUpdateAgentAvailableEvent;

#endif 	/* __IUpdateAgentAvailableEvent_FWD_DEFINED__ */


#ifndef __IUpdateAgentStateChangedEvent_FWD_DEFINED__
#define __IUpdateAgentStateChangedEvent_FWD_DEFINED__
typedef interface IUpdateAgentStateChangedEvent IUpdateAgentStateChangedEvent;

#endif 	/* __IUpdateAgentStateChangedEvent_FWD_DEFINED__ */


#ifndef __IGuestDebugControlChangedEvent_FWD_DEFINED__
#define __IGuestDebugControlChangedEvent_FWD_DEFINED__
typedef interface IGuestDebugControlChangedEvent IGuestDebugControlChangedEvent;

#endif 	/* __IGuestDebugControlChangedEvent_FWD_DEFINED__ */


#ifndef __IMachineGroupsChangedEvent_FWD_DEFINED__
#define __IMachineGroupsChangedEvent_FWD_DEFINED__
typedef interface IMachineGroupsChangedEvent IMachineGroupsChangedEvent;

#endif 	/* __IMachineGroupsChangedEvent_FWD_DEFINED__ */


#ifndef __IStringArray_FWD_DEFINED__
#define __IStringArray_FWD_DEFINED__
typedef interface IStringArray IStringArray;

#endif 	/* __IStringArray_FWD_DEFINED__ */


#ifndef __IFormValue_FWD_DEFINED__
#define __IFormValue_FWD_DEFINED__
typedef interface IFormValue IFormValue;

#endif 	/* __IFormValue_FWD_DEFINED__ */


#ifndef __IBooleanFormValue_FWD_DEFINED__
#define __IBooleanFormValue_FWD_DEFINED__
typedef interface IBooleanFormValue IBooleanFormValue;

#endif 	/* __IBooleanFormValue_FWD_DEFINED__ */


#ifndef __IRangedIntegerFormValue_FWD_DEFINED__
#define __IRangedIntegerFormValue_FWD_DEFINED__
typedef interface IRangedIntegerFormValue IRangedIntegerFormValue;

#endif 	/* __IRangedIntegerFormValue_FWD_DEFINED__ */


#ifndef __IRangedInteger64FormValue_FWD_DEFINED__
#define __IRangedInteger64FormValue_FWD_DEFINED__
typedef interface IRangedInteger64FormValue IRangedInteger64FormValue;

#endif 	/* __IRangedInteger64FormValue_FWD_DEFINED__ */


#ifndef __IStringFormValue_FWD_DEFINED__
#define __IStringFormValue_FWD_DEFINED__
typedef interface IStringFormValue IStringFormValue;

#endif 	/* __IStringFormValue_FWD_DEFINED__ */


#ifndef __IChoiceFormValue_FWD_DEFINED__
#define __IChoiceFormValue_FWD_DEFINED__
typedef interface IChoiceFormValue IChoiceFormValue;

#endif 	/* __IChoiceFormValue_FWD_DEFINED__ */


#ifndef __IForm_FWD_DEFINED__
#define __IForm_FWD_DEFINED__
typedef interface IForm IForm;

#endif 	/* __IForm_FWD_DEFINED__ */


#ifndef __IVirtualSystemDescriptionForm_FWD_DEFINED__
#define __IVirtualSystemDescriptionForm_FWD_DEFINED__
typedef interface IVirtualSystemDescriptionForm IVirtualSystemDescriptionForm;

#endif 	/* __IVirtualSystemDescriptionForm_FWD_DEFINED__ */


#ifndef __ICloudNetworkGatewayInfo_FWD_DEFINED__
#define __ICloudNetworkGatewayInfo_FWD_DEFINED__
typedef interface ICloudNetworkGatewayInfo ICloudNetworkGatewayInfo;

#endif 	/* __ICloudNetworkGatewayInfo_FWD_DEFINED__ */


#ifndef __ICloudNetworkEnvironmentInfo_FWD_DEFINED__
#define __ICloudNetworkEnvironmentInfo_FWD_DEFINED__
typedef interface ICloudNetworkEnvironmentInfo ICloudNetworkEnvironmentInfo;

#endif 	/* __ICloudNetworkEnvironmentInfo_FWD_DEFINED__ */


#ifndef __ICloudMachine_FWD_DEFINED__
#define __ICloudMachine_FWD_DEFINED__
typedef interface ICloudMachine ICloudMachine;

#endif 	/* __ICloudMachine_FWD_DEFINED__ */


#ifndef __ICloudClient_FWD_DEFINED__
#define __ICloudClient_FWD_DEFINED__
typedef interface ICloudClient ICloudClient;

#endif 	/* __ICloudClient_FWD_DEFINED__ */


#ifndef __ICloudProfile_FWD_DEFINED__
#define __ICloudProfile_FWD_DEFINED__
typedef interface ICloudProfile ICloudProfile;

#endif 	/* __ICloudProfile_FWD_DEFINED__ */


#ifndef __ICloudProvider_FWD_DEFINED__
#define __ICloudProvider_FWD_DEFINED__
typedef interface ICloudProvider ICloudProvider;

#endif 	/* __ICloudProvider_FWD_DEFINED__ */


#ifndef __ICloudProviderManager_FWD_DEFINED__
#define __ICloudProviderManager_FWD_DEFINED__
typedef interface ICloudProviderManager ICloudProviderManager;

#endif 	/* __ICloudProviderManager_FWD_DEFINED__ */


#ifndef __ICloudProviderListChangedEvent_FWD_DEFINED__
#define __ICloudProviderListChangedEvent_FWD_DEFINED__
typedef interface ICloudProviderListChangedEvent ICloudProviderListChangedEvent;

#endif 	/* __ICloudProviderListChangedEvent_FWD_DEFINED__ */


#ifndef __ICloudProviderRegisteredEvent_FWD_DEFINED__
#define __ICloudProviderRegisteredEvent_FWD_DEFINED__
typedef interface ICloudProviderRegisteredEvent ICloudProviderRegisteredEvent;

#endif 	/* __ICloudProviderRegisteredEvent_FWD_DEFINED__ */


#ifndef __ICloudProviderUninstallEvent_FWD_DEFINED__
#define __ICloudProviderUninstallEvent_FWD_DEFINED__
typedef interface ICloudProviderUninstallEvent ICloudProviderUninstallEvent;

#endif 	/* __ICloudProviderUninstallEvent_FWD_DEFINED__ */


#ifndef __ICloudProfileRegisteredEvent_FWD_DEFINED__
#define __ICloudProfileRegisteredEvent_FWD_DEFINED__
typedef interface ICloudProfileRegisteredEvent ICloudProfileRegisteredEvent;

#endif 	/* __ICloudProfileRegisteredEvent_FWD_DEFINED__ */


#ifndef __ICloudProfileChangedEvent_FWD_DEFINED__
#define __ICloudProfileChangedEvent_FWD_DEFINED__
typedef interface ICloudProfileChangedEvent ICloudProfileChangedEvent;

#endif 	/* __ICloudProfileChangedEvent_FWD_DEFINED__ */


#ifndef __ILanguageChangedEvent_FWD_DEFINED__
#define __ILanguageChangedEvent_FWD_DEFINED__
typedef interface ILanguageChangedEvent ILanguageChangedEvent;

#endif 	/* __ILanguageChangedEvent_FWD_DEFINED__ */


#ifndef __IVBoxSVCRegistration_FWD_DEFINED__
#define __IVBoxSVCRegistration_FWD_DEFINED__
typedef interface IVBoxSVCRegistration IVBoxSVCRegistration;

#endif 	/* __IVBoxSVCRegistration_FWD_DEFINED__ */


#ifndef __IVirtualBoxSDS_FWD_DEFINED__
#define __IVirtualBoxSDS_FWD_DEFINED__
typedef interface IVirtualBoxSDS IVirtualBoxSDS;

#endif 	/* __IVirtualBoxSDS_FWD_DEFINED__ */


#ifndef __VirtualBox_FWD_DEFINED__
#define __VirtualBox_FWD_DEFINED__

#ifdef __cplusplus
typedef class VirtualBox VirtualBox;
#else
typedef struct VirtualBox VirtualBox;
#endif /* __cplusplus */

#endif 	/* __VirtualBox_FWD_DEFINED__ */


#ifndef __VirtualBoxClient_FWD_DEFINED__
#define __VirtualBoxClient_FWD_DEFINED__

#ifdef __cplusplus
typedef class VirtualBoxClient VirtualBoxClient;
#else
typedef struct VirtualBoxClient VirtualBoxClient;
#endif /* __cplusplus */

#endif 	/* __VirtualBoxClient_FWD_DEFINED__ */


#ifndef __Session_FWD_DEFINED__
#define __Session_FWD_DEFINED__

#ifdef __cplusplus
typedef class Session Session;
#else
typedef struct Session Session;
#endif /* __cplusplus */

#endif 	/* __Session_FWD_DEFINED__ */


#ifndef __VirtualBoxSDS_FWD_DEFINED__
#define __VirtualBoxSDS_FWD_DEFINED__

#ifdef __cplusplus
typedef class VirtualBoxSDS VirtualBoxSDS;
#else
typedef struct VirtualBoxSDS VirtualBoxSDS;
#endif /* __cplusplus */

#endif 	/* __VirtualBoxSDS_FWD_DEFINED__ */


/* header files for imported files */
#include "unknwn.h"

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_VirtualBox_0000_0000 */
/* [local] */ 




enum {
    kTypeLibraryMajorVersion = 1,
    kTypeLibraryMinorVersion = 3
};
#define GUEST_OS_ID_STR_X86(a_szOSid)     a_szOSid
#if 1 /* 2023-10-06: We stick with legacy variant, see bugref{10384#c19}. */
# define GUEST_OS_ID_STR_X64(a_szOSid)    a_szOSid  "_64"
# define GUEST_OS_ID_STYLE_LEGACY
#else
# define GUEST_OS_ID_STR_X64(a_szOSid)    a_szOSid  "_x64"
# define GUEST_OS_ID_STYLE_PARTIAL_CLEANUP
#endif
#define GUEST_OS_ID_STR_A32(a_szOSid)     a_szOSid  "_arm32"
#define GUEST_OS_ID_STR_A64(a_szOSid)     a_szOSid  "_arm64"
#define GUEST_OS_ID_STR_AMD64(a_szOSid)   GUEST_OS_ID_STR_X64(a_szOSid)
#define GUEST_OS_ID_STR_ARM32(a_szOSid)   GUEST_OS_ID_STR_A32(a_szOSid)
#define GUEST_OS_ID_STR_ARM64(a_szOSid)   GUEST_OS_ID_STR_A64(a_szOSid)
#define GUEST_OS_ID_STR_PARTIAL(a_szOSidPart) a_szOSidPart
















































































































































































































































typedef /* [public][v1_enum][uuid] */  DECLSPEC_UUID("6ad3da60-5ed2-49cd-b882-96a72308ebf6") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0001
    {
        SettingsVersion_Null	= 0,
        SettingsVersion_v1_0	= 1,
        SettingsVersion_v1_1	= 2,
        SettingsVersion_v1_2	= 3,
        SettingsVersion_v1_3pre	= 4,
        SettingsVersion_v1_3	= 5,
        SettingsVersion_v1_4	= 6,
        SettingsVersion_v1_5	= 7,
        SettingsVersion_v1_6	= 8,
        SettingsVersion_v1_7	= 9,
        SettingsVersion_v1_8	= 10,
        SettingsVersion_v1_9	= 11,
        SettingsVersion_v1_10	= 12,
        SettingsVersion_v1_11	= 13,
        SettingsVersion_v1_12	= 14,
        SettingsVersion_v1_13	= 15,
        SettingsVersion_v1_14	= 16,
        SettingsVersion_v1_15	= 17,
        SettingsVersion_v1_16	= 18,
        SettingsVersion_v1_17	= 19,
        SettingsVersion_v1_18	= 20,
        SettingsVersion_v1_19	= 21,
        SettingsVersion_v1_20	= 22,
        SettingsVersion_Future	= 99999
    } 	SettingsVersion;

#define SettingsVersion_T SettingsVersion
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("1da0007c-ddf7-4be8-bcac-d84a1558785f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0002
    {
        AccessMode_ReadOnly	= 1,
        AccessMode_ReadWrite	= 2
    } 	AccessMode;

#define AccessMode_T AccessMode
typedef /* [public][public][public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("00bc01b5-00a4-48db-000a-9061008357aa") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0003
    {
        MachineState_Null	= 0,
        MachineState_PoweredOff	= 1,
        MachineState_Saved	= 2,
        MachineState_Teleported	= 3,
        MachineState_Aborted	= 4,
        MachineState_AbortedSaved	= 5,
        MachineState_Running	= 6,
        MachineState_Paused	= 7,
        MachineState_Stuck	= 8,
        MachineState_Teleporting	= 9,
        MachineState_LiveSnapshotting	= 10,
        MachineState_Starting	= 11,
        MachineState_Stopping	= 12,
        MachineState_Saving	= 13,
        MachineState_Restoring	= 14,
        MachineState_TeleportingPausedVM	= 15,
        MachineState_TeleportingIn	= 16,
        MachineState_DeletingSnapshotOnline	= 17,
        MachineState_DeletingSnapshotPaused	= 18,
        MachineState_OnlineSnapshotting	= 19,
        MachineState_RestoringSnapshot	= 20,
        MachineState_DeletingSnapshot	= 21,
        MachineState_SettingUp	= 22,
        MachineState_Snapshotting	= 23,
        MachineState_FirstOnline	= 6,
        MachineState_LastOnline	= 19,
        MachineState_FirstTransient	= 9,
        MachineState_LastTransient	= 23
    } 	MachineState;

#define MachineState_T MachineState
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("cf2700c0-ea4b-47ae-9725-7810114b94d8") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0004
    {
        SessionState_Null	= 0,
        SessionState_Unlocked	= 1,
        SessionState_Locked	= 2,
        SessionState_Spawning	= 3,
        SessionState_Unlocking	= 4
    } 	SessionState;

#define SessionState_T SessionState
typedef /* [public][public][public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("36e21926-1713-413d-8cf5-2f169b2cbcf3") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0005
    {
        PlatformArchitecture_None	= 0,
        PlatformArchitecture_x86	= 1,
        PlatformArchitecture_ARM	= 2
    } 	PlatformArchitecture;

#define PlatformArchitecture_T PlatformArchitecture
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("12906c63-9967-49c8-ba5a-6521adaf0185") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0006
    {
        CPUArchitecture_Any	= 0,
        CPUArchitecture_x86	= 1,
        CPUArchitecture_AMD64	= 2,
        CPUArchitecture_ARMv8_32	= 3,
        CPUArchitecture_ARMv8_64	= 4
    } 	CPUArchitecture;

#define CPUArchitecture_T CPUArchitecture
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("a754b765-3687-4a68-abb9-78dcf4c07d5f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0007
    {
        CPUPropertyTypeX86_Null	= 0,
        CPUPropertyTypeX86_PAE	= 1,
        CPUPropertyTypeX86_LongMode	= 2,
        CPUPropertyTypeX86_TripleFaultReset	= 3,
        CPUPropertyTypeX86_APIC	= 4,
        CPUPropertyTypeX86_X2APIC	= 5,
        CPUPropertyTypeX86_IBPBOnVMExit	= 6,
        CPUPropertyTypeX86_IBPBOnVMEntry	= 7,
        CPUPropertyTypeX86_HWVirt	= 8,
        CPUPropertyTypeX86_SpecCtrl	= 9,
        CPUPropertyTypeX86_SpecCtrlByHost	= 10,
        CPUPropertyTypeX86_L1DFlushOnEMTScheduling	= 11,
        CPUPropertyTypeX86_L1DFlushOnVMEntry	= 12,
        CPUPropertyTypeX86_MDSClearOnEMTScheduling	= 13,
        CPUPropertyTypeX86_MDSClearOnVMEntry	= 14
    } 	CPUPropertyTypeX86;

#define CPUPropertyTypeX86_T CPUPropertyTypeX86
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("00069d9c-00b5-460c-00dd-64250024f7aa") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0008
    {
        HWVirtExPropertyType_Null	= 0,
        HWVirtExPropertyType_Enabled	= 1,
        HWVirtExPropertyType_VPID	= 2,
        HWVirtExPropertyType_NestedPaging	= 3,
        HWVirtExPropertyType_UnrestrictedExecution	= 4,
        HWVirtExPropertyType_LargePages	= 5,
        HWVirtExPropertyType_Force	= 6,
        HWVirtExPropertyType_UseNativeApi	= 7,
        HWVirtExPropertyType_VirtVmsaveVmload	= 8
    } 	HWVirtExPropertyType;

#define HWVirtExPropertyType_T HWVirtExPropertyType
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("696453ec-3742-4a05-bead-658ccbf2c944") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0009
    {
        ParavirtProvider_None	= 0,
        ParavirtProvider_Default	= 1,
        ParavirtProvider_Legacy	= 2,
        ParavirtProvider_Minimal	= 3,
        ParavirtProvider_HyperV	= 4,
        ParavirtProvider_KVM	= 5
    } 	ParavirtProvider;

#define ParavirtProvider_T ParavirtProvider
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("678aaf14-2815-4c3e-b20a-e86ed0216498") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0010
    {
        LockType_Null	= 0,
        LockType_Shared	= 1,
        LockType_Write	= 2,
        LockType_VM	= 3
    } 	LockType;

#define LockType_T LockType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("A13C02CB-0C2C-421E-8317-AC0E8AAA153A") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0011
    {
        SessionType_Null	= 0,
        SessionType_WriteLock	= 1,
        SessionType_Remote	= 2,
        SessionType_Shared	= 3
    } 	SessionType;

#define SessionType_T SessionType
typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("cb977be1-d1fb-41f8-ad7e-951736c6cb3e") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0012
    {
        DeviceType_Null	= 0,
        DeviceType_Floppy	= 1,
        DeviceType_DVD	= 2,
        DeviceType_HardDisk	= 3,
        DeviceType_Network	= 4,
        DeviceType_USB	= 5,
        DeviceType_SharedFolder	= 6,
        DeviceType_Graphics3D	= 7,
        DeviceType_End	= 8
    } 	DeviceType;

#define DeviceType_T DeviceType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("6FC8AEAA-130A-4eb5-8954-3F921422D707") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0013
    {
        DeviceActivity_Null	= 0,
        DeviceActivity_Idle	= 1,
        DeviceActivity_Reading	= 2,
        DeviceActivity_Writing	= 3
    } 	DeviceActivity;

#define DeviceActivity_T DeviceActivity
typedef /* [public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("33364716-4008-4701-8f14-be0fa3d62950") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0014
    {
        ClipboardMode_Disabled	= 0,
        ClipboardMode_HostToGuest	= 1,
        ClipboardMode_GuestToHost	= 2,
        ClipboardMode_Bidirectional	= 3
    } 	ClipboardMode;

#define ClipboardMode_T ClipboardMode
typedef /* [public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("07af8800-f936-4b33-9172-cd400e83c148") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0015
    {
        DnDMode_Disabled	= 0,
        DnDMode_HostToGuest	= 1,
        DnDMode_GuestToHost	= 2,
        DnDMode_Bidirectional	= 3
    } 	DnDMode;

#define DnDMode_T DnDMode
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("7c91096e-499e-4eca-9f9b-9001438d7855") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0016
    {
        Scope_Global	= 0,
        Scope_Machine	= 1,
        Scope_Session	= 2
    } 	Scope;

#define Scope_T Scope
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("bf88ec90-7fbb-4c78-bd71-5f8751d71450") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0017
    {
        FirmwareBootMenuMode_Disabled	= 0,
        FirmwareBootMenuMode_MenuOnly	= 1,
        FirmwareBootMenuMode_MessageAndMenu	= 2
    } 	FirmwareBootMenuMode;

#define FirmwareBootMenuMode_T FirmwareBootMenuMode
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("c6884ba5-3cc4-4a92-a7f6-4410f9fd894e") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0018
    {
        APICMode_Disabled	= 0,
        APICMode_APIC	= 1,
        APICMode_X2APIC	= 2
    } 	APICMode;

#define APICMode_T APICMode
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("0064dece-000e-4963-00f8-eb9b00674c8a") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0019
    {
        ProcessorFeature_HWVirtEx	= 0,
        ProcessorFeature_PAE	= 1,
        ProcessorFeature_LongMode	= 2,
        ProcessorFeature_NestedPaging	= 3,
        ProcessorFeature_UnrestrictedGuest	= 4,
        ProcessorFeature_NestedHWVirt	= 5,
        ProcessorFeature_VirtVmsaveVmload	= 6
    } 	ProcessorFeature;

#define ProcessorFeature_T ProcessorFeature
typedef /* [public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("b903f264-c230-483e-ac74-2b37ce60d371") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0020
    {
        FirmwareType_BIOS	= 1,
        FirmwareType_EFI	= 2,
        FirmwareType_EFI32	= 3,
        FirmwareType_EFI64	= 4,
        FirmwareType_EFIDUAL	= 5
    } 	FirmwareType;

#define FirmwareType_T FirmwareType
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("b3fd8215-6870-4e61-b6d9-2998fa625de0") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0021
    {
        PointingHIDType_None	= 1,
        PointingHIDType_PS2Mouse	= 2,
        PointingHIDType_USBMouse	= 3,
        PointingHIDType_USBTablet	= 4,
        PointingHIDType_ComboMouse	= 5,
        PointingHIDType_USBMultiTouch	= 6,
        PointingHIDType_USBMultiTouchScreenPlusPad	= 7
    } 	PointingHIDType;

#define PointingHIDType_T PointingHIDType
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("383e43d7-5c7c-4ec8-9cb8-eda1bccd6699") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0022
    {
        KeyboardHIDType_None	= 1,
        KeyboardHIDType_PS2Keyboard	= 2,
        KeyboardHIDType_USBKeyboard	= 3,
        KeyboardHIDType_ComboKeyboard	= 4
    } 	KeyboardHIDType;

#define KeyboardHIDType_T KeyboardHIDType
typedef /* [public][public][public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("afb2bf39-8b1e-4f9f-8948-d1b887f83eb0") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0023
    {
        BitmapFormat_Opaque	= 0,
        BitmapFormat_BGR	= 0x20524742,
        BitmapFormat_BGR0	= 0x30524742,
        BitmapFormat_BGRA	= 0x41524742,
        BitmapFormat_RGBA	= 0x41424752,
        BitmapFormat_PNG	= 0x20474e50,
        BitmapFormat_JPEG	= 0x4745504a
    } 	BitmapFormat;

#define BitmapFormat_T BitmapFormat
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("64c4c806-8908-4c0b-9a51-2d7a0151321f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0024
    {
        PartitioningType_MBR	= 0,
        PartitioningType_GPT	= 1
    } 	PartitioningType;

#define PartitioningType_T PartitioningType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("84a6629c-8e9c-474c-adbb-21995671597f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0025
    {
        PartitionType_Empty	= 0,
        PartitionType_FAT12	= 1,
        PartitionType_FAT16	= 4,
        PartitionType_FAT	= 6,
        PartitionType_IFS	= 7,
        PartitionType_FAT32CHS	= 11,
        PartitionType_FAT32LBA	= 12,
        PartitionType_FAT16B	= 14,
        PartitionType_Extended	= 15,
        PartitionType_WindowsRE	= 39,
        PartitionType_LinuxSwapOld	= 66,
        PartitionType_LinuxOld	= 67,
        PartitionType_DragonFlyBSDSlice	= 108,
        PartitionType_LinuxSwap	= 130,
        PartitionType_Linux	= 131,
        PartitionType_LinuxExtended	= 133,
        PartitionType_LinuxLVM	= 142,
        PartitionType_BSDSlice	= 165,
        PartitionType_AppleUFS	= 168,
        PartitionType_AppleHFS	= 175,
        PartitionType_Solaris	= 191,
        PartitionType_GPT	= 238,
        PartitionType_EFI	= 239,
        PartitionType_Unknown	= 256,
        PartitionType_MBR	= 257,
        PartitionType_iFFS	= 258,
        PartitionType_SonyBoot	= 259,
        PartitionType_LenovoBoot	= 260,
        PartitionType_WindowsMSR	= 270,
        PartitionType_WindowsBasicData	= 271,
        PartitionType_WindowsLDMMeta	= 272,
        PartitionType_WindowsLDMData	= 273,
        PartitionType_WindowsRecovery	= 274,
        PartitionType_WindowsStorageSpaces	= 276,
        PartitionType_WindowsStorageReplica	= 277,
        PartitionType_IBMGPFS	= 275,
        PartitionType_LinuxData	= 300,
        PartitionType_LinuxRAID	= 301,
        PartitionType_LinuxRootX86	= 302,
        PartitionType_LinuxRootAMD64	= 303,
        PartitionType_LinuxRootARM32	= 304,
        PartitionType_LinuxRootARM64	= 305,
        PartitionType_LinuxHome	= 306,
        PartitionType_LinuxSrv	= 307,
        PartitionType_LinuxPlainDmCrypt	= 308,
        PartitionType_LinuxLUKS	= 309,
        PartitionType_LinuxReserved	= 310,
        PartitionType_FreeBSDBoot	= 330,
        PartitionType_FreeBSDData	= 331,
        PartitionType_FreeBSDSwap	= 332,
        PartitionType_FreeBSDUFS	= 333,
        PartitionType_FreeBSDVinum	= 334,
        PartitionType_FreeBSDZFS	= 335,
        PartitionType_FreeBSDUnknown	= 359,
        PartitionType_AppleHFSPlus	= 360,
        PartitionType_AppleAPFS	= 361,
        PartitionType_AppleRAID	= 362,
        PartitionType_AppleRAIDOffline	= 363,
        PartitionType_AppleBoot	= 364,
        PartitionType_AppleLabel	= 365,
        PartitionType_AppleTvRecovery	= 366,
        PartitionType_AppleCoreStorage	= 367,
        PartitionType_SoftRAIDStatus	= 370,
        PartitionType_SoftRAIDScratch	= 371,
        PartitionType_SoftRAIDVolume	= 372,
        PartitionType_SoftRAIDCache	= 373,
        PartitionType_AppleUnknown	= 389,
        PartitionType_SolarisBoot	= 390,
        PartitionType_SolarisRoot	= 391,
        PartitionType_SolarisSwap	= 392,
        PartitionType_SolarisBackup	= 393,
        PartitionType_SolarisUsr	= 394,
        PartitionType_SolarisVar	= 395,
        PartitionType_SolarisHome	= 396,
        PartitionType_SolarisAltSector	= 397,
        PartitionType_SolarisReserved	= 398,
        PartitionType_SolarisUnknown	= 419,
        PartitionType_NetBSDSwap	= 420,
        PartitionType_NetBSDFFS	= 421,
        PartitionType_NetBSDLFS	= 422,
        PartitionType_NetBSDRAID	= 423,
        PartitionType_NetBSDConcatenated	= 424,
        PartitionType_NetBSDEncrypted	= 425,
        PartitionType_NetBSDUnknown	= 449,
        PartitionType_ChromeOSKernel	= 450,
        PartitionType_ChromeOSRootFS	= 451,
        PartitionType_ChromeOSFuture	= 452,
        PartitionType_ContLnxUsr	= 480,
        PartitionType_ContLnxRoot	= 481,
        PartitionType_ContLnxReserved	= 482,
        PartitionType_ContLnxRootRAID	= 483,
        PartitionType_HaikuBFS	= 510,
        PartitionType_MidntBSDBoot	= 540,
        PartitionType_MidntBSDData	= 541,
        PartitionType_MidntBSDSwap	= 542,
        PartitionType_MidntBSDUFS	= 543,
        PartitionType_MidntBSDVium	= 544,
        PartitionType_MidntBSDZFS	= 545,
        PartitionType_MidntBSDUnknown	= 569,
        PartitionType_OpenBSDData	= 570,
        PartitionType_QNXPowerSafeFS	= 600,
        PartitionType_Plan9	= 630,
        PartitionType_VMWareVMKCore	= 660,
        PartitionType_VMWareVMFS	= 661,
        PartitionType_VMWareReserved	= 662,
        PartitionType_VMWareUnknown	= 689,
        PartitionType_AndroidX86Bootloader	= 690,
        PartitionType_AndroidX86Bootloader2	= 691,
        PartitionType_AndroidX86Boot	= 692,
        PartitionType_AndroidX86Recovery	= 693,
        PartitionType_AndroidX86Misc	= 694,
        PartitionType_AndroidX86Metadata	= 695,
        PartitionType_AndroidX86System	= 696,
        PartitionType_AndroidX86Cache	= 697,
        PartitionType_AndroidX86Data	= 698,
        PartitionType_AndroidX86Persistent	= 699,
        PartitionType_AndroidX86Vendor	= 700,
        PartitionType_AndroidX86Config	= 701,
        PartitionType_AndroidX86Factory	= 702,
        PartitionType_AndroidX86FactoryAlt	= 703,
        PartitionType_AndroidX86Fastboot	= 704,
        PartitionType_AndroidX86OEM	= 705,
        PartitionType_AndroidARMMeta	= 720,
        PartitionType_AndroidARMExt	= 721,
        PartitionType_ONIEBoot	= 750,
        PartitionType_ONIEConfig	= 751,
        PartitionType_PowerPCPrep	= 780,
        PartitionType_XDGShrBootConfig	= 810,
        PartitionType_CephBlock	= 830,
        PartitionType_CephBlockDB	= 831,
        PartitionType_CephBlockDBDmc	= 832,
        PartitionType_CephBlockDBDmcLUKS	= 833,
        PartitionType_CephBlockDmc	= 834,
        PartitionType_CephBlockDmcLUKS	= 835,
        PartitionType_CephBlockWALog	= 836,
        PartitionType_CephBlockWALogDmc	= 837,
        PartitionType_CephBlockWALogDmcLUKS	= 838,
        PartitionType_CephDisk	= 839,
        PartitionType_CephDiskDmc	= 840,
        PartitionType_CephJournal	= 841,
        PartitionType_CephJournalDmc	= 842,
        PartitionType_CephJournalDmcLUKS	= 843,
        PartitionType_CephLockbox	= 844,
        PartitionType_CephMultipathBlock1	= 845,
        PartitionType_CephMultipathBlock2	= 846,
        PartitionType_CephMultipathBlockDB	= 847,
        PartitionType_CephMultipathBLockWALog	= 848,
        PartitionType_CephMultipathJournal	= 849,
        PartitionType_CephMultipathOSD	= 851,
        PartitionType_CephOSD	= 852,
        PartitionType_CephOSDDmc	= 853,
        PartitionType_CephOSDDmcLUKS	= 854
    } 	PartitionType;

#define PartitionType_T PartitionType
typedef /* [public][public][public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("00f5b10f-0021-4513-00f7-5bf4000982bf") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0026
    {
        DHCPOption_SubnetMask	= 1,
        DHCPOption_TimeOffset	= 2,
        DHCPOption_Routers	= 3,
        DHCPOption_TimeServers	= 4,
        DHCPOption_NameServers	= 5,
        DHCPOption_DomainNameServers	= 6,
        DHCPOption_LogServers	= 7,
        DHCPOption_CookieServers	= 8,
        DHCPOption_LPRServers	= 9,
        DHCPOption_ImpressServers	= 10,
        DHCPOption_ResourseLocationServers	= 11,
        DHCPOption_HostName	= 12,
        DHCPOption_BootFileSize	= 13,
        DHCPOption_MeritDumpFile	= 14,
        DHCPOption_DomainName	= 15,
        DHCPOption_SwapServer	= 16,
        DHCPOption_RootPath	= 17,
        DHCPOption_ExtensionPath	= 18,
        DHCPOption_IPForwarding	= 19,
        DHCPOption_OptNonLocalSourceRouting	= 20,
        DHCPOption_PolicyFilter	= 21,
        DHCPOption_MaxDgramReassemblySize	= 22,
        DHCPOption_DefaultIPTTL	= 23,
        DHCPOption_PathMTUAgingTimeout	= 24,
        DHCPOption_PathMTUPlateauTable	= 25,
        DHCPOption_InterfaceMTU	= 26,
        DHCPOption_AllSubnetsAreLocal	= 27,
        DHCPOption_BroadcastAddress	= 28,
        DHCPOption_PerformMaskDiscovery	= 29,
        DHCPOption_MaskSupplier	= 30,
        DHCPOption_PerformRouterDiscovery	= 31,
        DHCPOption_RouterSolicitationAddress	= 32,
        DHCPOption_StaticRoute	= 33,
        DHCPOption_TrailerEncapsulation	= 34,
        DHCPOption_ARPCacheTimeout	= 35,
        DHCPOption_EthernetEncapsulation	= 36,
        DHCPOption_TCPDefaultTTL	= 37,
        DHCPOption_TCPKeepaliveInterval	= 38,
        DHCPOption_TCPKeepaliveGarbage	= 39,
        DHCPOption_NISDomain	= 40,
        DHCPOption_NISServers	= 41,
        DHCPOption_NTPServers	= 42,
        DHCPOption_VendorSpecificInfo	= 43,
        DHCPOption_NetBIOSNameServers	= 44,
        DHCPOption_NetBIOSDatagramServers	= 45,
        DHCPOption_NetBIOSNodeType	= 46,
        DHCPOption_NetBIOSScope	= 47,
        DHCPOption_XWindowsFontServers	= 48,
        DHCPOption_XWindowsDisplayManager	= 49,
        DHCPOption_NetWareIPDomainName	= 62,
        DHCPOption_NetWareIPInformation	= 63,
        DHCPOption_NISPlusDomain	= 64,
        DHCPOption_NISPlusServers	= 65,
        DHCPOption_TFTPServerName	= 66,
        DHCPOption_BootfileName	= 67,
        DHCPOption_MobileIPHomeAgents	= 68,
        DHCPOption_SMTPServers	= 69,
        DHCPOption_POP3Servers	= 70,
        DHCPOption_NNTPServers	= 71,
        DHCPOption_WWWServers	= 72,
        DHCPOption_FingerServers	= 73,
        DHCPOption_IRCServers	= 74,
        DHCPOption_StreetTalkServers	= 75,
        DHCPOption_STDAServers	= 76,
        DHCPOption_SLPDirectoryAgent	= 78,
        DHCPOption_SLPServiceScope	= 79,
        DHCPOption_DomainSearch	= 119
    } 	DHCPOption;

#define DHCPOption_T DHCPOption
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("84b6d460-2838-4682-c0d6-ef5b573ef28a") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0027
    {
        DHCPOptionEncoding_Normal	= 0,
        DHCPOptionEncoding_Hex	= 1
    } 	DHCPOptionEncoding;

#define DHCPOptionEncoding_T DHCPOptionEncoding
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("469c42e4-b9ec-43f2-bdcb-9e9d1eb434ae") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0028
    {
        DHCPConfigScope_Global	= 0,
        DHCPConfigScope_Group	= 1,
        DHCPConfigScope_MachineNIC	= 2,
        DHCPConfigScope_MAC	= 3
    } 	DHCPConfigScope;

#define DHCPConfigScope_T DHCPConfigScope
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("2cb9280f-ada2-4194-dee8-bfb8ad77119d") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0029
    {
        DHCPGroupConditionType_MAC	= 0,
        DHCPGroupConditionType_MACWildcard	= 1,
        DHCPGroupConditionType_vendorClassID	= 2,
        DHCPGroupConditionType_vendorClassIDWildcard	= 3,
        DHCPGroupConditionType_userClassID	= 4,
        DHCPGroupConditionType_userClassIDWildcard	= 5
    } 	DHCPGroupConditionType;

#define DHCPGroupConditionType_T DHCPGroupConditionType
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("813999ba-b949-48a8-9230-aadc6285e2f2") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0030
    {
        VFSType_File	= 1,
        VFSType_Cloud	= 2,
        VFSType_S3	= 3,
        VFSType_WebDav	= 4
    } 	VFSType;

#define VFSType_T VFSType
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("0a981523-3b20-4004-8ee3-dfd322202ace") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0031
    {
        ImportOptions_KeepAllMACs	= 1,
        ImportOptions_KeepNATMACs	= 2,
        ImportOptions_ImportToVDI	= 3
    } 	ImportOptions;

#define ImportOptions_T ImportOptions
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("8f45eb08-fd34-41ee-af95-a880bdee5554") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0032
    {
        ExportOptions_CreateManifest	= 1,
        ExportOptions_ExportDVDImages	= 2,
        ExportOptions_StripAllMACs	= 3,
        ExportOptions_StripAllNonNATMACs	= 4
    } 	ExportOptions;

#define ExportOptions_T ExportOptions
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("9e232a99-51d0-4dbd-96a0-ffac4bc3e2a8") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0033
    {
        CertificateVersion_V1	= 1,
        CertificateVersion_V2	= 2,
        CertificateVersion_V3	= 3,
        CertificateVersion_Unknown	= 99
    } 	CertificateVersion;

#define CertificateVersion_T CertificateVersion
typedef /* [public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("d171d08c-f7bf-4bee-932f-ffbf998f7ac4") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0034
    {
        VirtualSystemDescriptionType_Ignore	= 1,
        VirtualSystemDescriptionType_OS	= 2,
        VirtualSystemDescriptionType_Name	= 3,
        VirtualSystemDescriptionType_Product	= 4,
        VirtualSystemDescriptionType_Vendor	= 5,
        VirtualSystemDescriptionType_Version	= 6,
        VirtualSystemDescriptionType_ProductUrl	= 7,
        VirtualSystemDescriptionType_VendorUrl	= 8,
        VirtualSystemDescriptionType_Description	= 9,
        VirtualSystemDescriptionType_License	= 10,
        VirtualSystemDescriptionType_Miscellaneous	= 11,
        VirtualSystemDescriptionType_CPU	= 12,
        VirtualSystemDescriptionType_Memory	= 13,
        VirtualSystemDescriptionType_HardDiskControllerIDE	= 14,
        VirtualSystemDescriptionType_HardDiskControllerSATA	= 15,
        VirtualSystemDescriptionType_HardDiskControllerSCSI	= 16,
        VirtualSystemDescriptionType_HardDiskControllerSAS	= 17,
        VirtualSystemDescriptionType_HardDiskImage	= 18,
        VirtualSystemDescriptionType_Floppy	= 19,
        VirtualSystemDescriptionType_CDROM	= 20,
        VirtualSystemDescriptionType_NetworkAdapter	= 21,
        VirtualSystemDescriptionType_USBController	= 22,
        VirtualSystemDescriptionType_SoundCard	= 23,
        VirtualSystemDescriptionType_SettingsFile	= 24,
        VirtualSystemDescriptionType_BaseFolder	= 25,
        VirtualSystemDescriptionType_PrimaryGroup	= 26,
        VirtualSystemDescriptionType_CloudInstanceShape	= 27,
        VirtualSystemDescriptionType_CloudDomain	= 28,
        VirtualSystemDescriptionType_CloudBootDiskSize	= 29,
        VirtualSystemDescriptionType_CloudBucket	= 30,
        VirtualSystemDescriptionType_CloudOCIVCN	= 31,
        VirtualSystemDescriptionType_CloudPublicIP	= 32,
        VirtualSystemDescriptionType_CloudProfileName	= 33,
        VirtualSystemDescriptionType_CloudOCISubnet	= 34,
        VirtualSystemDescriptionType_CloudKeepObject	= 35,
        VirtualSystemDescriptionType_CloudLaunchInstance	= 36,
        VirtualSystemDescriptionType_CloudInstanceId	= 37,
        VirtualSystemDescriptionType_CloudImageId	= 38,
        VirtualSystemDescriptionType_CloudInstanceState	= 39,
        VirtualSystemDescriptionType_CloudImageState	= 40,
        VirtualSystemDescriptionType_CloudInstanceDisplayName	= 41,
        VirtualSystemDescriptionType_CloudImageDisplayName	= 42,
        VirtualSystemDescriptionType_CloudOCILaunchMode	= 43,
        VirtualSystemDescriptionType_CloudPrivateIP	= 44,
        VirtualSystemDescriptionType_CloudBootVolumeId	= 45,
        VirtualSystemDescriptionType_CloudOCIVCNCompartment	= 46,
        VirtualSystemDescriptionType_CloudOCISubnetCompartment	= 47,
        VirtualSystemDescriptionType_CloudPublicSSHKey	= 48,
        VirtualSystemDescriptionType_BootingFirmware	= 49,
        VirtualSystemDescriptionType_CloudInitScriptPath	= 50,
        VirtualSystemDescriptionType_CloudCompartmentId	= 51,
        VirtualSystemDescriptionType_CloudShapeCpus	= 52,
        VirtualSystemDescriptionType_CloudShapeMemory	= 53,
        VirtualSystemDescriptionType_CloudInstanceMetadata	= 54,
        VirtualSystemDescriptionType_CloudInstanceFreeFormTags	= 55,
        VirtualSystemDescriptionType_CloudImageFreeFormTags	= 56,
        VirtualSystemDescriptionType_HardDiskControllerVirtioSCSI	= 60,
        VirtualSystemDescriptionType_HardDiskControllerNVMe	= 61,
        VirtualSystemDescriptionType_NVRAM	= 0x8000
    } 	VirtualSystemDescriptionType;

#define VirtualSystemDescriptionType_T VirtualSystemDescriptionType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("56d9403f-3425-4118-9919-36f2a9b8c77c") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0035
    {
        VirtualSystemDescriptionValueType_Reference	= 1,
        VirtualSystemDescriptionValueType_Original	= 2,
        VirtualSystemDescriptionValueType_Auto	= 3,
        VirtualSystemDescriptionValueType_ExtraConfig	= 4
    } 	VirtualSystemDescriptionValueType;

#define VirtualSystemDescriptionValueType_T VirtualSystemDescriptionValueType
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("c669b9f7-a547-42b6-8464-636aa53401eb") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0036
    {
        TpmType_None	= 0,
        TpmType_v1_2	= 1,
        TpmType_v2_0	= 2,
        TpmType_Host	= 3,
        TpmType_Swtpm	= 4
    } 	TpmType;

#define TpmType_T TpmType
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("11E3F06B-DEC1-48B9-BDC4-1E618D72893C") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0037
    {
        RecordingDestination_None	= 0,
        RecordingDestination_File	= 1
    } 	RecordingDestination;

#define RecordingDestination_T RecordingDestination
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("A7DDC6A5-DAA8-4485-B860-E9F2E98A7794") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0038
    {
        RecordingFeature_None	= 0,
        RecordingFeature_Video	= 0x1,
        RecordingFeature_Audio	= 0x2
    } 	RecordingFeature;

#define RecordingFeature_T RecordingFeature
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("16c42be8-1713-4717-a8b9-c65a6549fbcd") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0039
    {
        RecordingAudioCodec_None	= 0,
        RecordingAudioCodec_WavPCM	= 1,
        RecordingAudioCodec_MP3	= 2,
        RecordingAudioCodec_OggVorbis	= 3,
        RecordingAudioCodec_Opus	= 4,
        RecordingAudioCodec_Other	= 5
    } 	RecordingAudioCodec;

#define RecordingAudioCodec_T RecordingAudioCodec
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("53627ae1-31cf-4303-9cd5-0c22fd2637cf") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0040
    {
        RecordingCodecDeadline_Default	= 0,
        RecordingCodecDeadline_Realtime	= 1,
        RecordingCodecDeadline_Good	= 2,
        RecordingCodecDeadline_Best	= 3
    } 	RecordingCodecDeadline;

#define RecordingCodecDeadline_T RecordingCodecDeadline
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("93791063-3e8c-4310-987c-ddb43ff03ffe") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0041
    {
        RecordingVideoCodec_None	= 0,
        RecordingVideoCodec_MJPEG	= 1,
        RecordingVideoCodec_H262	= 2,
        RecordingVideoCodec_H264	= 3,
        RecordingVideoCodec_H265	= 4,
        RecordingVideoCodec_H266	= 5,
        RecordingVideoCodec_VP8	= 6,
        RecordingVideoCodec_VP9	= 7,
        RecordingVideoCodec_AV1	= 8,
        RecordingVideoCodec_Other	= 9
    } 	RecordingVideoCodec;

#define RecordingVideoCodec_T RecordingVideoCodec
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("0dd1127d-4f62-4b82-beee-91086a9f1d24") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0042
    {
        RecordingVideoScalingMode_None	= 0,
        RecordingVideoScalingMode_NearestNeighbor	= 1,
        RecordingVideoScalingMode_Bilinear	= 2,
        RecordingVideoScalingMode_Bicubic	= 3
    } 	RecordingVideoScalingMode;

#define RecordingVideoScalingMode_T RecordingVideoScalingMode
typedef /* [public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("d07a33ac-b4ea-4917-942d-c03be14fbe2f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0043
    {
        RecordingRateControlMode_ABR	= 0,
        RecordingRateControlMode_CBR	= 1,
        RecordingRateControlMode_VBR	= 2
    } 	RecordingRateControlMode;

#define RecordingRateControlMode_T RecordingRateControlMode
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("6f6e67ef-9a32-4084-af84-5702679f882a") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0044
    {
        SignatureType_X509	= 0,
        SignatureType_Sha256	= 1
    } 	SignatureType;

#define SignatureType_T SignatureType
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("cda505ec-b444-4aef-b55c-b687717bdac5") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0045
    {
        UefiVariableAttributes_None	= 0,
        UefiVariableAttributes_NonVolatile	= 0x1,
        UefiVariableAttributes_BootServiceAccess	= 0x2,
        UefiVariableAttributes_RuntimeAccess	= 0x4,
        UefiVariableAttributes_HwErrorRecord	= 0x8,
        UefiVariableAttributes_AuthWriteAccess	= 0x100,
        UefiVariableAttributes_AuthTimeBasedWriteAccess	= 0x200,
        UefiVariableAttributes_AuthAppendWrite	= 0x400
    } 	UefiVariableAttributes;

#define UefiVariableAttributes_T UefiVariableAttributes
typedef /* [public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("e1379bad-ae01-493d-abf5-740a95c41676") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0046
    {
        GraphicsControllerType_Null	= 0,
        GraphicsControllerType_VBoxVGA	= 1,
        GraphicsControllerType_VMSVGA	= 2,
        GraphicsControllerType_VBoxSVGA	= 3,
        GraphicsControllerType_QemuRamFB	= 4
    } 	GraphicsControllerType;

#define GraphicsControllerType_T GraphicsControllerType
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("5cd900a5-ec77-4a08-8f8d-c0a36f462a7c") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0047
    {
        GraphicsFeature_None	= 0,
        GraphicsFeature_Acceleration2DVideo	= 1,
        GraphicsFeature_Acceleration3D	= 2
    } 	GraphicsFeature;

#define GraphicsFeature_T GraphicsFeature
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("67897c50-7cca-47a9-83f6-ce8fd8eb5441") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0048
    {
        CleanupMode_UnregisterOnly	= 1,
        CleanupMode_DetachAllReturnNone	= 2,
        CleanupMode_DetachAllReturnHardDisksOnly	= 3,
        CleanupMode_Full	= 4,
        CleanupMode_DetachAllReturnHardDisksAndVMRemovable	= 5
    } 	CleanupMode;

#define CleanupMode_T CleanupMode
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("A7A159FE-5096-4B8D-8C3C-D033CB0B35A8") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0049
    {
        CloneMode_MachineState	= 1,
        CloneMode_MachineAndChildStates	= 2,
        CloneMode_AllStates	= 3
    } 	CloneMode;

#define CloneMode_T CloneMode
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("22243f8e-96ab-497c-8cf0-f40a566c630b") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0050
    {
        CloneOptions_Link	= 1,
        CloneOptions_KeepAllMACs	= 2,
        CloneOptions_KeepNATMACs	= 3,
        CloneOptions_KeepDiskNames	= 4,
        CloneOptions_KeepHwUUIDs	= 5
    } 	CloneOptions;

#define CloneOptions_T CloneOptions
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("6bb96740-cf34-470d-aab2-2cd48ea2e10e") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0051
    {
        AutostopType_Disabled	= 1,
        AutostopType_SaveState	= 2,
        AutostopType_PowerOff	= 3,
        AutostopType_AcpiShutdown	= 4
    } 	AutostopType;

#define AutostopType_T AutostopType
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("6fa72dd5-19b7-46ba-bc52-f223c98c7d80") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0052
    {
        VMProcPriority_Invalid	= 0,
        VMProcPriority_Default	= 1,
        VMProcPriority_Flat	= 2,
        VMProcPriority_Low	= 3,
        VMProcPriority_Normal	= 5,
        VMProcPriority_High	= 6
    } 	VMProcPriority;

#define VMProcPriority_T VMProcPriority
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("f47339cb-b94e-48fe-b507-2900103d7b9f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0053
    {
        IommuType_None	= 0,
        IommuType_Automatic	= 1,
        IommuType_AMD	= 2,
        IommuType_Intel	= 3
    } 	IommuType;

#define IommuType_T IommuType
typedef /* [public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("69485f52-5cd3-40c9-946f-ae7d5c50798b") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0054
    {
        VMExecutionEngine_NotSet	= 0,
        VMExecutionEngine_Default	= 1,
        VMExecutionEngine_HwVirt	= 2,
        VMExecutionEngine_NativeApi	= 3,
        VMExecutionEngine_Interpreter	= 4,
        VMExecutionEngine_Recompiler	= 5
    } 	VMExecutionEngine;

#define VMExecutionEngine_T VMExecutionEngine
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("1aa54aaf-2497-45a2-bfb1-8eb225e93d5b") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0055
    {
        HostNetworkInterfaceMediumType_Unknown	= 0,
        HostNetworkInterfaceMediumType_Ethernet	= 1,
        HostNetworkInterfaceMediumType_PPP	= 2,
        HostNetworkInterfaceMediumType_SLIP	= 3
    } 	HostNetworkInterfaceMediumType;

#define HostNetworkInterfaceMediumType_T HostNetworkInterfaceMediumType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("CC474A69-2710-434B-8D99-C38E5D5A6F41") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0056
    {
        HostNetworkInterfaceStatus_Unknown	= 0,
        HostNetworkInterfaceStatus_Up	= 1,
        HostNetworkInterfaceStatus_Down	= 2
    } 	HostNetworkInterfaceStatus;

#define HostNetworkInterfaceStatus_T HostNetworkInterfaceStatus
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("67431b00-9946-48a2-bc02-b25c5919f4f3") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0057
    {
        HostNetworkInterfaceType_Bridged	= 1,
        HostNetworkInterfaceType_HostOnly	= 2
    } 	HostNetworkInterfaceType;

#define HostNetworkInterfaceType_T HostNetworkInterfaceType
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("9f1562a5-e47a-496b-a818-66776f06ce40") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0058
    {
        UpdateChannel_Invalid	= 0,
        UpdateChannel_Stable	= 1,
        UpdateChannel_All	= 2,
        UpdateChannel_WithBetas	= 3,
        UpdateChannel_WithTesting	= 4
    } 	UpdateChannel;

#define UpdateChannel_T UpdateChannel
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("359a5fee-8a06-4306-8068-2f2dd5cde06f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0059
    {
        UpdateSeverity_Invalid	= 0,
        UpdateSeverity_Critical	= 1,
        UpdateSeverity_Major	= 2,
        UpdateSeverity_Minor	= 3,
        UpdateSeverity_Testing	= 4
    } 	UpdateSeverity;

#define UpdateSeverity_T UpdateSeverity
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("6623e363-c892-45f8-80cb-4e8ffd9b4e60") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0060
    {
        UpdateState_Invalid	= 0,
        UpdateState_Available	= 1,
        UpdateState_NotAvailable	= 2,
        UpdateState_Downloading	= 3,
        UpdateState_Downloaded	= 4,
        UpdateState_Installing	= 5,
        UpdateState_Installed	= 6,
        UpdateState_UserInteraction	= 7,
        UpdateState_Canceled	= 8,
        UpdateState_Maintenance	= 9,
        UpdateState_Error	= 10
    } 	UpdateState;

#define UpdateState_T UpdateState
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("885264b3-b517-40fc-ce46-36e3bae895a4") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0061
    {
        ProxyMode_System	= 0,
        ProxyMode_NoProxy	= 1,
        ProxyMode_Manual	= 2
    } 	ProxyMode;

#define ProxyMode_T ProxyMode
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("c4b10d74-dd48-4ff4-9a40-785a2a389ade") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0062
    {
        AdditionsFacilityType_None	= 0,
        AdditionsFacilityType_VBoxGuestDriver	= 20,
        AdditionsFacilityType_AutoLogon	= 90,
        AdditionsFacilityType_VBoxService	= 100,
        AdditionsFacilityType_VBoxTrayClient	= 101,
        AdditionsFacilityType_Seamless	= 1000,
        AdditionsFacilityType_Graphics	= 1100,
        AdditionsFacilityType_MonitorAttach	= 1101,
        AdditionsFacilityType_All	= 2147483646
    } 	AdditionsFacilityType;

#define AdditionsFacilityType_T AdditionsFacilityType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("446451b2-c88d-4e5d-84c9-91bc7f533f5f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0063
    {
        AdditionsFacilityClass_None	= 0,
        AdditionsFacilityClass_Driver	= 10,
        AdditionsFacilityClass_Service	= 30,
        AdditionsFacilityClass_Program	= 50,
        AdditionsFacilityClass_Feature	= 100,
        AdditionsFacilityClass_ThirdParty	= 999,
        AdditionsFacilityClass_All	= 2147483646
    } 	AdditionsFacilityClass;

#define AdditionsFacilityClass_T AdditionsFacilityClass
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("ce06f9e1-394e-4fe9-9368-5a88c567dbde") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0064
    {
        AdditionsFacilityStatus_Inactive	= 0,
        AdditionsFacilityStatus_Paused	= 1,
        AdditionsFacilityStatus_PreInit	= 20,
        AdditionsFacilityStatus_Init	= 30,
        AdditionsFacilityStatus_Active	= 50,
        AdditionsFacilityStatus_Terminating	= 100,
        AdditionsFacilityStatus_Terminated	= 101,
        AdditionsFacilityStatus_Failed	= 800,
        AdditionsFacilityStatus_Unknown	= 999
    } 	AdditionsFacilityStatus;

#define AdditionsFacilityStatus_T AdditionsFacilityStatus
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("a25417ee-a9dd-4f5b-b0dc-377860087754") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0065
    {
        AdditionsRunLevelType_None	= 0,
        AdditionsRunLevelType_System	= 1,
        AdditionsRunLevelType_Userland	= 2,
        AdditionsRunLevelType_Desktop	= 3
    } 	AdditionsRunLevelType;

#define AdditionsRunLevelType_T AdditionsRunLevelType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("726a818d-18d6-4389-94e8-3e9e6826171a") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0066
    {
        AdditionsUpdateFlag_None	= 0,
        AdditionsUpdateFlag_WaitForUpdateStartOnly	= 1
    } 	AdditionsUpdateFlag;

#define AdditionsUpdateFlag_T AdditionsUpdateFlag
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("28D19C9C-5862-4930-B29A-F117712B4864") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0067
    {
        GuestShutdownFlag_None	= 0,
        GuestShutdownFlag_PowerOff	= 1,
        GuestShutdownFlag_Reboot	= 2,
        GuestShutdownFlag_Force	= 4
    } 	GuestShutdownFlag;

#define GuestShutdownFlag_T GuestShutdownFlag
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("ac2669da-4624-44f2-85b5-0b0bfb8d8673") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0068
    {
        GuestSessionStatus_Undefined	= 0,
        GuestSessionStatus_Starting	= 10,
        GuestSessionStatus_Started	= 100,
        GuestSessionStatus_Terminating	= 480,
        GuestSessionStatus_Terminated	= 500,
        GuestSessionStatus_TimedOutKilled	= 512,
        GuestSessionStatus_TimedOutAbnormally	= 513,
        GuestSessionStatus_Down	= 600,
        GuestSessionStatus_Error	= 800
    } 	GuestSessionStatus;

#define GuestSessionStatus_T GuestSessionStatus
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("bb7a372a-f635-4e11-a81a-e707f3a52ef5") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0069
    {
        GuestSessionWaitForFlag_None	= 0,
        GuestSessionWaitForFlag_Start	= 1,
        GuestSessionWaitForFlag_Terminate	= 2,
        GuestSessionWaitForFlag_Status	= 4
    } 	GuestSessionWaitForFlag;

#define GuestSessionWaitForFlag_T GuestSessionWaitForFlag
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("c0f6a8a5-fdb6-42bf-a582-56c6f82bcd2d") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0070
    {
        GuestSessionWaitResult_None	= 0,
        GuestSessionWaitResult_Start	= 1,
        GuestSessionWaitResult_Terminate	= 2,
        GuestSessionWaitResult_Status	= 3,
        GuestSessionWaitResult_Error	= 4,
        GuestSessionWaitResult_Timeout	= 5,
        GuestSessionWaitResult_WaitFlagNotSupported	= 6
    } 	GuestSessionWaitResult;

#define GuestSessionWaitResult_T GuestSessionWaitResult
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("b2a82b02-fd3d-4fc2-ba84-6ba5ac8be198") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0071
    {
        GuestUserState_Unknown	= 0,
        GuestUserState_LoggedIn	= 1,
        GuestUserState_LoggedOut	= 2,
        GuestUserState_Locked	= 3,
        GuestUserState_Unlocked	= 4,
        GuestUserState_Disabled	= 5,
        GuestUserState_Idle	= 6,
        GuestUserState_InUse	= 7,
        GuestUserState_Created	= 8,
        GuestUserState_Deleted	= 9,
        GuestUserState_SessionChanged	= 10,
        GuestUserState_CredentialsChanged	= 11,
        GuestUserState_RoleChanged	= 12,
        GuestUserState_GroupAdded	= 13,
        GuestUserState_GroupRemoved	= 14,
        GuestUserState_Elevated	= 15
    } 	GuestUserState;

#define GuestUserState_T GuestUserState
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("ad32f789-4279-4530-979c-f16892e1c263") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0072
    {
        FileSeekOrigin_Begin	= 0,
        FileSeekOrigin_Current	= 1,
        FileSeekOrigin_End	= 2
    } 	FileSeekOrigin;

#define FileSeekOrigin_T FileSeekOrigin
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("5d38c1dd-2604-4ddf-92e5-0c0cdd3bdbd5") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0073
    {
        ProcessInputFlag_None	= 0,
        ProcessInputFlag_EndOfFile	= 1
    } 	ProcessInputFlag;

#define ProcessInputFlag_T ProcessInputFlag
typedef /* [public][v1_enum][uuid] */  DECLSPEC_UUID("9979e85a-52bb-40b7-870c-57115e27e0f1") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0074
    {
        ProcessOutputFlag_None	= 0,
        ProcessOutputFlag_StdErr	= 1
    } 	ProcessOutputFlag;

#define ProcessOutputFlag_T ProcessOutputFlag
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("23b550c7-78e1-437e-98f0-65fd9757bcd2") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0075
    {
        ProcessWaitForFlag_None	= 0,
        ProcessWaitForFlag_Start	= 1,
        ProcessWaitForFlag_Terminate	= 2,
        ProcessWaitForFlag_StdIn	= 4,
        ProcessWaitForFlag_StdOut	= 8,
        ProcessWaitForFlag_StdErr	= 16
    } 	ProcessWaitForFlag;

#define ProcessWaitForFlag_T ProcessWaitForFlag
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("40719cbe-f192-4fe9-a231-6697b3c8e2b4") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0076
    {
        ProcessWaitResult_None	= 0,
        ProcessWaitResult_Start	= 1,
        ProcessWaitResult_Terminate	= 2,
        ProcessWaitResult_Status	= 3,
        ProcessWaitResult_Error	= 4,
        ProcessWaitResult_Timeout	= 5,
        ProcessWaitResult_StdIn	= 6,
        ProcessWaitResult_StdOut	= 7,
        ProcessWaitResult_StdErr	= 8,
        ProcessWaitResult_WaitFlagNotSupported	= 9
    } 	ProcessWaitResult;

#define ProcessWaitResult_T ProcessWaitResult
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("791909d7-4c64-2fa4-4303-adb10658d347") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0077
    {
        FileCopyFlag_None	= 0,
        FileCopyFlag_NoReplace	= 1,
        FileCopyFlag_FollowLinks	= 2,
        FileCopyFlag_Update	= 4
    } 	FileCopyFlag;

#define FileCopyFlag_T FileCopyFlag
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("2450a05d-80c6-4c96-9a17-94d73293ff86") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0078
    {
        FsObjMoveFlag_None	= 0,
        FsObjMoveFlag_Replace	= 1,
        FsObjMoveFlag_FollowLinks	= 2,
        FsObjMoveFlag_AllowDirectoryMoves	= 4
    } 	FsObjMoveFlag;

#define FsObjMoveFlag_T FsObjMoveFlag
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("bd721b0e-ced5-4f79-b368-249897c32a36") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0079
    {
        DirectoryCreateFlag_None	= 0,
        DirectoryCreateFlag_Parents	= 1
    } 	DirectoryCreateFlag;

#define DirectoryCreateFlag_T DirectoryCreateFlag
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("20108C67-B1EB-4EF6-869B-25539A47A18E") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0080
    {
        DirectoryCopyFlag_None	= 0,
        DirectoryCopyFlag_CopyIntoExisting	= 1,
        DirectoryCopyFlag_Recursive	= 2,
        DirectoryCopyFlag_FollowLinks	= 4
    } 	DirectoryCopyFlag;

#define DirectoryCopyFlag_T DirectoryCopyFlag
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("455aabf0-7692-48f6-9061-f21579b65769") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0081
    {
        DirectoryRemoveRecFlag_None	= 0,
        DirectoryRemoveRecFlag_ContentAndDir	= 1,
        DirectoryRemoveRecFlag_ContentOnly	= 2
    } 	DirectoryRemoveRecFlag;

#define DirectoryRemoveRecFlag_T DirectoryRemoveRecFlag
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("59bbf3a1-4e23-d7cf-05d5-ccae32080ed2") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0082
    {
        FsObjRenameFlag_NoReplace	= 0,
        FsObjRenameFlag_Replace	= 1
    } 	FsObjRenameFlag;

#define FsObjRenameFlag_T FsObjRenameFlag
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("C544CD2B-F02D-4886-9901-71C523DB8DC5") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0083
    {
        ProcessCreateFlag_None	= 0,
        ProcessCreateFlag_WaitForProcessStartOnly	= 1,
        ProcessCreateFlag_IgnoreOrphanedProcesses	= 2,
        ProcessCreateFlag_Hidden	= 4,
        ProcessCreateFlag_Profile	= 8,
        ProcessCreateFlag_WaitForStdOut	= 16,
        ProcessCreateFlag_WaitForStdErr	= 32,
        ProcessCreateFlag_ExpandArguments	= 64,
        ProcessCreateFlag_UnquotedArguments	= 128
    } 	ProcessCreateFlag;

#define ProcessCreateFlag_T ProcessCreateFlag
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("ee8cac50-e232-49fe-806b-d1214d9c2e49") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0084
    {
        ProcessPriority_Invalid	= 0,
        ProcessPriority_Default	= 1
    } 	ProcessPriority;

#define ProcessPriority_T ProcessPriority
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("37794668-f8f1-4714-98a5-6f8fa2ed0118") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0085
    {
        SymlinkType_Unknown	= 0,
        SymlinkType_Directory	= 1,
        SymlinkType_File	= 2
    } 	SymlinkType;

#define SymlinkType_T SymlinkType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("b7fe2b9d-790e-4b25-8adf-1ca33026931f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0086
    {
        SymlinkReadFlag_None	= 0,
        SymlinkReadFlag_NoSymlinks	= 1
    } 	SymlinkReadFlag;

#define SymlinkReadFlag_T SymlinkReadFlag
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("4d52368f-5b48-4bfe-b486-acf89139b52f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0087
    {
        ProcessStatus_Undefined	= 0,
        ProcessStatus_Starting	= 10,
        ProcessStatus_Started	= 100,
        ProcessStatus_Paused	= 110,
        ProcessStatus_Terminating	= 480,
        ProcessStatus_TerminatedNormally	= 500,
        ProcessStatus_TerminatedSignal	= 510,
        ProcessStatus_TerminatedAbnormally	= 511,
        ProcessStatus_TimedOutKilled	= 512,
        ProcessStatus_TimedOutAbnormally	= 513,
        ProcessStatus_Down	= 600,
        ProcessStatus_Error	= 800
    } 	ProcessStatus;

#define ProcessStatus_T ProcessStatus
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("a4a0ef9c-29cc-4805-9803-c8215ae9da6c") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0088
    {
        ProcessInputStatus_Undefined	= 0,
        ProcessInputStatus_Broken	= 1,
        ProcessInputStatus_Available	= 10,
        ProcessInputStatus_Written	= 50,
        ProcessInputStatus_Overflow	= 100
    } 	ProcessInputStatus;

#define ProcessInputStatus_T ProcessInputStatus
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("97303a5b-42e8-0a55-d16f-d2a92c295261") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0089
    {
        PathStyle_DOS	= 1,
        PathStyle_UNIX	= 2,
        PathStyle_Unknown	= 8
    } 	PathStyle;

#define PathStyle_T PathStyle
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("a50ca1fc-85a9-4a7a-b755-68c3db01caf1") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0090
    {
        DirectoryStatus_Undefined	= 0,
        DirectoryStatus_Open	= 1,
        DirectoryStatus_Close	= 2,
        DirectoryStatus_Rewind	= 3,
        DirectoryStatus_Down	= 4,
        DirectoryStatus_Error	= 5
    } 	DirectoryStatus;

#define DirectoryStatus_T DirectoryStatus
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("231a578f-47fb-ea30-3b3e-8489558227f0") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0091
    {
        FileAccessMode_ReadOnly	= 1,
        FileAccessMode_WriteOnly	= 2,
        FileAccessMode_ReadWrite	= 3,
        FileAccessMode_AppendOnly	= 4,
        FileAccessMode_AppendRead	= 5
    } 	FileAccessMode;

#define FileAccessMode_T FileAccessMode
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("12bc97e2-4fc6-a8b4-4f84-0cbf4ab970d2") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0092
    {
        FileOpenAction_OpenExisting	= 1,
        FileOpenAction_OpenOrCreate	= 2,
        FileOpenAction_CreateNew	= 3,
        FileOpenAction_CreateOrReplace	= 4,
        FileOpenAction_OpenExistingTruncated	= 5,
        FileOpenAction_AppendOrCreate	= 99
    } 	FileOpenAction;

#define FileOpenAction_T FileOpenAction
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("f87dfe58-425b-c5ba-7d6d-22adeea25de1") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0093
    {
        FileSharingMode_Read	= 1,
        FileSharingMode_Write	= 2,
        FileSharingMode_ReadWrite	= 3,
        FileSharingMode_Delete	= 4,
        FileSharingMode_ReadDelete	= 5,
        FileSharingMode_WriteDelete	= 6,
        FileSharingMode_All	= 7
    } 	FileSharingMode;

#define FileSharingMode_T FileSharingMode
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("4671abd4-f70c-42aa-8542-6c169cb87a5c") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0094
    {
        FileOpenExFlag_None	= 0
    } 	FileOpenExFlag;

#define FileOpenExFlag_T FileOpenExFlag
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("8c86468b-b97b-4080-8914-e29f5b0abd2c") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0095
    {
        FileStatus_Undefined	= 0,
        FileStatus_Opening	= 10,
        FileStatus_Open	= 100,
        FileStatus_Closing	= 150,
        FileStatus_Closed	= 200,
        FileStatus_Down	= 600,
        FileStatus_Error	= 800
    } 	FileStatus;

#define FileStatus_T FileStatus
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("34a0d1aa-491e-e209-e150-84964d6cee5f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0096
    {
        FsObjType_Unknown	= 1,
        FsObjType_Fifo	= 2,
        FsObjType_DevChar	= 3,
        FsObjType_Directory	= 4,
        FsObjType_DevBlock	= 5,
        FsObjType_File	= 6,
        FsObjType_Symlink	= 7,
        FsObjType_Socket	= 8,
        FsObjType_WhiteOut	= 9
    } 	FsObjType;

#define FsObjType_T FsObjType
typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("17609e74-778e-4d0e-8827-35f5230f287b") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0097
    {
        DnDAction_Ignore	= 0,
        DnDAction_Copy	= 1,
        DnDAction_Move	= 2,
        DnDAction_Link	= 3
    } 	DnDAction;

#define DnDAction_T DnDAction
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("92f838f6-cbf9-4760-bb63-92c567773366") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0098
    {
        DirectoryOpenFlag_None	= 0,
        DirectoryOpenFlag_NoSymlinks	= 1,
        DirectoryOpenFlag_DenyAscent	= 2,
        DirectoryOpenFlag_NoFollowSymlinks	= 4
    } 	DirectoryOpenFlag;

#define DirectoryOpenFlag_T DirectoryOpenFlag
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("ef41e980-e012-43cd-9dea-479d4ef14d13") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0099
    {
        MediumState_NotCreated	= 0,
        MediumState_Created	= 1,
        MediumState_LockedRead	= 2,
        MediumState_LockedWrite	= 3,
        MediumState_Inaccessible	= 4,
        MediumState_Creating	= 5,
        MediumState_Deleting	= 6
    } 	MediumState;

#define MediumState_T MediumState
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("fe663fb5-c244-4e1b-9d81-c628b417dd04") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0100
    {
        MediumType_Normal	= 0,
        MediumType_Immutable	= 1,
        MediumType_Writethrough	= 2,
        MediumType_Shareable	= 3,
        MediumType_Readonly	= 4,
        MediumType_MultiAttach	= 5
    } 	MediumType;

#define MediumType_T MediumType
typedef /* [public][public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("0282e97f-4ef3-4411-a8e0-47c384803cb6") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0101
    {
        MediumVariant_Standard	= 0,
        MediumVariant_VmdkSplit2G	= 0x1,
        MediumVariant_VmdkRawDisk	= 0x2,
        MediumVariant_VmdkStreamOptimized	= 0x4,
        MediumVariant_VmdkESX	= 0x8,
        MediumVariant_VdiZeroExpand	= 0x100,
        MediumVariant_Fixed	= 0x10000,
        MediumVariant_Diff	= 0x20000,
        MediumVariant_Formatted	= 0x20000000,
        MediumVariant_NoCreateDir	= 0x40000000
    } 	MediumVariant;

#define MediumVariant_T MediumVariant
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("d90ea51e-a3f1-4a01-beb1-c1723c0d3ba7") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0102
    {
        DataType_Int32	= 0,
        DataType_Int8	= 1,
        DataType_String	= 2
    } 	DataType;

#define DataType_T DataType
typedef /* [public][v1_enum][uuid] */  DECLSPEC_UUID("86884dcf-1d6b-4f1b-b4bf-f5aa44959d60") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0103
    {
        DataFlags_None	= 0,
        DataFlags_Mandatory	= 0x1,
        DataFlags_Expert	= 0x2,
        DataFlags_Array	= 0x4,
        DataFlags_FlagMask	= 0x7
    } 	DataFlags;

#define DataFlags_T DataFlags
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("7342ba79-7ce0-4d94-8f86-5ed5a185d9bd") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0104
    {
        MediumFormatCapabilities_Uuid	= 0x1,
        MediumFormatCapabilities_CreateFixed	= 0x2,
        MediumFormatCapabilities_CreateDynamic	= 0x4,
        MediumFormatCapabilities_CreateSplit2G	= 0x8,
        MediumFormatCapabilities_Differencing	= 0x10,
        MediumFormatCapabilities_Asynchronous	= 0x20,
        MediumFormatCapabilities_File	= 0x40,
        MediumFormatCapabilities_Properties	= 0x80,
        MediumFormatCapabilities_TcpNetworking	= 0x100,
        MediumFormatCapabilities_VFS	= 0x200,
        MediumFormatCapabilities_Discard	= 0x400,
        MediumFormatCapabilities_Preferred	= 0x800,
        MediumFormatCapabilities_CapabilityMask	= 0xfff
    } 	MediumFormatCapabilities;

#define MediumFormatCapabilities_T MediumFormatCapabilities
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("360066eb-d19e-4fa1-57ef-fed434fbe2a9") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0105
    {
        PartitionTableType_MBR	= 1,
        PartitionTableType_GPT	= 2
    } 	PartitionTableType;

#define PartitionTableType_T PartitionTableType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("ef29ea38-409b-49c7-a817-c858d426dfba") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0106
    {
        KeyboardLED_NumLock	= 0x1,
        KeyboardLED_CapsLock	= 0x2,
        KeyboardLED_ScrollLock	= 0x4
    } 	KeyboardLED;

#define KeyboardLED_T KeyboardLED
typedef /* [public][v1_enum][uuid] */  DECLSPEC_UUID("9ee094b8-b28a-4d56-a166-973cb588d7f8") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0107
    {
        MouseButtonState_LeftButton	= 0x1,
        MouseButtonState_RightButton	= 0x2,
        MouseButtonState_MiddleButton	= 0x4,
        MouseButtonState_WheelUp	= 0x8,
        MouseButtonState_WheelDown	= 0x10,
        MouseButtonState_XButton1	= 0x20,
        MouseButtonState_XButton2	= 0x40,
        MouseButtonState_MouseStateMask	= 0x7f
    } 	MouseButtonState;

#define MouseButtonState_T MouseButtonState
typedef /* [public][v1_enum][uuid] */  DECLSPEC_UUID("3f942686-2506-421c-927c-90d4b45f4a38") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0108
    {
        TouchContactState_None	= 0,
        TouchContactState_InContact	= 0x1,
        TouchContactState_InRange	= 0x2,
        TouchContactState_ContactStateMask	= 0x3
    } 	TouchContactState;

#define TouchContactState_T TouchContactState
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("cc395839-30fa-4ca5-ae65-e6360e3edd7a") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0109
    {
        FramebufferCapabilities_UpdateImage	= 0x1,
        FramebufferCapabilities_VHWA	= 0x2,
        FramebufferCapabilities_VisibleRegion	= 0x4,
        FramebufferCapabilities_RenderCursor	= 0x8,
        FramebufferCapabilities_MoveCursor	= 0x10
    } 	FramebufferCapabilities;

#define FramebufferCapabilities_T FramebufferCapabilities
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("6b8d3f71-39cb-459e-a916-48917ed43e19") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0110
    {
        GuestMonitorStatus_Disabled	= 0,
        GuestMonitorStatus_Enabled	= 1,
        GuestMonitorStatus_Blank	= 2
    } 	GuestMonitorStatus;

#define GuestMonitorStatus_T GuestMonitorStatus
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("8fa1964c-8774-11e9-ae5d-1f419105e68d") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0111
    {
        ScreenLayoutMode_Apply	= 0,
        ScreenLayoutMode_Reset	= 1,
        ScreenLayoutMode_Attach	= 2,
        ScreenLayoutMode_Silent	= 3
    } 	ScreenLayoutMode;

#define ScreenLayoutMode_T ScreenLayoutMode
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("cbfd17fa-fdc3-4d1c-97ec-4674da8d2a5d") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0112
    {
        NetworkAttachmentType_Null	= 0,
        NetworkAttachmentType_NAT	= 1,
        NetworkAttachmentType_Bridged	= 2,
        NetworkAttachmentType_Internal	= 3,
        NetworkAttachmentType_HostOnly	= 4,
        NetworkAttachmentType_Generic	= 5,
        NetworkAttachmentType_NATNetwork	= 6,
        NetworkAttachmentType_Cloud	= 7,
        NetworkAttachmentType_HostOnlyNetwork	= 8
    } 	NetworkAttachmentType;

#define NetworkAttachmentType_T NetworkAttachmentType
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("3c2281e4-d952-4e87-8c7d-24379cb6a81c") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0113
    {
        NetworkAdapterType_Null	= 0,
        NetworkAdapterType_Am79C970A	= 1,
        NetworkAdapterType_Am79C973	= 2,
        NetworkAdapterType_I82540EM	= 3,
        NetworkAdapterType_I82543GC	= 4,
        NetworkAdapterType_I82545EM	= 5,
        NetworkAdapterType_Virtio	= 6,
        NetworkAdapterType_Am79C960	= 7,
        NetworkAdapterType_NE2000	= 8,
        NetworkAdapterType_NE1000	= 9,
        NetworkAdapterType_WD8013	= 10,
        NetworkAdapterType_WD8003	= 11,
        NetworkAdapterType_ELNK2	= 12,
        NetworkAdapterType_ELNK1	= 13
    } 	NetworkAdapterType;

#define NetworkAdapterType_T NetworkAdapterType
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("c963768a-376f-4c85-8d84-d8ced4b7269e") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0114
    {
        NetworkAdapterPromiscModePolicy_Deny	= 1,
        NetworkAdapterPromiscModePolicy_AllowNetwork	= 2,
        NetworkAdapterPromiscModePolicy_AllowAll	= 3
    } 	NetworkAdapterPromiscModePolicy;

#define NetworkAdapterPromiscModePolicy_T NetworkAdapterPromiscModePolicy
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("7485fcfd-d603-470a-87af-26d33beb7de9") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0115
    {
        PortMode_Disconnected	= 0,
        PortMode_HostPipe	= 1,
        PortMode_HostDevice	= 2,
        PortMode_RawFile	= 3,
        PortMode_TCP	= 4
    } 	PortMode;

#define PortMode_T PortMode
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("c8899d39-0b90-4265-9d02-1e38bd4d1b39") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0116
    {
        UartType_U16450	= 0,
        UartType_U16550A	= 1,
        UartType_U16750	= 2
    } 	UartType;

#define UartType_T UartType
typedef /* [public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("8fdd1c6a-5412-41da-ab07-7baed7d6e18e") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0117
    {
        USBControllerType_Null	= 0,
        USBControllerType_OHCI	= 1,
        USBControllerType_EHCI	= 2,
        USBControllerType_XHCI	= 3,
        USBControllerType_Last	= 4
    } 	USBControllerType;

#define USBControllerType_T USBControllerType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("d2915840-ea26-4fb4-b72a-21eaf6b888ff") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0118
    {
        USBConnectionSpeed_Null	= 0,
        USBConnectionSpeed_Low	= 1,
        USBConnectionSpeed_Full	= 2,
        USBConnectionSpeed_High	= 3,
        USBConnectionSpeed_Super	= 4,
        USBConnectionSpeed_SuperPlus	= 5
    } 	USBConnectionSpeed;

#define USBConnectionSpeed_T USBConnectionSpeed
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("b99a2e65-67fb-4882-82fd-f3e5e8193ab4") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0119
    {
        USBDeviceState_NotSupported	= 0,
        USBDeviceState_Unavailable	= 1,
        USBDeviceState_Busy	= 2,
        USBDeviceState_Available	= 3,
        USBDeviceState_Held	= 4,
        USBDeviceState_Captured	= 5
    } 	USBDeviceState;

#define USBDeviceState_T USBDeviceState
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("cbc30a49-2f4e-43b5-9da6-121320475933") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0120
    {
        USBDeviceFilterAction_Null	= 0,
        USBDeviceFilterAction_Ignore	= 1,
        USBDeviceFilterAction_Hold	= 2
    } 	USBDeviceFilterAction;

#define USBDeviceFilterAction_T USBDeviceFilterAction
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("32b4acfd-79ab-4b7e-9a1c-92e99f4e000b") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0121
    {
        AudioDriverType_Default	= 0,
        AudioDriverType_Null	= 1,
        AudioDriverType_OSS	= 2,
        AudioDriverType_ALSA	= 3,
        AudioDriverType_Pulse	= 4,
        AudioDriverType_WinMM	= 5,
        AudioDriverType_DirectSound	= 6,
        AudioDriverType_WAS	= 7,
        AudioDriverType_CoreAudio	= 8,
        AudioDriverType_MMPM	= 9,
        AudioDriverType_SolAudio	= 10
    } 	AudioDriverType;

#define AudioDriverType_T AudioDriverType
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("6389dcc9-4e60-4983-9418-299e602efafc") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0122
    {
        AudioControllerType_AC97	= 0,
        AudioControllerType_SB16	= 1,
        AudioControllerType_HDA	= 2,
        AudioControllerType_VirtioSound	= 3
    } 	AudioControllerType;

#define AudioControllerType_T AudioControllerType
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("7b406301-f520-420c-9805-8ce11c086370") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0123
    {
        AudioCodecType_Null	= 0,
        AudioCodecType_SB16	= 1,
        AudioCodecType_STAC9700	= 2,
        AudioCodecType_AD1980	= 3,
        AudioCodecType_STAC9221	= 4
    } 	AudioCodecType;

#define AudioCodecType_T AudioCodecType
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("f27d209b-040c-4ae9-beae-85f9693ca07a") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0124
    {
        AudioDirection_Unknown	= 0,
        AudioDirection_In	= 1,
        AudioDirection_Out	= 2,
        AudioDirection_Duplex	= 3
    } 	AudioDirection;

#define AudioDirection_T AudioDirection
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("95457071-ef88-45a9-8416-fc05b08731d2") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0125
    {
        AudioDeviceType_Unknown	= 0,
        AudioDeviceType_BuiltLin	= 1,
        AudioDeviceType_ExternalUSB	= 2,
        AudioDeviceType_ExternalOther	= 3
    } 	AudioDeviceType;

#define AudioDeviceType_T AudioDeviceType
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("45c1b969-556a-4277-8570-b438d2ef5ebe") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0126
    {
        AudioDeviceState_Unknown	= 0,
        AudioDeviceState_Active	= 1,
        AudioDeviceState_Disabled	= 2,
        AudioDeviceState_NotPresent	= 3,
        AudioDeviceState_Unplugged	= 4
    } 	AudioDeviceState;

#define AudioDeviceState_T AudioDeviceState
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("7eef6ef6-98c2-4dc2-ab35-10d2b292028d") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0127
    {
        AuthType_Null	= 0,
        AuthType_External	= 1,
        AuthType_Guest	= 2
    } 	AuthType;

#define AuthType_T AuthType
typedef /* [public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("e7e8e097-299d-4e98-8bbc-c31c2d47d0cc") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0128
    {
        Reason_Unspecified	= 0,
        Reason_HostSuspend	= 1,
        Reason_HostResume	= 2,
        Reason_HostBatteryLow	= 3,
        Reason_Snapshot	= 4
    } 	Reason;

#define Reason_T Reason
typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("f9510869-7d07-46ba-96a6-6728fbf4adee") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0129
    {
        StorageBus_Null	= 0,
        StorageBus_IDE	= 1,
        StorageBus_SATA	= 2,
        StorageBus_SCSI	= 3,
        StorageBus_Floppy	= 4,
        StorageBus_SAS	= 5,
        StorageBus_USB	= 6,
        StorageBus_PCIe	= 7,
        StorageBus_VirtioSCSI	= 8
    } 	StorageBus;

#define StorageBus_T StorageBus
typedef /* [public][public][public][public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("a77d457d-66a3-4368-b24c-293d0f562a9f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0130
    {
        StorageControllerType_Null	= 0,
        StorageControllerType_LsiLogic	= 1,
        StorageControllerType_BusLogic	= 2,
        StorageControllerType_IntelAhci	= 3,
        StorageControllerType_PIIX3	= 4,
        StorageControllerType_PIIX4	= 5,
        StorageControllerType_ICH6	= 6,
        StorageControllerType_I82078	= 7,
        StorageControllerType_LsiLogicSas	= 8,
        StorageControllerType_USB	= 9,
        StorageControllerType_NVMe	= 10,
        StorageControllerType_VirtioSCSI	= 11
    } 	StorageControllerType;

#define StorageControllerType_T StorageControllerType
typedef /* [public][public][public][public][public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("733d5f16-1f47-4e25-b272-d7c138bc2e3d") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0131
    {
        ChipsetType_Null	= 0,
        ChipsetType_PIIX3	= 1,
        ChipsetType_ICH9	= 2,
        ChipsetType_ARMv8Virtual	= 3
    } 	ChipsetType;

#define ChipsetType_T ChipsetType
typedef /* [public][v1_enum][uuid] */  DECLSPEC_UUID("67772168-50d9-11df-9669-7fb714ee4fa1") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0132
    {
        NATAliasMode_AliasLog	= 0x1,
        NATAliasMode_AliasProxyOnly	= 0x2,
        NATAliasMode_AliasUseSamePorts	= 0x4
    } 	NATAliasMode;

#define NATAliasMode_T NATAliasMode
typedef /* [public][public][public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("e90164be-eb03-11de-94af-fff9b1c1b19f") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0133
    {
        NATProtocol_UDP	= 0,
        NATProtocol_TCP	= 1
    } 	NATProtocol;

#define NATProtocol_T NATProtocol
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("1d92b67d-dc69-4be9-ad4c-93a01e1e0c8e") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0134
    {
        BandwidthGroupType_Null	= 0,
        BandwidthGroupType_Disk	= 1,
        BandwidthGroupType_Network	= 2
    } 	BandwidthGroupType;

#define BandwidthGroupType_T BandwidthGroupType
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("acdaddc5-aa0f-4f2e-be1f-a9be2828d24a") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0135
    {
        GuestDebugProvider_None	= 0,
        GuestDebugProvider_Native	= 1,
        GuestDebugProvider_GDB	= 2,
        GuestDebugProvider_KD	= 3
    } 	GuestDebugProvider;

#define GuestDebugProvider_T GuestDebugProvider
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("0cf00b1b-2ff7-414c-81c6-6cf410eaec4a") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0136
    {
        GuestDebugIoProvider_None	= 0,
        GuestDebugIoProvider_TCP	= 1,
        GuestDebugIoProvider_UDP	= 2,
        GuestDebugIoProvider_IPC	= 3
    } 	GuestDebugIoProvider;

#define GuestDebugIoProvider_T GuestDebugIoProvider
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("0c8f8bd7-c5d8-4085-83c2-558a4025b215") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0137
    {
        VBoxEventType_Invalid	= 0,
        VBoxEventType_Any	= 1,
        VBoxEventType_Vetoable	= 2,
        VBoxEventType_MachineEvent	= 3,
        VBoxEventType_SnapshotEvent	= 4,
        VBoxEventType_InputEvent	= 5,
        VBoxEventType_LastWildcard	= 31,
        VBoxEventType_OnMachineStateChanged	= 32,
        VBoxEventType_OnMachineDataChanged	= 33,
        VBoxEventType_OnExtraDataChanged	= 34,
        VBoxEventType_OnExtraDataCanChange	= 35,
        VBoxEventType_OnMediumRegistered	= 36,
        VBoxEventType_OnMachineRegistered	= 37,
        VBoxEventType_OnSessionStateChanged	= 38,
        VBoxEventType_OnSnapshotTaken	= 39,
        VBoxEventType_OnSnapshotDeleted	= 40,
        VBoxEventType_OnSnapshotChanged	= 41,
        VBoxEventType_OnGuestPropertyChanged	= 42,
        VBoxEventType_OnMousePointerShapeChanged	= 43,
        VBoxEventType_OnMouseCapabilityChanged	= 44,
        VBoxEventType_OnKeyboardLedsChanged	= 45,
        VBoxEventType_OnStateChanged	= 46,
        VBoxEventType_OnAdditionsStateChanged	= 47,
        VBoxEventType_OnNetworkAdapterChanged	= 48,
        VBoxEventType_OnSerialPortChanged	= 49,
        VBoxEventType_OnParallelPortChanged	= 50,
        VBoxEventType_OnStorageControllerChanged	= 51,
        VBoxEventType_OnMediumChanged	= 52,
        VBoxEventType_OnVRDEServerChanged	= 53,
        VBoxEventType_OnUSBControllerChanged	= 54,
        VBoxEventType_OnUSBDeviceStateChanged	= 55,
        VBoxEventType_OnSharedFolderChanged	= 56,
        VBoxEventType_OnRuntimeError	= 57,
        VBoxEventType_OnCanShowWindow	= 58,
        VBoxEventType_OnShowWindow	= 59,
        VBoxEventType_OnCPUChanged	= 60,
        VBoxEventType_OnVRDEServerInfoChanged	= 61,
        VBoxEventType_OnEventSourceChanged	= 62,
        VBoxEventType_OnCPUExecutionCapChanged	= 63,
        VBoxEventType_OnGuestKeyboard	= 64,
        VBoxEventType_OnGuestMouse	= 65,
        VBoxEventType_OnNATRedirect	= 66,
        VBoxEventType_OnHostPCIDevicePlug	= 67,
        VBoxEventType_OnVBoxSVCAvailabilityChanged	= 68,
        VBoxEventType_OnBandwidthGroupChanged	= 69,
        VBoxEventType_OnGuestMonitorChanged	= 70,
        VBoxEventType_OnStorageDeviceChanged	= 71,
        VBoxEventType_OnClipboardModeChanged	= 72,
        VBoxEventType_OnDnDModeChanged	= 73,
        VBoxEventType_OnNATNetworkChanged	= 74,
        VBoxEventType_OnNATNetworkStartStop	= 75,
        VBoxEventType_OnNATNetworkAlter	= 76,
        VBoxEventType_OnNATNetworkCreationDeletion	= 77,
        VBoxEventType_OnNATNetworkSetting	= 78,
        VBoxEventType_OnNATNetworkPortForward	= 79,
        VBoxEventType_OnGuestSessionStateChanged	= 80,
        VBoxEventType_OnGuestSessionRegistered	= 81,
        VBoxEventType_OnGuestProcessRegistered	= 82,
        VBoxEventType_OnGuestProcessStateChanged	= 83,
        VBoxEventType_OnGuestProcessInputNotify	= 84,
        VBoxEventType_OnGuestProcessOutput	= 85,
        VBoxEventType_OnGuestFileRegistered	= 86,
        VBoxEventType_OnGuestFileStateChanged	= 87,
        VBoxEventType_OnGuestFileOffsetChanged	= 88,
        VBoxEventType_OnGuestFileRead	= 89,
        VBoxEventType_OnGuestFileWrite	= 90,
        VBoxEventType_OnRecordingStateChanged	= 91,
        VBoxEventType_OnGuestUserStateChanged	= 92,
        VBoxEventType_OnGuestMultiTouch	= 93,
        VBoxEventType_OnHostNameResolutionConfigurationChange	= 94,
        VBoxEventType_OnSnapshotRestored	= 95,
        VBoxEventType_OnMediumConfigChanged	= 96,
        VBoxEventType_OnAudioAdapterChanged	= 97,
        VBoxEventType_OnProgressPercentageChanged	= 98,
        VBoxEventType_OnProgressTaskCompleted	= 99,
        VBoxEventType_OnCursorPositionChanged	= 100,
        VBoxEventType_OnGuestAdditionsStatusChanged	= 101,
        VBoxEventType_OnGuestMonitorInfoChanged	= 102,
        VBoxEventType_OnGuestFileSizeChanged	= 103,
        VBoxEventType_OnClipboardFileTransferModeChanged	= 104,
        VBoxEventType_OnCloudProviderListChanged	= 105,
        VBoxEventType_OnCloudProviderRegistered	= 106,
        VBoxEventType_OnCloudProviderUninstall	= 107,
        VBoxEventType_OnCloudProfileRegistered	= 108,
        VBoxEventType_OnCloudProfileChanged	= 109,
        VBoxEventType_OnProgressCreated	= 110,
        VBoxEventType_OnLanguageChanged	= 111,
        VBoxEventType_OnUpdateAgentAvailable	= 112,
        VBoxEventType_OnUpdateAgentError	= 113,
        VBoxEventType_OnUpdateAgentSettingsChanged	= 114,
        VBoxEventType_OnUpdateAgentStateChanged	= 115,
        VBoxEventType_OnHostAudioDeviceChanged	= 116,
        VBoxEventType_OnGuestDebugControlChanged	= 117,
        VBoxEventType_OnMachineGroupsChanged	= 118,
        VBoxEventType_OnGuestDirectoryRegistered	= 119,
        VBoxEventType_OnGuestDirectoryStateChanged	= 120,
        VBoxEventType_OnGuestDirectoryRead	= 121,
        VBoxEventType_OnClipboardError	= 122,
        VBoxEventType_OnExtPackInstalled	= 123,
        VBoxEventType_OnExtPackUninstalled	= 124,
        VBoxEventType_OnRecordingScreenStateChanged	= 125,
        VBoxEventType_End	= 126
    } 	VBoxEventType;

#define VBoxEventType_T VBoxEventType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("4b500146-ebba-4b7c-bc29-69c2d57a5caf") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0138
    {
        GuestMouseEventMode_Relative	= 0,
        GuestMouseEventMode_Absolute	= 1
    } 	GuestMouseEventMode;

#define GuestMouseEventMode_T GuestMouseEventMode
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("ef172985-7e36-4297-95be-e46396968d66") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0139
    {
        GuestMonitorChangedEventType_Enabled	= 0,
        GuestMonitorChangedEventType_Disabled	= 1,
        GuestMonitorChangedEventType_NewOrigin	= 2
    } 	GuestMonitorChangedEventType;

#define GuestMonitorChangedEventType_T GuestMonitorChangedEventType
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("5f10e2f2-911f-4f55-8afb-39c790f7dc42") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0140
    {
        FormValueType_Boolean	= 0,
        FormValueType_String	= 1,
        FormValueType_Choice	= 2,
        FormValueType_RangedInteger	= 3,
        FormValueType_RangedInteger64	= 4
    } 	FormValueType;

#define FormValueType_T FormValueType
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("67b6d054-0154-4f5d-b71b-6ac406e1ff78") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0141
    {
        CloudMachineState_Invalid	= 0,
        CloudMachineState_Provisioning	= 1,
        CloudMachineState_Running	= 2,
        CloudMachineState_Starting	= 3,
        CloudMachineState_Stopping	= 4,
        CloudMachineState_Stopped	= 5,
        CloudMachineState_CreatingImage	= 6,
        CloudMachineState_Terminating	= 7,
        CloudMachineState_Terminated	= 8
    } 	CloudMachineState;

#define CloudMachineState_T CloudMachineState
typedef /* [public][public][v1_enum][uuid] */  DECLSPEC_UUID("6e5d6762-eea2-4f2c-b104-2952d0aa8a0a") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0142
    {
        CloudImageState_Invalid	= 0,
        CloudImageState_Provisioning	= 1,
        CloudImageState_Importing	= 2,
        CloudImageState_Available	= 3,
        CloudImageState_Exporting	= 4,
        CloudImageState_Disabled	= 5,
        CloudImageState_Deleted	= 6
    } 	CloudImageState;

#define CloudImageState_T CloudImageState
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("adf26edc-7e32-11ee-b962-0242ac120002") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0143
    {
        MetricType_Invalid	= 0,
        MetricType_CpuUtilization	= 1,
        MetricType_MemoryUtilization	= 2,
        MetricType_DiskBytesRead	= 3,
        MetricType_DiskBytesWritten	= 4,
        MetricType_NetworksBytesIn	= 5,
        MetricType_NetworksBytesOut	= 6
    } 	MetricType;

#define MetricType_T MetricType
typedef /* [public][public][public][v1_enum][uuid] */  DECLSPEC_UUID("a818472e-215d-4279-8af8-eac4c0517bcc") 
enum __MIDL___MIDL_itf_VirtualBox_0000_0000_0144
    {
        SymlinkPolicy_None	= 0,
        SymlinkPolicy_Forbidden	= 1,
        SymlinkPolicy_AllowedInShareSubtree	= 2,
        SymlinkPolicy_AllowedToRelativeTargets	= 3,
        SymlinkPolicy_AllowedToAnyTarget	= 4
    } 	SymlinkPolicy;

#define SymlinkPolicy_T SymlinkPolicy


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0000_v0_0_s_ifspec;

#ifndef __IVirtualBoxErrorInfo_INTERFACE_DEFINED__
#define __IVirtualBoxErrorInfo_INTERFACE_DEFINED__

/* interface IVirtualBoxErrorInfo */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVirtualBoxErrorInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c1bcc6d5-7966-481d-ab0b-d0ed73e28135")
    IVirtualBoxErrorInfo : public IErrorInfo
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResultCode( 
            /* [retval][out] */ LONG *aResultCode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResultDetail( 
            /* [retval][out] */ LONG *aResultDetail) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InterfaceID( 
            /* [retval][out] */ BSTR *aInterfaceID) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Component( 
            /* [retval][out] */ BSTR *aComponent) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *aText) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Next( 
            /* [retval][out] */ IVirtualBoxErrorInfo **aNext) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVirtualBoxErrorInfoVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVirtualBoxErrorInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVirtualBoxErrorInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVirtualBoxErrorInfo * This);
        
        DECLSPEC_XFGVIRT(IErrorInfo, GetGUID)
        HRESULT ( STDMETHODCALLTYPE *GetGUID )( 
            IVirtualBoxErrorInfo * This,
            /* [out] */ GUID *pGUID);
        
        DECLSPEC_XFGVIRT(IErrorInfo, GetSource)
        HRESULT ( STDMETHODCALLTYPE *GetSource )( 
            IVirtualBoxErrorInfo * This,
            /* [out] */ BSTR *pBstrSource);
        
        DECLSPEC_XFGVIRT(IErrorInfo, GetDescription)
        HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
            IVirtualBoxErrorInfo * This,
            /* [out] */ BSTR *pBstrDescription);
        
        DECLSPEC_XFGVIRT(IErrorInfo, GetHelpFile)
        HRESULT ( STDMETHODCALLTYPE *GetHelpFile )( 
            IVirtualBoxErrorInfo * This,
            /* [out] */ BSTR *pBstrHelpFile);
        
        DECLSPEC_XFGVIRT(IErrorInfo, GetHelpContext)
        HRESULT ( STDMETHODCALLTYPE *GetHelpContext )( 
            IVirtualBoxErrorInfo * This,
            /* [out] */ DWORD *pdwHelpContext);
        
        DECLSPEC_XFGVIRT(IVirtualBoxErrorInfo, get_ResultCode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResultCode )( 
            IVirtualBoxErrorInfo * This,
            /* [retval][out] */ LONG *aResultCode);
        
        DECLSPEC_XFGVIRT(IVirtualBoxErrorInfo, get_ResultDetail)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResultDetail )( 
            IVirtualBoxErrorInfo * This,
            /* [retval][out] */ LONG *aResultDetail);
        
        DECLSPEC_XFGVIRT(IVirtualBoxErrorInfo, get_InterfaceID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InterfaceID )( 
            IVirtualBoxErrorInfo * This,
            /* [retval][out] */ BSTR *aInterfaceID);
        
        DECLSPEC_XFGVIRT(IVirtualBoxErrorInfo, get_Component)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Component )( 
            IVirtualBoxErrorInfo * This,
            /* [retval][out] */ BSTR *aComponent);
        
        DECLSPEC_XFGVIRT(IVirtualBoxErrorInfo, get_Text)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            IVirtualBoxErrorInfo * This,
            /* [retval][out] */ BSTR *aText);
        
        DECLSPEC_XFGVIRT(IVirtualBoxErrorInfo, get_Next)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Next )( 
            IVirtualBoxErrorInfo * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aNext);
        
        END_INTERFACE
    } IVirtualBoxErrorInfoVtbl;

    interface IVirtualBoxErrorInfo
    {
        CONST_VTBL struct IVirtualBoxErrorInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVirtualBoxErrorInfo_GetGUID(This,pGUID)	\
    ( (This)->lpVtbl -> GetGUID(This,pGUID) ) 

#define IVirtualBoxErrorInfo_GetSource(This,pBstrSource)	\
    ( (This)->lpVtbl -> GetSource(This,pBstrSource) ) 

#define IVirtualBoxErrorInfo_GetDescription(This,pBstrDescription)	\
    ( (This)->lpVtbl -> GetDescription(This,pBstrDescription) ) 

#define IVirtualBoxErrorInfo_GetHelpFile(This,pBstrHelpFile)	\
    ( (This)->lpVtbl -> GetHelpFile(This,pBstrHelpFile) ) 

#define IVirtualBoxErrorInfo_GetHelpContext(This,pdwHelpContext)	\
    ( (This)->lpVtbl -> GetHelpContext(This,pdwHelpContext) ) 


#define IVirtualBoxErrorInfo_get_ResultCode(This,aResultCode)	\
    ( (This)->lpVtbl -> get_ResultCode(This,aResultCode) ) 

#define IVirtualBoxErrorInfo_get_ResultDetail(This,aResultDetail)	\
    ( (This)->lpVtbl -> get_ResultDetail(This,aResultDetail) ) 

#define IVirtualBoxErrorInfo_get_InterfaceID(This,aInterfaceID)	\
    ( (This)->lpVtbl -> get_InterfaceID(This,aInterfaceID) ) 

#define IVirtualBoxErrorInfo_get_Component(This,aComponent)	\
    ( (This)->lpVtbl -> get_Component(This,aComponent) ) 

#define IVirtualBoxErrorInfo_get_Text(This,aText)	\
    ( (This)->lpVtbl -> get_Text(This,aText) ) 

#define IVirtualBoxErrorInfo_get_Next(This,aNext)	\
    ( (This)->lpVtbl -> get_Next(This,aNext) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVirtualBoxErrorInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0001 */
/* [local] */ 

#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultCode_TO(smth) HRESULT STDMETHODCALLTYPE get_ResultCode (LONG * aResultCode) { return smth get_ResultCode (aResultCode); }
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultCode_TO_OBJ(obj) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultCode_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultCode_TO_BASE(base) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultCode_TO (base::)
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultDetail_TO(smth) HRESULT STDMETHODCALLTYPE get_ResultDetail (LONG * aResultDetail) { return smth get_ResultDetail (aResultDetail); }
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultDetail_TO_OBJ(obj) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultDetail_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultDetail_TO_BASE(base) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultDetail_TO (base::)
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_InterfaceID_TO(smth) HRESULT STDMETHODCALLTYPE get_InterfaceID (BSTR * aInterfaceID) { return smth get_InterfaceID (aInterfaceID); }
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_InterfaceID_TO_OBJ(obj) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_InterfaceID_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_InterfaceID_TO_BASE(base) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_InterfaceID_TO (base::)
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Component_TO(smth) HRESULT STDMETHODCALLTYPE get_Component (BSTR * aComponent) { return smth get_Component (aComponent); }
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Component_TO_OBJ(obj) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Component_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Component_TO_BASE(base) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Component_TO (base::)
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Text_TO(smth) HRESULT STDMETHODCALLTYPE get_Text (BSTR * aText) { return smth get_Text (aText); }
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Text_TO_OBJ(obj) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Text_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Text_TO_BASE(base) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Text_TO (base::)
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Next_TO(smth) HRESULT STDMETHODCALLTYPE get_Next (IVirtualBoxErrorInfo * * aNext) { return smth get_Next (aNext); }
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Next_TO_OBJ(obj) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Next_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Next_TO_BASE(base) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Next_TO (base::)
#define COM_FORWARD_IVirtualBoxErrorInfo_TO(smth) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultCode_TO (smth) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_ResultDetail_TO (smth) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_InterfaceID_TO (smth) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Component_TO (smth) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Text_TO (smth) COM_FORWARD_IVirtualBoxErrorInfo_GETTER_Next_TO (smth) 
#define COM_FORWARD_IVirtualBoxErrorInfo_TO_OBJ(obj) COM_FORWARD_IVirtualBoxErrorInfo_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxErrorInfo_TO_BASE(base) COM_FORWARD_IVirtualBoxErrorInfo_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0001_v0_0_s_ifspec;

#ifndef __INATNetwork_INTERFACE_DEFINED__
#define __INATNetwork_INTERFACE_DEFINED__

/* interface INATNetwork */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INATNetwork;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4fdebbf0-be30-49c0-b315-e9749e1bded1")
    INATNetwork : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkName( 
            /* [retval][out] */ BSTR *aNetworkName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NetworkName( 
            /* [in] */ BSTR aNetworkName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Network( 
            /* [retval][out] */ BSTR *aNetwork) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Network( 
            /* [in] */ BSTR aNetwork) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Gateway( 
            /* [retval][out] */ BSTR *aGateway) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IPv6Enabled( 
            /* [retval][out] */ BOOL *aIPv6Enabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IPv6Enabled( 
            /* [in] */ BOOL aIPv6Enabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IPv6Prefix( 
            /* [retval][out] */ BSTR *aIPv6Prefix) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IPv6Prefix( 
            /* [in] */ BSTR aIPv6Prefix) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdvertiseDefaultIPv6RouteEnabled( 
            /* [retval][out] */ BOOL *aAdvertiseDefaultIPv6RouteEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AdvertiseDefaultIPv6RouteEnabled( 
            /* [in] */ BOOL aAdvertiseDefaultIPv6RouteEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NeedDhcpServer( 
            /* [retval][out] */ BOOL *aNeedDhcpServer) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NeedDhcpServer( 
            /* [in] */ BOOL aNeedDhcpServer) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortForwardRules4( 
            /* [retval][out] */ SAFEARRAY * *aPortForwardRules4) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalMappings( 
            /* [retval][out] */ SAFEARRAY * *aLocalMappings) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LoopbackIp6( 
            /* [retval][out] */ LONG *aLoopbackIp6) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LoopbackIp6( 
            /* [in] */ LONG aLoopbackIp6) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortForwardRules6( 
            /* [retval][out] */ SAFEARRAY * *aPortForwardRules6) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1INATNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2INATNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3INATNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4INATNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5INATNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6INATNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7INATNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8INATNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddLocalMapping( 
            /* [in] */ BSTR aHostid,
            /* [in] */ LONG aOffset) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddPortForwardRule( 
            /* [in] */ BOOL aIsIpv6,
            /* [in] */ BSTR aRuleName,
            /* [in] */ NATProtocol aProto,
            /* [in] */ BSTR aHostIP,
            /* [in] */ USHORT aHostPort,
            /* [in] */ BSTR aGuestIP,
            /* [in] */ USHORT aGuestPort) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemovePortForwardRule( 
            /* [in] */ BOOL aIsIpv6,
            /* [in] */ BSTR aRuleName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Start( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1INATNetwork( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2INATNetwork( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INATNetworkVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INATNetwork * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INATNetwork * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INATNetwork * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INATNetwork * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INATNetwork * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INATNetwork * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INATNetwork * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_NetworkName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkName )( 
            INATNetwork * This,
            /* [retval][out] */ BSTR *aNetworkName);
        
        DECLSPEC_XFGVIRT(INATNetwork, put_NetworkName)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NetworkName )( 
            INATNetwork * This,
            /* [in] */ BSTR aNetworkName);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            INATNetwork * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(INATNetwork, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            INATNetwork * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_Network)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Network )( 
            INATNetwork * This,
            /* [retval][out] */ BSTR *aNetwork);
        
        DECLSPEC_XFGVIRT(INATNetwork, put_Network)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Network )( 
            INATNetwork * This,
            /* [in] */ BSTR aNetwork);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_Gateway)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Gateway )( 
            INATNetwork * This,
            /* [retval][out] */ BSTR *aGateway);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_IPv6Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IPv6Enabled )( 
            INATNetwork * This,
            /* [retval][out] */ BOOL *aIPv6Enabled);
        
        DECLSPEC_XFGVIRT(INATNetwork, put_IPv6Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IPv6Enabled )( 
            INATNetwork * This,
            /* [in] */ BOOL aIPv6Enabled);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_IPv6Prefix)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IPv6Prefix )( 
            INATNetwork * This,
            /* [retval][out] */ BSTR *aIPv6Prefix);
        
        DECLSPEC_XFGVIRT(INATNetwork, put_IPv6Prefix)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IPv6Prefix )( 
            INATNetwork * This,
            /* [in] */ BSTR aIPv6Prefix);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_AdvertiseDefaultIPv6RouteEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdvertiseDefaultIPv6RouteEnabled )( 
            INATNetwork * This,
            /* [retval][out] */ BOOL *aAdvertiseDefaultIPv6RouteEnabled);
        
        DECLSPEC_XFGVIRT(INATNetwork, put_AdvertiseDefaultIPv6RouteEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AdvertiseDefaultIPv6RouteEnabled )( 
            INATNetwork * This,
            /* [in] */ BOOL aAdvertiseDefaultIPv6RouteEnabled);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_NeedDhcpServer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NeedDhcpServer )( 
            INATNetwork * This,
            /* [retval][out] */ BOOL *aNeedDhcpServer);
        
        DECLSPEC_XFGVIRT(INATNetwork, put_NeedDhcpServer)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NeedDhcpServer )( 
            INATNetwork * This,
            /* [in] */ BOOL aNeedDhcpServer);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            INATNetwork * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_PortForwardRules4)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortForwardRules4 )( 
            INATNetwork * This,
            /* [retval][out] */ SAFEARRAY * *aPortForwardRules4);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_LocalMappings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalMappings )( 
            INATNetwork * This,
            /* [retval][out] */ SAFEARRAY * *aLocalMappings);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_LoopbackIp6)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LoopbackIp6 )( 
            INATNetwork * This,
            /* [retval][out] */ LONG *aLoopbackIp6);
        
        DECLSPEC_XFGVIRT(INATNetwork, put_LoopbackIp6)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LoopbackIp6 )( 
            INATNetwork * This,
            /* [in] */ LONG aLoopbackIp6);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_PortForwardRules6)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortForwardRules6 )( 
            INATNetwork * This,
            /* [retval][out] */ SAFEARRAY * *aPortForwardRules6);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_InternalAndReservedAttribute1INATNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1INATNetwork )( 
            INATNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_InternalAndReservedAttribute2INATNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2INATNetwork )( 
            INATNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_InternalAndReservedAttribute3INATNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3INATNetwork )( 
            INATNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_InternalAndReservedAttribute4INATNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4INATNetwork )( 
            INATNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_InternalAndReservedAttribute5INATNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5INATNetwork )( 
            INATNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_InternalAndReservedAttribute6INATNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6INATNetwork )( 
            INATNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_InternalAndReservedAttribute7INATNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7INATNetwork )( 
            INATNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATNetwork, get_InternalAndReservedAttribute8INATNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8INATNetwork )( 
            INATNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATNetwork, AddLocalMapping)
        HRESULT ( STDMETHODCALLTYPE *AddLocalMapping )( 
            INATNetwork * This,
            /* [in] */ BSTR aHostid,
            /* [in] */ LONG aOffset);
        
        DECLSPEC_XFGVIRT(INATNetwork, AddPortForwardRule)
        HRESULT ( STDMETHODCALLTYPE *AddPortForwardRule )( 
            INATNetwork * This,
            /* [in] */ BOOL aIsIpv6,
            /* [in] */ BSTR aRuleName,
            /* [in] */ NATProtocol aProto,
            /* [in] */ BSTR aHostIP,
            /* [in] */ USHORT aHostPort,
            /* [in] */ BSTR aGuestIP,
            /* [in] */ USHORT aGuestPort);
        
        DECLSPEC_XFGVIRT(INATNetwork, RemovePortForwardRule)
        HRESULT ( STDMETHODCALLTYPE *RemovePortForwardRule )( 
            INATNetwork * This,
            /* [in] */ BOOL aIsIpv6,
            /* [in] */ BSTR aRuleName);
        
        DECLSPEC_XFGVIRT(INATNetwork, Start)
        HRESULT ( STDMETHODCALLTYPE *Start )( 
            INATNetwork * This);
        
        DECLSPEC_XFGVIRT(INATNetwork, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            INATNetwork * This);
        
        DECLSPEC_XFGVIRT(INATNetwork, InternalAndReservedMethod1INATNetwork)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1INATNetwork )( 
            INATNetwork * This);
        
        DECLSPEC_XFGVIRT(INATNetwork, InternalAndReservedMethod2INATNetwork)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2INATNetwork )( 
            INATNetwork * This);
        
        END_INTERFACE
    } INATNetworkVtbl;

    interface INATNetwork
    {
        CONST_VTBL struct INATNetworkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INATNetwork_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INATNetwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INATNetwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INATNetwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INATNetwork_get_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> get_NetworkName(This,aNetworkName) ) 

#define INATNetwork_put_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> put_NetworkName(This,aNetworkName) ) 

#define INATNetwork_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define INATNetwork_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define INATNetwork_get_Network(This,aNetwork)	\
    ( (This)->lpVtbl -> get_Network(This,aNetwork) ) 

#define INATNetwork_put_Network(This,aNetwork)	\
    ( (This)->lpVtbl -> put_Network(This,aNetwork) ) 

#define INATNetwork_get_Gateway(This,aGateway)	\
    ( (This)->lpVtbl -> get_Gateway(This,aGateway) ) 

#define INATNetwork_get_IPv6Enabled(This,aIPv6Enabled)	\
    ( (This)->lpVtbl -> get_IPv6Enabled(This,aIPv6Enabled) ) 

#define INATNetwork_put_IPv6Enabled(This,aIPv6Enabled)	\
    ( (This)->lpVtbl -> put_IPv6Enabled(This,aIPv6Enabled) ) 

#define INATNetwork_get_IPv6Prefix(This,aIPv6Prefix)	\
    ( (This)->lpVtbl -> get_IPv6Prefix(This,aIPv6Prefix) ) 

#define INATNetwork_put_IPv6Prefix(This,aIPv6Prefix)	\
    ( (This)->lpVtbl -> put_IPv6Prefix(This,aIPv6Prefix) ) 

#define INATNetwork_get_AdvertiseDefaultIPv6RouteEnabled(This,aAdvertiseDefaultIPv6RouteEnabled)	\
    ( (This)->lpVtbl -> get_AdvertiseDefaultIPv6RouteEnabled(This,aAdvertiseDefaultIPv6RouteEnabled) ) 

#define INATNetwork_put_AdvertiseDefaultIPv6RouteEnabled(This,aAdvertiseDefaultIPv6RouteEnabled)	\
    ( (This)->lpVtbl -> put_AdvertiseDefaultIPv6RouteEnabled(This,aAdvertiseDefaultIPv6RouteEnabled) ) 

#define INATNetwork_get_NeedDhcpServer(This,aNeedDhcpServer)	\
    ( (This)->lpVtbl -> get_NeedDhcpServer(This,aNeedDhcpServer) ) 

#define INATNetwork_put_NeedDhcpServer(This,aNeedDhcpServer)	\
    ( (This)->lpVtbl -> put_NeedDhcpServer(This,aNeedDhcpServer) ) 

#define INATNetwork_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define INATNetwork_get_PortForwardRules4(This,aPortForwardRules4)	\
    ( (This)->lpVtbl -> get_PortForwardRules4(This,aPortForwardRules4) ) 

#define INATNetwork_get_LocalMappings(This,aLocalMappings)	\
    ( (This)->lpVtbl -> get_LocalMappings(This,aLocalMappings) ) 

#define INATNetwork_get_LoopbackIp6(This,aLoopbackIp6)	\
    ( (This)->lpVtbl -> get_LoopbackIp6(This,aLoopbackIp6) ) 

#define INATNetwork_put_LoopbackIp6(This,aLoopbackIp6)	\
    ( (This)->lpVtbl -> put_LoopbackIp6(This,aLoopbackIp6) ) 

#define INATNetwork_get_PortForwardRules6(This,aPortForwardRules6)	\
    ( (This)->lpVtbl -> get_PortForwardRules6(This,aPortForwardRules6) ) 

#define INATNetwork_get_InternalAndReservedAttribute1INATNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1INATNetwork(This,aReserved) ) 

#define INATNetwork_get_InternalAndReservedAttribute2INATNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2INATNetwork(This,aReserved) ) 

#define INATNetwork_get_InternalAndReservedAttribute3INATNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3INATNetwork(This,aReserved) ) 

#define INATNetwork_get_InternalAndReservedAttribute4INATNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4INATNetwork(This,aReserved) ) 

#define INATNetwork_get_InternalAndReservedAttribute5INATNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5INATNetwork(This,aReserved) ) 

#define INATNetwork_get_InternalAndReservedAttribute6INATNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6INATNetwork(This,aReserved) ) 

#define INATNetwork_get_InternalAndReservedAttribute7INATNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7INATNetwork(This,aReserved) ) 

#define INATNetwork_get_InternalAndReservedAttribute8INATNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8INATNetwork(This,aReserved) ) 

#define INATNetwork_AddLocalMapping(This,aHostid,aOffset)	\
    ( (This)->lpVtbl -> AddLocalMapping(This,aHostid,aOffset) ) 

#define INATNetwork_AddPortForwardRule(This,aIsIpv6,aRuleName,aProto,aHostIP,aHostPort,aGuestIP,aGuestPort)	\
    ( (This)->lpVtbl -> AddPortForwardRule(This,aIsIpv6,aRuleName,aProto,aHostIP,aHostPort,aGuestIP,aGuestPort) ) 

#define INATNetwork_RemovePortForwardRule(This,aIsIpv6,aRuleName)	\
    ( (This)->lpVtbl -> RemovePortForwardRule(This,aIsIpv6,aRuleName) ) 

#define INATNetwork_Start(This)	\
    ( (This)->lpVtbl -> Start(This) ) 

#define INATNetwork_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define INATNetwork_InternalAndReservedMethod1INATNetwork(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1INATNetwork(This) ) 

#define INATNetwork_InternalAndReservedMethod2INATNetwork(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2INATNetwork(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INATNetwork_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0002 */
/* [local] */ 

#define COM_FORWARD_INATNetwork_GETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkName (BSTR * aNetworkName) { return smth get_NetworkName (aNetworkName); }
#define COM_FORWARD_INATNetwork_GETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_NetworkName_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_NetworkName_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_NetworkName_TO (base::)
#define COM_FORWARD_INATNetwork_SETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE put_NetworkName (BSTR aNetworkName) { return smth put_NetworkName (aNetworkName); }
#define COM_FORWARD_INATNetwork_SETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_NetworkName_TO ((obj)->)
#define COM_FORWARD_INATNetwork_SETTER_NetworkName_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_NetworkName_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_INATNetwork_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_Enabled_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_Enabled_TO (base::)
#define COM_FORWARD_INATNetwork_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_INATNetwork_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_INATNetwork_SETTER_Enabled_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_Enabled_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_Network_TO(smth) HRESULT STDMETHODCALLTYPE get_Network (BSTR * aNetwork) { return smth get_Network (aNetwork); }
#define COM_FORWARD_INATNetwork_GETTER_Network_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_Network_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_Network_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_Network_TO (base::)
#define COM_FORWARD_INATNetwork_SETTER_Network_TO(smth) HRESULT STDMETHODCALLTYPE put_Network (BSTR aNetwork) { return smth put_Network (aNetwork); }
#define COM_FORWARD_INATNetwork_SETTER_Network_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_Network_TO ((obj)->)
#define COM_FORWARD_INATNetwork_SETTER_Network_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_Network_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_Gateway_TO(smth) HRESULT STDMETHODCALLTYPE get_Gateway (BSTR * aGateway) { return smth get_Gateway (aGateway); }
#define COM_FORWARD_INATNetwork_GETTER_Gateway_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_Gateway_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_Gateway_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_Gateway_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_IPv6Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_IPv6Enabled (BOOL * aIPv6Enabled) { return smth get_IPv6Enabled (aIPv6Enabled); }
#define COM_FORWARD_INATNetwork_GETTER_IPv6Enabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_IPv6Enabled_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_IPv6Enabled_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_IPv6Enabled_TO (base::)
#define COM_FORWARD_INATNetwork_SETTER_IPv6Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_IPv6Enabled (BOOL aIPv6Enabled) { return smth put_IPv6Enabled (aIPv6Enabled); }
#define COM_FORWARD_INATNetwork_SETTER_IPv6Enabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_IPv6Enabled_TO ((obj)->)
#define COM_FORWARD_INATNetwork_SETTER_IPv6Enabled_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_IPv6Enabled_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_IPv6Prefix_TO(smth) HRESULT STDMETHODCALLTYPE get_IPv6Prefix (BSTR * aIPv6Prefix) { return smth get_IPv6Prefix (aIPv6Prefix); }
#define COM_FORWARD_INATNetwork_GETTER_IPv6Prefix_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_IPv6Prefix_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_IPv6Prefix_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_IPv6Prefix_TO (base::)
#define COM_FORWARD_INATNetwork_SETTER_IPv6Prefix_TO(smth) HRESULT STDMETHODCALLTYPE put_IPv6Prefix (BSTR aIPv6Prefix) { return smth put_IPv6Prefix (aIPv6Prefix); }
#define COM_FORWARD_INATNetwork_SETTER_IPv6Prefix_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_IPv6Prefix_TO ((obj)->)
#define COM_FORWARD_INATNetwork_SETTER_IPv6Prefix_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_IPv6Prefix_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_AdvertiseDefaultIPv6RouteEnabled (BOOL * aAdvertiseDefaultIPv6RouteEnabled) { return smth get_AdvertiseDefaultIPv6RouteEnabled (aAdvertiseDefaultIPv6RouteEnabled); }
#define COM_FORWARD_INATNetwork_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO (base::)
#define COM_FORWARD_INATNetwork_SETTER_AdvertiseDefaultIPv6RouteEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_AdvertiseDefaultIPv6RouteEnabled (BOOL aAdvertiseDefaultIPv6RouteEnabled) { return smth put_AdvertiseDefaultIPv6RouteEnabled (aAdvertiseDefaultIPv6RouteEnabled); }
#define COM_FORWARD_INATNetwork_SETTER_AdvertiseDefaultIPv6RouteEnabled_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_AdvertiseDefaultIPv6RouteEnabled_TO ((obj)->)
#define COM_FORWARD_INATNetwork_SETTER_AdvertiseDefaultIPv6RouteEnabled_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_AdvertiseDefaultIPv6RouteEnabled_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_NeedDhcpServer_TO(smth) HRESULT STDMETHODCALLTYPE get_NeedDhcpServer (BOOL * aNeedDhcpServer) { return smth get_NeedDhcpServer (aNeedDhcpServer); }
#define COM_FORWARD_INATNetwork_GETTER_NeedDhcpServer_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_NeedDhcpServer_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_NeedDhcpServer_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_NeedDhcpServer_TO (base::)
#define COM_FORWARD_INATNetwork_SETTER_NeedDhcpServer_TO(smth) HRESULT STDMETHODCALLTYPE put_NeedDhcpServer (BOOL aNeedDhcpServer) { return smth put_NeedDhcpServer (aNeedDhcpServer); }
#define COM_FORWARD_INATNetwork_SETTER_NeedDhcpServer_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_NeedDhcpServer_TO ((obj)->)
#define COM_FORWARD_INATNetwork_SETTER_NeedDhcpServer_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_NeedDhcpServer_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_INATNetwork_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_EventSource_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_EventSource_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules4_TO(smth) HRESULT STDMETHODCALLTYPE get_PortForwardRules4 (SAFEARRAY * * aPortForwardRules4) { return smth get_PortForwardRules4 (aPortForwardRules4); }
#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules4_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_PortForwardRules4_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules4_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_PortForwardRules4_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_LocalMappings_TO(smth) HRESULT STDMETHODCALLTYPE get_LocalMappings (SAFEARRAY * * aLocalMappings) { return smth get_LocalMappings (aLocalMappings); }
#define COM_FORWARD_INATNetwork_GETTER_LocalMappings_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_LocalMappings_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_LocalMappings_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_LocalMappings_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_LoopbackIp6_TO(smth) HRESULT STDMETHODCALLTYPE get_LoopbackIp6 (LONG * aLoopbackIp6) { return smth get_LoopbackIp6 (aLoopbackIp6); }
#define COM_FORWARD_INATNetwork_GETTER_LoopbackIp6_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_LoopbackIp6_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_LoopbackIp6_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_LoopbackIp6_TO (base::)
#define COM_FORWARD_INATNetwork_SETTER_LoopbackIp6_TO(smth) HRESULT STDMETHODCALLTYPE put_LoopbackIp6 (LONG aLoopbackIp6) { return smth put_LoopbackIp6 (aLoopbackIp6); }
#define COM_FORWARD_INATNetwork_SETTER_LoopbackIp6_TO_OBJ(obj) COM_FORWARD_INATNetwork_SETTER_LoopbackIp6_TO ((obj)->)
#define COM_FORWARD_INATNetwork_SETTER_LoopbackIp6_TO_BASE(base) COM_FORWARD_INATNetwork_SETTER_LoopbackIp6_TO (base::)
#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules6_TO(smth) HRESULT STDMETHODCALLTYPE get_PortForwardRules6 (SAFEARRAY * * aPortForwardRules6) { return smth get_PortForwardRules6 (aPortForwardRules6); }
#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules6_TO_OBJ(obj) COM_FORWARD_INATNetwork_GETTER_PortForwardRules6_TO ((obj)->)
#define COM_FORWARD_INATNetwork_GETTER_PortForwardRules6_TO_BASE(base) COM_FORWARD_INATNetwork_GETTER_PortForwardRules6_TO (base::)
#define COM_FORWARD_INATNetwork_AddLocalMapping_TO(smth) HRESULT STDMETHODCALLTYPE AddLocalMapping (BSTR aHostid, LONG aOffset) { return smth AddLocalMapping (aHostid, aOffset); }
#define COM_FORWARD_INATNetwork_AddLocalMapping_TO_OBJ(obj) COM_FORWARD_INATNetwork_AddLocalMapping_TO ((obj)->)
#define COM_FORWARD_INATNetwork_AddLocalMapping_TO_BASE(base) COM_FORWARD_INATNetwork_AddLocalMapping_TO (base::)
#define COM_FORWARD_INATNetwork_AddPortForwardRule_TO(smth) HRESULT STDMETHODCALLTYPE AddPortForwardRule (BOOL aIsIpv6, BSTR aRuleName, NATProtocol aProto, BSTR aHostIP, USHORT aHostPort, BSTR aGuestIP, USHORT aGuestPort) { return smth AddPortForwardRule (aIsIpv6, aRuleName, aProto, aHostIP, aHostPort, aGuestIP, aGuestPort); }
#define COM_FORWARD_INATNetwork_AddPortForwardRule_TO_OBJ(obj) COM_FORWARD_INATNetwork_AddPortForwardRule_TO ((obj)->)
#define COM_FORWARD_INATNetwork_AddPortForwardRule_TO_BASE(base) COM_FORWARD_INATNetwork_AddPortForwardRule_TO (base::)
#define COM_FORWARD_INATNetwork_RemovePortForwardRule_TO(smth) HRESULT STDMETHODCALLTYPE RemovePortForwardRule (BOOL aIsIpv6, BSTR aRuleName) { return smth RemovePortForwardRule (aIsIpv6, aRuleName); }
#define COM_FORWARD_INATNetwork_RemovePortForwardRule_TO_OBJ(obj) COM_FORWARD_INATNetwork_RemovePortForwardRule_TO ((obj)->)
#define COM_FORWARD_INATNetwork_RemovePortForwardRule_TO_BASE(base) COM_FORWARD_INATNetwork_RemovePortForwardRule_TO (base::)
#define COM_FORWARD_INATNetwork_Start_TO(smth) HRESULT STDMETHODCALLTYPE Start() { return smth Start(); }
#define COM_FORWARD_INATNetwork_Start_TO_OBJ(obj) COM_FORWARD_INATNetwork_Start_TO ((obj)->)
#define COM_FORWARD_INATNetwork_Start_TO_BASE(base) COM_FORWARD_INATNetwork_Start_TO (base::)
#define COM_FORWARD_INATNetwork_Stop_TO(smth) HRESULT STDMETHODCALLTYPE Stop() { return smth Stop(); }
#define COM_FORWARD_INATNetwork_Stop_TO_OBJ(obj) COM_FORWARD_INATNetwork_Stop_TO ((obj)->)
#define COM_FORWARD_INATNetwork_Stop_TO_BASE(base) COM_FORWARD_INATNetwork_Stop_TO (base::)
#define COM_FORWARD_INATNetwork_TO(smth) COM_FORWARD_INATNetwork_GETTER_NetworkName_TO (smth) COM_FORWARD_INATNetwork_SETTER_NetworkName_TO (smth) COM_FORWARD_INATNetwork_GETTER_Enabled_TO (smth) COM_FORWARD_INATNetwork_SETTER_Enabled_TO (smth) COM_FORWARD_INATNetwork_GETTER_Network_TO (smth) COM_FORWARD_INATNetwork_SETTER_Network_TO (smth) COM_FORWARD_INATNetwork_GETTER_Gateway_TO (smth) COM_FORWARD_INATNetwork_GETTER_IPv6Enabled_TO (smth) COM_FORWARD_INATNetwork_SETTER_IPv6Enabled_TO (smth) COM_FORWARD_INATNetwork_GETTER_IPv6Prefix_TO (smth) COM_FORWARD_INATNetwork_SETTER_IPv6Prefix_TO (smth) COM_FORWARD_INATNetwork_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO (smth) COM_FORWARD_INATNetwork_SETTER_AdvertiseDefaultIPv6RouteEnabled_TO (smth) COM_FORWARD_INATNetwork_GETTER_NeedDhcpServer_TO (smth) COM_FORWARD_INATNetwork_SETTER_NeedDhcpServer_TO (smth) COM_FORWARD_INATNetwork_GETTER_EventSource_TO (smth) COM_FORWARD_INATNetwork_GETTER_PortForwardRules4_TO (smth) COM_FORWARD_INATNetwork_GETTER_LocalMappings_TO (smth) COM_FORWARD_INATNetwork_GETTER_LoopbackIp6_TO (smth) COM_FORWARD_INATNetwork_SETTER_LoopbackIp6_TO (smth) COM_FORWARD_INATNetwork_GETTER_PortForwardRules6_TO (smth) COM_FORWARD_INATNetwork_AddLocalMapping_TO (smth) COM_FORWARD_INATNetwork_AddPortForwardRule_TO (smth) COM_FORWARD_INATNetwork_RemovePortForwardRule_TO (smth) COM_FORWARD_INATNetwork_Start_TO (smth) COM_FORWARD_INATNetwork_Stop_TO (smth) 
#define COM_FORWARD_INATNetwork_TO_OBJ(obj) COM_FORWARD_INATNetwork_TO ((obj)->)
#define COM_FORWARD_INATNetwork_TO_BASE(base) COM_FORWARD_INATNetwork_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0002_v0_0_s_ifspec;

#ifndef __ICloudNetwork_INTERFACE_DEFINED__
#define __ICloudNetwork_INTERFACE_DEFINED__

/* interface ICloudNetwork */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudNetwork;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d8e3496e-735f-4fde-8a54-427d49409b5f")
    ICloudNetwork : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkName( 
            /* [retval][out] */ BSTR *aNetworkName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NetworkName( 
            /* [in] */ BSTR aNetworkName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Provider( 
            /* [retval][out] */ BSTR *aProvider) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Provider( 
            /* [in] */ BSTR aProvider) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Profile( 
            /* [retval][out] */ BSTR *aProfile) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Profile( 
            /* [in] */ BSTR aProfile) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkId( 
            /* [retval][out] */ BSTR *aNetworkId) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NetworkId( 
            /* [in] */ BSTR aNetworkId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12ICloudNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ICloudNetwork( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ICloudNetwork( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3ICloudNetwork( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4ICloudNetwork( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudNetworkVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudNetwork * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudNetwork * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudNetwork * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudNetwork * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudNetwork * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudNetwork * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudNetwork * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_NetworkName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkName )( 
            ICloudNetwork * This,
            /* [retval][out] */ BSTR *aNetworkName);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, put_NetworkName)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NetworkName )( 
            ICloudNetwork * This,
            /* [in] */ BSTR aNetworkName);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            ICloudNetwork * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            ICloudNetwork * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_Provider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Provider )( 
            ICloudNetwork * This,
            /* [retval][out] */ BSTR *aProvider);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, put_Provider)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Provider )( 
            ICloudNetwork * This,
            /* [in] */ BSTR aProvider);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_Profile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
            ICloudNetwork * This,
            /* [retval][out] */ BSTR *aProfile);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, put_Profile)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Profile )( 
            ICloudNetwork * This,
            /* [in] */ BSTR aProfile);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_NetworkId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkId )( 
            ICloudNetwork * This,
            /* [retval][out] */ BSTR *aNetworkId);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, put_NetworkId)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NetworkId )( 
            ICloudNetwork * This,
            /* [in] */ BSTR aNetworkId);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute1ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute2ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute3ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute4ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute5ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute6ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute7ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute8ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute9ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute10ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute11ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, get_InternalAndReservedAttribute12ICloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12ICloudNetwork )( 
            ICloudNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, InternalAndReservedMethod1ICloudNetwork)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ICloudNetwork )( 
            ICloudNetwork * This);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, InternalAndReservedMethod2ICloudNetwork)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ICloudNetwork )( 
            ICloudNetwork * This);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, InternalAndReservedMethod3ICloudNetwork)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3ICloudNetwork )( 
            ICloudNetwork * This);
        
        DECLSPEC_XFGVIRT(ICloudNetwork, InternalAndReservedMethod4ICloudNetwork)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4ICloudNetwork )( 
            ICloudNetwork * This);
        
        END_INTERFACE
    } ICloudNetworkVtbl;

    interface ICloudNetwork
    {
        CONST_VTBL struct ICloudNetworkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudNetwork_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudNetwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudNetwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudNetwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudNetwork_get_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> get_NetworkName(This,aNetworkName) ) 

#define ICloudNetwork_put_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> put_NetworkName(This,aNetworkName) ) 

#define ICloudNetwork_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define ICloudNetwork_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define ICloudNetwork_get_Provider(This,aProvider)	\
    ( (This)->lpVtbl -> get_Provider(This,aProvider) ) 

#define ICloudNetwork_put_Provider(This,aProvider)	\
    ( (This)->lpVtbl -> put_Provider(This,aProvider) ) 

#define ICloudNetwork_get_Profile(This,aProfile)	\
    ( (This)->lpVtbl -> get_Profile(This,aProfile) ) 

#define ICloudNetwork_put_Profile(This,aProfile)	\
    ( (This)->lpVtbl -> put_Profile(This,aProfile) ) 

#define ICloudNetwork_get_NetworkId(This,aNetworkId)	\
    ( (This)->lpVtbl -> get_NetworkId(This,aNetworkId) ) 

#define ICloudNetwork_put_NetworkId(This,aNetworkId)	\
    ( (This)->lpVtbl -> put_NetworkId(This,aNetworkId) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute1ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute2ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute3ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute4ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute5ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute6ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute7ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute8ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute9ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute10ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute11ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_get_InternalAndReservedAttribute12ICloudNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12ICloudNetwork(This,aReserved) ) 

#define ICloudNetwork_InternalAndReservedMethod1ICloudNetwork(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ICloudNetwork(This) ) 

#define ICloudNetwork_InternalAndReservedMethod2ICloudNetwork(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ICloudNetwork(This) ) 

#define ICloudNetwork_InternalAndReservedMethod3ICloudNetwork(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3ICloudNetwork(This) ) 

#define ICloudNetwork_InternalAndReservedMethod4ICloudNetwork(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4ICloudNetwork(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudNetwork_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0003 */
/* [local] */ 

#define COM_FORWARD_ICloudNetwork_GETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkName (BSTR * aNetworkName) { return smth get_NetworkName (aNetworkName); }
#define COM_FORWARD_ICloudNetwork_GETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_ICloudNetwork_GETTER_NetworkName_TO ((obj)->)
#define COM_FORWARD_ICloudNetwork_GETTER_NetworkName_TO_BASE(base) COM_FORWARD_ICloudNetwork_GETTER_NetworkName_TO (base::)
#define COM_FORWARD_ICloudNetwork_SETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE put_NetworkName (BSTR aNetworkName) { return smth put_NetworkName (aNetworkName); }
#define COM_FORWARD_ICloudNetwork_SETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_ICloudNetwork_SETTER_NetworkName_TO ((obj)->)
#define COM_FORWARD_ICloudNetwork_SETTER_NetworkName_TO_BASE(base) COM_FORWARD_ICloudNetwork_SETTER_NetworkName_TO (base::)
#define COM_FORWARD_ICloudNetwork_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_ICloudNetwork_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_ICloudNetwork_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_ICloudNetwork_GETTER_Enabled_TO_BASE(base) COM_FORWARD_ICloudNetwork_GETTER_Enabled_TO (base::)
#define COM_FORWARD_ICloudNetwork_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_ICloudNetwork_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_ICloudNetwork_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_ICloudNetwork_SETTER_Enabled_TO_BASE(base) COM_FORWARD_ICloudNetwork_SETTER_Enabled_TO (base::)
#define COM_FORWARD_ICloudNetwork_GETTER_Provider_TO(smth) HRESULT STDMETHODCALLTYPE get_Provider (BSTR * aProvider) { return smth get_Provider (aProvider); }
#define COM_FORWARD_ICloudNetwork_GETTER_Provider_TO_OBJ(obj) COM_FORWARD_ICloudNetwork_GETTER_Provider_TO ((obj)->)
#define COM_FORWARD_ICloudNetwork_GETTER_Provider_TO_BASE(base) COM_FORWARD_ICloudNetwork_GETTER_Provider_TO (base::)
#define COM_FORWARD_ICloudNetwork_SETTER_Provider_TO(smth) HRESULT STDMETHODCALLTYPE put_Provider (BSTR aProvider) { return smth put_Provider (aProvider); }
#define COM_FORWARD_ICloudNetwork_SETTER_Provider_TO_OBJ(obj) COM_FORWARD_ICloudNetwork_SETTER_Provider_TO ((obj)->)
#define COM_FORWARD_ICloudNetwork_SETTER_Provider_TO_BASE(base) COM_FORWARD_ICloudNetwork_SETTER_Provider_TO (base::)
#define COM_FORWARD_ICloudNetwork_GETTER_Profile_TO(smth) HRESULT STDMETHODCALLTYPE get_Profile (BSTR * aProfile) { return smth get_Profile (aProfile); }
#define COM_FORWARD_ICloudNetwork_GETTER_Profile_TO_OBJ(obj) COM_FORWARD_ICloudNetwork_GETTER_Profile_TO ((obj)->)
#define COM_FORWARD_ICloudNetwork_GETTER_Profile_TO_BASE(base) COM_FORWARD_ICloudNetwork_GETTER_Profile_TO (base::)
#define COM_FORWARD_ICloudNetwork_SETTER_Profile_TO(smth) HRESULT STDMETHODCALLTYPE put_Profile (BSTR aProfile) { return smth put_Profile (aProfile); }
#define COM_FORWARD_ICloudNetwork_SETTER_Profile_TO_OBJ(obj) COM_FORWARD_ICloudNetwork_SETTER_Profile_TO ((obj)->)
#define COM_FORWARD_ICloudNetwork_SETTER_Profile_TO_BASE(base) COM_FORWARD_ICloudNetwork_SETTER_Profile_TO (base::)
#define COM_FORWARD_ICloudNetwork_GETTER_NetworkId_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkId (BSTR * aNetworkId) { return smth get_NetworkId (aNetworkId); }
#define COM_FORWARD_ICloudNetwork_GETTER_NetworkId_TO_OBJ(obj) COM_FORWARD_ICloudNetwork_GETTER_NetworkId_TO ((obj)->)
#define COM_FORWARD_ICloudNetwork_GETTER_NetworkId_TO_BASE(base) COM_FORWARD_ICloudNetwork_GETTER_NetworkId_TO (base::)
#define COM_FORWARD_ICloudNetwork_SETTER_NetworkId_TO(smth) HRESULT STDMETHODCALLTYPE put_NetworkId (BSTR aNetworkId) { return smth put_NetworkId (aNetworkId); }
#define COM_FORWARD_ICloudNetwork_SETTER_NetworkId_TO_OBJ(obj) COM_FORWARD_ICloudNetwork_SETTER_NetworkId_TO ((obj)->)
#define COM_FORWARD_ICloudNetwork_SETTER_NetworkId_TO_BASE(base) COM_FORWARD_ICloudNetwork_SETTER_NetworkId_TO (base::)
#define COM_FORWARD_ICloudNetwork_TO(smth) COM_FORWARD_ICloudNetwork_GETTER_NetworkName_TO (smth) COM_FORWARD_ICloudNetwork_SETTER_NetworkName_TO (smth) COM_FORWARD_ICloudNetwork_GETTER_Enabled_TO (smth) COM_FORWARD_ICloudNetwork_SETTER_Enabled_TO (smth) COM_FORWARD_ICloudNetwork_GETTER_Provider_TO (smth) COM_FORWARD_ICloudNetwork_SETTER_Provider_TO (smth) COM_FORWARD_ICloudNetwork_GETTER_Profile_TO (smth) COM_FORWARD_ICloudNetwork_SETTER_Profile_TO (smth) COM_FORWARD_ICloudNetwork_GETTER_NetworkId_TO (smth) COM_FORWARD_ICloudNetwork_SETTER_NetworkId_TO (smth) 
#define COM_FORWARD_ICloudNetwork_TO_OBJ(obj) COM_FORWARD_ICloudNetwork_TO ((obj)->)
#define COM_FORWARD_ICloudNetwork_TO_BASE(base) COM_FORWARD_ICloudNetwork_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0003_v0_0_s_ifspec;

#ifndef __IHostOnlyNetwork_INTERFACE_DEFINED__
#define __IHostOnlyNetwork_INTERFACE_DEFINED__

/* interface IHostOnlyNetwork */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostOnlyNetwork;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6eb5de7d-9a67-4fde-83be-f768084d03b5")
    IHostOnlyNetwork : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkName( 
            /* [retval][out] */ BSTR *aNetworkName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NetworkName( 
            /* [in] */ BSTR aNetworkName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkMask( 
            /* [retval][out] */ BSTR *aNetworkMask) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NetworkMask( 
            /* [in] */ BSTR aNetworkMask) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostIP( 
            /* [retval][out] */ BSTR *aHostIP) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LowerIP( 
            /* [retval][out] */ BSTR *aLowerIP) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LowerIP( 
            /* [in] */ BSTR aLowerIP) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UpperIP( 
            /* [retval][out] */ BSTR *aUpperIP) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UpperIP( 
            /* [in] */ BSTR aUpperIP) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Id( 
            /* [in] */ BSTR aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IHostOnlyNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IHostOnlyNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IHostOnlyNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IHostOnlyNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IHostOnlyNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IHostOnlyNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IHostOnlyNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IHostOnlyNetwork( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IHostOnlyNetwork( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IHostOnlyNetwork( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IHostOnlyNetwork( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IHostOnlyNetwork( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostOnlyNetworkVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostOnlyNetwork * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostOnlyNetwork * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostOnlyNetwork * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostOnlyNetwork * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostOnlyNetwork * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostOnlyNetwork * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostOnlyNetwork * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_NetworkName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkName )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ BSTR *aNetworkName);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, put_NetworkName)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NetworkName )( 
            IHostOnlyNetwork * This,
            /* [in] */ BSTR aNetworkName);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IHostOnlyNetwork * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_NetworkMask)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkMask )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ BSTR *aNetworkMask);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, put_NetworkMask)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NetworkMask )( 
            IHostOnlyNetwork * This,
            /* [in] */ BSTR aNetworkMask);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_HostIP)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostIP )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ BSTR *aHostIP);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_LowerIP)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LowerIP )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ BSTR *aLowerIP);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, put_LowerIP)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LowerIP )( 
            IHostOnlyNetwork * This,
            /* [in] */ BSTR aLowerIP);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_UpperIP)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpperIP )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ BSTR *aUpperIP);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, put_UpperIP)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UpperIP )( 
            IHostOnlyNetwork * This,
            /* [in] */ BSTR aUpperIP);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, put_Id)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Id )( 
            IHostOnlyNetwork * This,
            /* [in] */ BSTR aId);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_InternalAndReservedAttribute1IHostOnlyNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IHostOnlyNetwork )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_InternalAndReservedAttribute2IHostOnlyNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IHostOnlyNetwork )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_InternalAndReservedAttribute3IHostOnlyNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IHostOnlyNetwork )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_InternalAndReservedAttribute4IHostOnlyNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IHostOnlyNetwork )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_InternalAndReservedAttribute5IHostOnlyNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IHostOnlyNetwork )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_InternalAndReservedAttribute6IHostOnlyNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IHostOnlyNetwork )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_InternalAndReservedAttribute7IHostOnlyNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IHostOnlyNetwork )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, get_InternalAndReservedAttribute8IHostOnlyNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IHostOnlyNetwork )( 
            IHostOnlyNetwork * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, InternalAndReservedMethod1IHostOnlyNetwork)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IHostOnlyNetwork )( 
            IHostOnlyNetwork * This);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, InternalAndReservedMethod2IHostOnlyNetwork)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IHostOnlyNetwork )( 
            IHostOnlyNetwork * This);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, InternalAndReservedMethod3IHostOnlyNetwork)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IHostOnlyNetwork )( 
            IHostOnlyNetwork * This);
        
        DECLSPEC_XFGVIRT(IHostOnlyNetwork, InternalAndReservedMethod4IHostOnlyNetwork)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IHostOnlyNetwork )( 
            IHostOnlyNetwork * This);
        
        END_INTERFACE
    } IHostOnlyNetworkVtbl;

    interface IHostOnlyNetwork
    {
        CONST_VTBL struct IHostOnlyNetworkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostOnlyNetwork_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostOnlyNetwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostOnlyNetwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostOnlyNetwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostOnlyNetwork_get_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> get_NetworkName(This,aNetworkName) ) 

#define IHostOnlyNetwork_put_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> put_NetworkName(This,aNetworkName) ) 

#define IHostOnlyNetwork_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IHostOnlyNetwork_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define IHostOnlyNetwork_get_NetworkMask(This,aNetworkMask)	\
    ( (This)->lpVtbl -> get_NetworkMask(This,aNetworkMask) ) 

#define IHostOnlyNetwork_put_NetworkMask(This,aNetworkMask)	\
    ( (This)->lpVtbl -> put_NetworkMask(This,aNetworkMask) ) 

#define IHostOnlyNetwork_get_HostIP(This,aHostIP)	\
    ( (This)->lpVtbl -> get_HostIP(This,aHostIP) ) 

#define IHostOnlyNetwork_get_LowerIP(This,aLowerIP)	\
    ( (This)->lpVtbl -> get_LowerIP(This,aLowerIP) ) 

#define IHostOnlyNetwork_put_LowerIP(This,aLowerIP)	\
    ( (This)->lpVtbl -> put_LowerIP(This,aLowerIP) ) 

#define IHostOnlyNetwork_get_UpperIP(This,aUpperIP)	\
    ( (This)->lpVtbl -> get_UpperIP(This,aUpperIP) ) 

#define IHostOnlyNetwork_put_UpperIP(This,aUpperIP)	\
    ( (This)->lpVtbl -> put_UpperIP(This,aUpperIP) ) 

#define IHostOnlyNetwork_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IHostOnlyNetwork_put_Id(This,aId)	\
    ( (This)->lpVtbl -> put_Id(This,aId) ) 

#define IHostOnlyNetwork_get_InternalAndReservedAttribute1IHostOnlyNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IHostOnlyNetwork(This,aReserved) ) 

#define IHostOnlyNetwork_get_InternalAndReservedAttribute2IHostOnlyNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IHostOnlyNetwork(This,aReserved) ) 

#define IHostOnlyNetwork_get_InternalAndReservedAttribute3IHostOnlyNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IHostOnlyNetwork(This,aReserved) ) 

#define IHostOnlyNetwork_get_InternalAndReservedAttribute4IHostOnlyNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IHostOnlyNetwork(This,aReserved) ) 

#define IHostOnlyNetwork_get_InternalAndReservedAttribute5IHostOnlyNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IHostOnlyNetwork(This,aReserved) ) 

#define IHostOnlyNetwork_get_InternalAndReservedAttribute6IHostOnlyNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IHostOnlyNetwork(This,aReserved) ) 

#define IHostOnlyNetwork_get_InternalAndReservedAttribute7IHostOnlyNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IHostOnlyNetwork(This,aReserved) ) 

#define IHostOnlyNetwork_get_InternalAndReservedAttribute8IHostOnlyNetwork(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IHostOnlyNetwork(This,aReserved) ) 

#define IHostOnlyNetwork_InternalAndReservedMethod1IHostOnlyNetwork(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IHostOnlyNetwork(This) ) 

#define IHostOnlyNetwork_InternalAndReservedMethod2IHostOnlyNetwork(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IHostOnlyNetwork(This) ) 

#define IHostOnlyNetwork_InternalAndReservedMethod3IHostOnlyNetwork(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IHostOnlyNetwork(This) ) 

#define IHostOnlyNetwork_InternalAndReservedMethod4IHostOnlyNetwork(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IHostOnlyNetwork(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostOnlyNetwork_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0004 */
/* [local] */ 

#define COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkName (BSTR * aNetworkName) { return smth get_NetworkName (aNetworkName); }
#define COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkName_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkName_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkName_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE put_NetworkName (BSTR aNetworkName) { return smth put_NetworkName (aNetworkName); }
#define COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkName_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkName_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkName_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_IHostOnlyNetwork_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_GETTER_Enabled_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_IHostOnlyNetwork_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_SETTER_Enabled_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkMask_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkMask (BSTR * aNetworkMask) { return smth get_NetworkMask (aNetworkMask); }
#define COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkMask_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkMask_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkMask_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkMask_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkMask_TO(smth) HRESULT STDMETHODCALLTYPE put_NetworkMask (BSTR aNetworkMask) { return smth put_NetworkMask (aNetworkMask); }
#define COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkMask_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkMask_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkMask_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkMask_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_HostIP_TO(smth) HRESULT STDMETHODCALLTYPE get_HostIP (BSTR * aHostIP) { return smth get_HostIP (aHostIP); }
#define COM_FORWARD_IHostOnlyNetwork_GETTER_HostIP_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_GETTER_HostIP_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_HostIP_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_GETTER_HostIP_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_LowerIP_TO(smth) HRESULT STDMETHODCALLTYPE get_LowerIP (BSTR * aLowerIP) { return smth get_LowerIP (aLowerIP); }
#define COM_FORWARD_IHostOnlyNetwork_GETTER_LowerIP_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_GETTER_LowerIP_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_LowerIP_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_GETTER_LowerIP_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_LowerIP_TO(smth) HRESULT STDMETHODCALLTYPE put_LowerIP (BSTR aLowerIP) { return smth put_LowerIP (aLowerIP); }
#define COM_FORWARD_IHostOnlyNetwork_SETTER_LowerIP_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_SETTER_LowerIP_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_LowerIP_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_SETTER_LowerIP_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_UpperIP_TO(smth) HRESULT STDMETHODCALLTYPE get_UpperIP (BSTR * aUpperIP) { return smth get_UpperIP (aUpperIP); }
#define COM_FORWARD_IHostOnlyNetwork_GETTER_UpperIP_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_GETTER_UpperIP_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_UpperIP_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_GETTER_UpperIP_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_UpperIP_TO(smth) HRESULT STDMETHODCALLTYPE put_UpperIP (BSTR aUpperIP) { return smth put_UpperIP (aUpperIP); }
#define COM_FORWARD_IHostOnlyNetwork_SETTER_UpperIP_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_SETTER_UpperIP_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_UpperIP_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_SETTER_UpperIP_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IHostOnlyNetwork_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_GETTER_Id_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_GETTER_Id_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE put_Id (BSTR aId) { return smth put_Id (aId); }
#define COM_FORWARD_IHostOnlyNetwork_SETTER_Id_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_SETTER_Id_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_SETTER_Id_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_SETTER_Id_TO (base::)
#define COM_FORWARD_IHostOnlyNetwork_TO(smth) COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkName_TO (smth) COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkName_TO (smth) COM_FORWARD_IHostOnlyNetwork_GETTER_Enabled_TO (smth) COM_FORWARD_IHostOnlyNetwork_SETTER_Enabled_TO (smth) COM_FORWARD_IHostOnlyNetwork_GETTER_NetworkMask_TO (smth) COM_FORWARD_IHostOnlyNetwork_SETTER_NetworkMask_TO (smth) COM_FORWARD_IHostOnlyNetwork_GETTER_HostIP_TO (smth) COM_FORWARD_IHostOnlyNetwork_GETTER_LowerIP_TO (smth) COM_FORWARD_IHostOnlyNetwork_SETTER_LowerIP_TO (smth) COM_FORWARD_IHostOnlyNetwork_GETTER_UpperIP_TO (smth) COM_FORWARD_IHostOnlyNetwork_SETTER_UpperIP_TO (smth) COM_FORWARD_IHostOnlyNetwork_GETTER_Id_TO (smth) COM_FORWARD_IHostOnlyNetwork_SETTER_Id_TO (smth) 
#define COM_FORWARD_IHostOnlyNetwork_TO_OBJ(obj) COM_FORWARD_IHostOnlyNetwork_TO ((obj)->)
#define COM_FORWARD_IHostOnlyNetwork_TO_BASE(base) COM_FORWARD_IHostOnlyNetwork_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0004_v0_0_s_ifspec;

#ifndef __IDHCPServer_INTERFACE_DEFINED__
#define __IDHCPServer_INTERFACE_DEFINED__

/* interface IDHCPServer */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDHCPServer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cadef0a2-a1a9-4ac2-8e80-c049af69dac8")
    IDHCPServer : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IPAddress( 
            /* [retval][out] */ BSTR *aIPAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkMask( 
            /* [retval][out] */ BSTR *aNetworkMask) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkName( 
            /* [retval][out] */ BSTR *aNetworkName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LowerIP( 
            /* [retval][out] */ BSTR *aLowerIP) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UpperIP( 
            /* [retval][out] */ BSTR *aUpperIP) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GlobalConfig( 
            /* [retval][out] */ IDHCPGlobalConfig **aGlobalConfig) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GroupConfigs( 
            /* [retval][out] */ SAFEARRAY * *aGroupConfigs) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IndividualConfigs( 
            /* [retval][out] */ SAFEARRAY * *aIndividualConfigs) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDHCPServer( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDHCPServer( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IDHCPServer( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetConfiguration( 
            /* [in] */ BSTR aIPAddress,
            /* [in] */ BSTR aNetworkMask,
            /* [in] */ BSTR aFromIPAddress,
            /* [in] */ BSTR aToIPAddress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Start( 
            /* [in] */ BSTR aTrunkName,
            /* [in] */ BSTR aTrunkType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Restart( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindLeaseByMAC( 
            /* [in] */ BSTR aMac,
            /* [in] */ LONG aType,
            /* [out] */ BSTR *aAddress,
            /* [out] */ BSTR *aState,
            /* [out] */ LONG64 *aIssued,
            /* [out] */ LONG64 *aExpire) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetConfig( 
            /* [in] */ DHCPConfigScope aScope,
            /* [in] */ BSTR aName,
            /* [in] */ ULONG aSlot,
            /* [in] */ BOOL aMayAdd,
            /* [retval][out] */ IDHCPConfig **aConfig) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDHCPServerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDHCPServer * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDHCPServer * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDHCPServer * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDHCPServer * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDHCPServer * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDHCPServer * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDHCPServer * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IDHCPServer * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IDHCPServer * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IDHCPServer, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IDHCPServer * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_IPAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IPAddress )( 
            IDHCPServer * This,
            /* [retval][out] */ BSTR *aIPAddress);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_NetworkMask)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkMask )( 
            IDHCPServer * This,
            /* [retval][out] */ BSTR *aNetworkMask);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_NetworkName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkName )( 
            IDHCPServer * This,
            /* [retval][out] */ BSTR *aNetworkName);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_LowerIP)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LowerIP )( 
            IDHCPServer * This,
            /* [retval][out] */ BSTR *aLowerIP);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_UpperIP)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpperIP )( 
            IDHCPServer * This,
            /* [retval][out] */ BSTR *aUpperIP);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_GlobalConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GlobalConfig )( 
            IDHCPServer * This,
            /* [retval][out] */ IDHCPGlobalConfig **aGlobalConfig);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_GroupConfigs)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GroupConfigs )( 
            IDHCPServer * This,
            /* [retval][out] */ SAFEARRAY * *aGroupConfigs);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_IndividualConfigs)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IndividualConfigs )( 
            IDHCPServer * This,
            /* [retval][out] */ SAFEARRAY * *aIndividualConfigs);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_InternalAndReservedAttribute1IDHCPServer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDHCPServer )( 
            IDHCPServer * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_InternalAndReservedAttribute2IDHCPServer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDHCPServer )( 
            IDHCPServer * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPServer, get_InternalAndReservedAttribute3IDHCPServer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDHCPServer )( 
            IDHCPServer * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPServer, SetConfiguration)
        HRESULT ( STDMETHODCALLTYPE *SetConfiguration )( 
            IDHCPServer * This,
            /* [in] */ BSTR aIPAddress,
            /* [in] */ BSTR aNetworkMask,
            /* [in] */ BSTR aFromIPAddress,
            /* [in] */ BSTR aToIPAddress);
        
        DECLSPEC_XFGVIRT(IDHCPServer, Start)
        HRESULT ( STDMETHODCALLTYPE *Start )( 
            IDHCPServer * This,
            /* [in] */ BSTR aTrunkName,
            /* [in] */ BSTR aTrunkType);
        
        DECLSPEC_XFGVIRT(IDHCPServer, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            IDHCPServer * This);
        
        DECLSPEC_XFGVIRT(IDHCPServer, Restart)
        HRESULT ( STDMETHODCALLTYPE *Restart )( 
            IDHCPServer * This);
        
        DECLSPEC_XFGVIRT(IDHCPServer, FindLeaseByMAC)
        HRESULT ( STDMETHODCALLTYPE *FindLeaseByMAC )( 
            IDHCPServer * This,
            /* [in] */ BSTR aMac,
            /* [in] */ LONG aType,
            /* [out] */ BSTR *aAddress,
            /* [out] */ BSTR *aState,
            /* [out] */ LONG64 *aIssued,
            /* [out] */ LONG64 *aExpire);
        
        DECLSPEC_XFGVIRT(IDHCPServer, GetConfig)
        HRESULT ( STDMETHODCALLTYPE *GetConfig )( 
            IDHCPServer * This,
            /* [in] */ DHCPConfigScope aScope,
            /* [in] */ BSTR aName,
            /* [in] */ ULONG aSlot,
            /* [in] */ BOOL aMayAdd,
            /* [retval][out] */ IDHCPConfig **aConfig);
        
        END_INTERFACE
    } IDHCPServerVtbl;

    interface IDHCPServer
    {
        CONST_VTBL struct IDHCPServerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDHCPServer_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDHCPServer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDHCPServer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDHCPServer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDHCPServer_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IDHCPServer_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IDHCPServer_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define IDHCPServer_get_IPAddress(This,aIPAddress)	\
    ( (This)->lpVtbl -> get_IPAddress(This,aIPAddress) ) 

#define IDHCPServer_get_NetworkMask(This,aNetworkMask)	\
    ( (This)->lpVtbl -> get_NetworkMask(This,aNetworkMask) ) 

#define IDHCPServer_get_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> get_NetworkName(This,aNetworkName) ) 

#define IDHCPServer_get_LowerIP(This,aLowerIP)	\
    ( (This)->lpVtbl -> get_LowerIP(This,aLowerIP) ) 

#define IDHCPServer_get_UpperIP(This,aUpperIP)	\
    ( (This)->lpVtbl -> get_UpperIP(This,aUpperIP) ) 

#define IDHCPServer_get_GlobalConfig(This,aGlobalConfig)	\
    ( (This)->lpVtbl -> get_GlobalConfig(This,aGlobalConfig) ) 

#define IDHCPServer_get_GroupConfigs(This,aGroupConfigs)	\
    ( (This)->lpVtbl -> get_GroupConfigs(This,aGroupConfigs) ) 

#define IDHCPServer_get_IndividualConfigs(This,aIndividualConfigs)	\
    ( (This)->lpVtbl -> get_IndividualConfigs(This,aIndividualConfigs) ) 

#define IDHCPServer_get_InternalAndReservedAttribute1IDHCPServer(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDHCPServer(This,aReserved) ) 

#define IDHCPServer_get_InternalAndReservedAttribute2IDHCPServer(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDHCPServer(This,aReserved) ) 

#define IDHCPServer_get_InternalAndReservedAttribute3IDHCPServer(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDHCPServer(This,aReserved) ) 

#define IDHCPServer_SetConfiguration(This,aIPAddress,aNetworkMask,aFromIPAddress,aToIPAddress)	\
    ( (This)->lpVtbl -> SetConfiguration(This,aIPAddress,aNetworkMask,aFromIPAddress,aToIPAddress) ) 

#define IDHCPServer_Start(This,aTrunkName,aTrunkType)	\
    ( (This)->lpVtbl -> Start(This,aTrunkName,aTrunkType) ) 

#define IDHCPServer_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define IDHCPServer_Restart(This)	\
    ( (This)->lpVtbl -> Restart(This) ) 

#define IDHCPServer_FindLeaseByMAC(This,aMac,aType,aAddress,aState,aIssued,aExpire)	\
    ( (This)->lpVtbl -> FindLeaseByMAC(This,aMac,aType,aAddress,aState,aIssued,aExpire) ) 

#define IDHCPServer_GetConfig(This,aScope,aName,aSlot,aMayAdd,aConfig)	\
    ( (This)->lpVtbl -> GetConfig(This,aScope,aName,aSlot,aMayAdd,aConfig) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDHCPServer_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0005 */
/* [local] */ 

#define COM_FORWARD_IDHCPServer_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IDHCPServer_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IDHCPServer_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_IDHCPServer_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_Enabled_TO (base::)
#define COM_FORWARD_IDHCPServer_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_IDHCPServer_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IDHCPServer_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IDHCPServer_SETTER_Enabled_TO (base::)
#define COM_FORWARD_IDHCPServer_GETTER_IPAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_IPAddress (BSTR * aIPAddress) { return smth get_IPAddress (aIPAddress); }
#define COM_FORWARD_IDHCPServer_GETTER_IPAddress_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_IPAddress_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_GETTER_IPAddress_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_IPAddress_TO (base::)
#define COM_FORWARD_IDHCPServer_GETTER_NetworkMask_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkMask (BSTR * aNetworkMask) { return smth get_NetworkMask (aNetworkMask); }
#define COM_FORWARD_IDHCPServer_GETTER_NetworkMask_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_NetworkMask_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_GETTER_NetworkMask_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_NetworkMask_TO (base::)
#define COM_FORWARD_IDHCPServer_GETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkName (BSTR * aNetworkName) { return smth get_NetworkName (aNetworkName); }
#define COM_FORWARD_IDHCPServer_GETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_NetworkName_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_GETTER_NetworkName_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_NetworkName_TO (base::)
#define COM_FORWARD_IDHCPServer_GETTER_LowerIP_TO(smth) HRESULT STDMETHODCALLTYPE get_LowerIP (BSTR * aLowerIP) { return smth get_LowerIP (aLowerIP); }
#define COM_FORWARD_IDHCPServer_GETTER_LowerIP_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_LowerIP_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_GETTER_LowerIP_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_LowerIP_TO (base::)
#define COM_FORWARD_IDHCPServer_GETTER_UpperIP_TO(smth) HRESULT STDMETHODCALLTYPE get_UpperIP (BSTR * aUpperIP) { return smth get_UpperIP (aUpperIP); }
#define COM_FORWARD_IDHCPServer_GETTER_UpperIP_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_UpperIP_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_GETTER_UpperIP_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_UpperIP_TO (base::)
#define COM_FORWARD_IDHCPServer_GETTER_GlobalConfig_TO(smth) HRESULT STDMETHODCALLTYPE get_GlobalConfig (IDHCPGlobalConfig * * aGlobalConfig) { return smth get_GlobalConfig (aGlobalConfig); }
#define COM_FORWARD_IDHCPServer_GETTER_GlobalConfig_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_GlobalConfig_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_GETTER_GlobalConfig_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_GlobalConfig_TO (base::)
#define COM_FORWARD_IDHCPServer_GETTER_GroupConfigs_TO(smth) HRESULT STDMETHODCALLTYPE get_GroupConfigs (SAFEARRAY * * aGroupConfigs) { return smth get_GroupConfigs (aGroupConfigs); }
#define COM_FORWARD_IDHCPServer_GETTER_GroupConfigs_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_GroupConfigs_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_GETTER_GroupConfigs_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_GroupConfigs_TO (base::)
#define COM_FORWARD_IDHCPServer_GETTER_IndividualConfigs_TO(smth) HRESULT STDMETHODCALLTYPE get_IndividualConfigs (SAFEARRAY * * aIndividualConfigs) { return smth get_IndividualConfigs (aIndividualConfigs); }
#define COM_FORWARD_IDHCPServer_GETTER_IndividualConfigs_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GETTER_IndividualConfigs_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_GETTER_IndividualConfigs_TO_BASE(base) COM_FORWARD_IDHCPServer_GETTER_IndividualConfigs_TO (base::)
#define COM_FORWARD_IDHCPServer_SetConfiguration_TO(smth) HRESULT STDMETHODCALLTYPE SetConfiguration (BSTR aIPAddress, BSTR aNetworkMask, BSTR aFromIPAddress, BSTR aToIPAddress) { return smth SetConfiguration (aIPAddress, aNetworkMask, aFromIPAddress, aToIPAddress); }
#define COM_FORWARD_IDHCPServer_SetConfiguration_TO_OBJ(obj) COM_FORWARD_IDHCPServer_SetConfiguration_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_SetConfiguration_TO_BASE(base) COM_FORWARD_IDHCPServer_SetConfiguration_TO (base::)
#define COM_FORWARD_IDHCPServer_Start_TO(smth) HRESULT STDMETHODCALLTYPE Start (BSTR aTrunkName, BSTR aTrunkType) { return smth Start (aTrunkName, aTrunkType); }
#define COM_FORWARD_IDHCPServer_Start_TO_OBJ(obj) COM_FORWARD_IDHCPServer_Start_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_Start_TO_BASE(base) COM_FORWARD_IDHCPServer_Start_TO (base::)
#define COM_FORWARD_IDHCPServer_Stop_TO(smth) HRESULT STDMETHODCALLTYPE Stop() { return smth Stop(); }
#define COM_FORWARD_IDHCPServer_Stop_TO_OBJ(obj) COM_FORWARD_IDHCPServer_Stop_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_Stop_TO_BASE(base) COM_FORWARD_IDHCPServer_Stop_TO (base::)
#define COM_FORWARD_IDHCPServer_Restart_TO(smth) HRESULT STDMETHODCALLTYPE Restart() { return smth Restart(); }
#define COM_FORWARD_IDHCPServer_Restart_TO_OBJ(obj) COM_FORWARD_IDHCPServer_Restart_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_Restart_TO_BASE(base) COM_FORWARD_IDHCPServer_Restart_TO (base::)
#define COM_FORWARD_IDHCPServer_FindLeaseByMAC_TO(smth) HRESULT STDMETHODCALLTYPE FindLeaseByMAC (BSTR aMac, LONG aType, BSTR * aAddress, BSTR * aState, LONG64 * aIssued, LONG64 * aExpire) { return smth FindLeaseByMAC (aMac, aType, aAddress, aState, aIssued, aExpire); }
#define COM_FORWARD_IDHCPServer_FindLeaseByMAC_TO_OBJ(obj) COM_FORWARD_IDHCPServer_FindLeaseByMAC_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_FindLeaseByMAC_TO_BASE(base) COM_FORWARD_IDHCPServer_FindLeaseByMAC_TO (base::)
#define COM_FORWARD_IDHCPServer_GetConfig_TO(smth) HRESULT STDMETHODCALLTYPE GetConfig (DHCPConfigScope aScope, BSTR aName, ULONG aSlot, BOOL aMayAdd, IDHCPConfig * * aConfig) { return smth GetConfig (aScope, aName, aSlot, aMayAdd, aConfig); }
#define COM_FORWARD_IDHCPServer_GetConfig_TO_OBJ(obj) COM_FORWARD_IDHCPServer_GetConfig_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_GetConfig_TO_BASE(base) COM_FORWARD_IDHCPServer_GetConfig_TO (base::)
#define COM_FORWARD_IDHCPServer_TO(smth) COM_FORWARD_IDHCPServer_GETTER_EventSource_TO (smth) COM_FORWARD_IDHCPServer_GETTER_Enabled_TO (smth) COM_FORWARD_IDHCPServer_SETTER_Enabled_TO (smth) COM_FORWARD_IDHCPServer_GETTER_IPAddress_TO (smth) COM_FORWARD_IDHCPServer_GETTER_NetworkMask_TO (smth) COM_FORWARD_IDHCPServer_GETTER_NetworkName_TO (smth) COM_FORWARD_IDHCPServer_GETTER_LowerIP_TO (smth) COM_FORWARD_IDHCPServer_GETTER_UpperIP_TO (smth) COM_FORWARD_IDHCPServer_GETTER_GlobalConfig_TO (smth) COM_FORWARD_IDHCPServer_GETTER_GroupConfigs_TO (smth) COM_FORWARD_IDHCPServer_GETTER_IndividualConfigs_TO (smth) COM_FORWARD_IDHCPServer_SetConfiguration_TO (smth) COM_FORWARD_IDHCPServer_Start_TO (smth) COM_FORWARD_IDHCPServer_Stop_TO (smth) COM_FORWARD_IDHCPServer_Restart_TO (smth) COM_FORWARD_IDHCPServer_FindLeaseByMAC_TO (smth) COM_FORWARD_IDHCPServer_GetConfig_TO (smth) 
#define COM_FORWARD_IDHCPServer_TO_OBJ(obj) COM_FORWARD_IDHCPServer_TO ((obj)->)
#define COM_FORWARD_IDHCPServer_TO_BASE(base) COM_FORWARD_IDHCPServer_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0005_v0_0_s_ifspec;

#ifndef __IDHCPConfig_INTERFACE_DEFINED__
#define __IDHCPConfig_INTERFACE_DEFINED__

/* interface IDHCPConfig */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDHCPConfig;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("00f4a8dc-0002-4b81-0077-1dcb004571ba")
    IDHCPConfig : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Scope( 
            /* [retval][out] */ DHCPConfigScope *aScope) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MinLeaseTime( 
            /* [retval][out] */ ULONG *aMinLeaseTime) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MinLeaseTime( 
            /* [in] */ ULONG aMinLeaseTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultLeaseTime( 
            /* [retval][out] */ ULONG *aDefaultLeaseTime) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultLeaseTime( 
            /* [in] */ ULONG aDefaultLeaseTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxLeaseTime( 
            /* [retval][out] */ ULONG *aMaxLeaseTime) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MaxLeaseTime( 
            /* [in] */ ULONG aMaxLeaseTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ForcedOptions( 
            /* [retval][out] */ SAFEARRAY * *aForcedOptions) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ForcedOptions( 
            /* [in] */ SAFEARRAY * aForcedOptions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SuppressedOptions( 
            /* [retval][out] */ SAFEARRAY * *aSuppressedOptions) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SuppressedOptions( 
            /* [in] */ SAFEARRAY * aSuppressedOptions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16IDHCPConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetOption( 
            /* [in] */ DHCPOption aOption,
            /* [in] */ DHCPOptionEncoding aEncoding,
            /* [in] */ BSTR aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveOption( 
            /* [in] */ DHCPOption aOption) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAllOptions( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetOption( 
            /* [in] */ DHCPOption aOption,
            /* [out] */ DHCPOptionEncoding *aEncoding,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetAllOptions( 
            /* [out] */ SAFEARRAY * *aOptions,
            /* [out] */ SAFEARRAY * *aEncodings,
            /* [retval][out] */ SAFEARRAY * *aValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Remove( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IDHCPConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IDHCPConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IDHCPConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IDHCPConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IDHCPConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IDHCPConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IDHCPConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IDHCPConfig( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDHCPConfigVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDHCPConfig * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDHCPConfig * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDHCPConfig * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDHCPConfig * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDHCPConfig * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDHCPConfig * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDHCPConfig * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_Scope)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scope )( 
            IDHCPConfig * This,
            /* [retval][out] */ DHCPConfigScope *aScope);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_MinLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinLeaseTime )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aMinLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_MinLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MinLeaseTime )( 
            IDHCPConfig * This,
            /* [in] */ ULONG aMinLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_DefaultLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultLeaseTime )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aDefaultLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_DefaultLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultLeaseTime )( 
            IDHCPConfig * This,
            /* [in] */ ULONG aDefaultLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_MaxLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxLeaseTime )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aMaxLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_MaxLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxLeaseTime )( 
            IDHCPConfig * This,
            /* [in] */ ULONG aMaxLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_ForcedOptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForcedOptions )( 
            IDHCPConfig * This,
            /* [retval][out] */ SAFEARRAY * *aForcedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_ForcedOptions)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForcedOptions )( 
            IDHCPConfig * This,
            /* [in] */ SAFEARRAY * aForcedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_SuppressedOptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressedOptions )( 
            IDHCPConfig * This,
            /* [retval][out] */ SAFEARRAY * *aSuppressedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_SuppressedOptions)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressedOptions )( 
            IDHCPConfig * This,
            /* [in] */ SAFEARRAY * aSuppressedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute1IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute2IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute3IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute4IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute5IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute6IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute7IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute8IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute9IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute10IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute11IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute12IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute13IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute14IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute15IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute16IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IDHCPConfig )( 
            IDHCPConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, SetOption)
        HRESULT ( STDMETHODCALLTYPE *SetOption )( 
            IDHCPConfig * This,
            /* [in] */ DHCPOption aOption,
            /* [in] */ DHCPOptionEncoding aEncoding,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, RemoveOption)
        HRESULT ( STDMETHODCALLTYPE *RemoveOption )( 
            IDHCPConfig * This,
            /* [in] */ DHCPOption aOption);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, RemoveAllOptions)
        HRESULT ( STDMETHODCALLTYPE *RemoveAllOptions )( 
            IDHCPConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, GetOption)
        HRESULT ( STDMETHODCALLTYPE *GetOption )( 
            IDHCPConfig * This,
            /* [in] */ DHCPOption aOption,
            /* [out] */ DHCPOptionEncoding *aEncoding,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, GetAllOptions)
        HRESULT ( STDMETHODCALLTYPE *GetAllOptions )( 
            IDHCPConfig * This,
            /* [out] */ SAFEARRAY * *aOptions,
            /* [out] */ SAFEARRAY * *aEncodings,
            /* [retval][out] */ SAFEARRAY * *aValues);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, Remove)
        HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IDHCPConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod1IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDHCPConfig )( 
            IDHCPConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod2IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDHCPConfig )( 
            IDHCPConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod3IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDHCPConfig )( 
            IDHCPConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod4IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IDHCPConfig )( 
            IDHCPConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod5IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IDHCPConfig )( 
            IDHCPConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod6IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IDHCPConfig )( 
            IDHCPConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod7IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IDHCPConfig )( 
            IDHCPConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod8IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IDHCPConfig )( 
            IDHCPConfig * This);
        
        END_INTERFACE
    } IDHCPConfigVtbl;

    interface IDHCPConfig
    {
        CONST_VTBL struct IDHCPConfigVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDHCPConfig_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDHCPConfig_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDHCPConfig_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDHCPConfig_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDHCPConfig_get_Scope(This,aScope)	\
    ( (This)->lpVtbl -> get_Scope(This,aScope) ) 

#define IDHCPConfig_get_MinLeaseTime(This,aMinLeaseTime)	\
    ( (This)->lpVtbl -> get_MinLeaseTime(This,aMinLeaseTime) ) 

#define IDHCPConfig_put_MinLeaseTime(This,aMinLeaseTime)	\
    ( (This)->lpVtbl -> put_MinLeaseTime(This,aMinLeaseTime) ) 

#define IDHCPConfig_get_DefaultLeaseTime(This,aDefaultLeaseTime)	\
    ( (This)->lpVtbl -> get_DefaultLeaseTime(This,aDefaultLeaseTime) ) 

#define IDHCPConfig_put_DefaultLeaseTime(This,aDefaultLeaseTime)	\
    ( (This)->lpVtbl -> put_DefaultLeaseTime(This,aDefaultLeaseTime) ) 

#define IDHCPConfig_get_MaxLeaseTime(This,aMaxLeaseTime)	\
    ( (This)->lpVtbl -> get_MaxLeaseTime(This,aMaxLeaseTime) ) 

#define IDHCPConfig_put_MaxLeaseTime(This,aMaxLeaseTime)	\
    ( (This)->lpVtbl -> put_MaxLeaseTime(This,aMaxLeaseTime) ) 

#define IDHCPConfig_get_ForcedOptions(This,aForcedOptions)	\
    ( (This)->lpVtbl -> get_ForcedOptions(This,aForcedOptions) ) 

#define IDHCPConfig_put_ForcedOptions(This,aForcedOptions)	\
    ( (This)->lpVtbl -> put_ForcedOptions(This,aForcedOptions) ) 

#define IDHCPConfig_get_SuppressedOptions(This,aSuppressedOptions)	\
    ( (This)->lpVtbl -> get_SuppressedOptions(This,aSuppressedOptions) ) 

#define IDHCPConfig_put_SuppressedOptions(This,aSuppressedOptions)	\
    ( (This)->lpVtbl -> put_SuppressedOptions(This,aSuppressedOptions) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute1IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute2IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute3IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute4IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute5IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute6IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute7IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute8IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute9IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute10IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute11IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute12IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute13IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute14IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute15IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_get_InternalAndReservedAttribute16IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IDHCPConfig(This,aReserved) ) 

#define IDHCPConfig_SetOption(This,aOption,aEncoding,aValue)	\
    ( (This)->lpVtbl -> SetOption(This,aOption,aEncoding,aValue) ) 

#define IDHCPConfig_RemoveOption(This,aOption)	\
    ( (This)->lpVtbl -> RemoveOption(This,aOption) ) 

#define IDHCPConfig_RemoveAllOptions(This)	\
    ( (This)->lpVtbl -> RemoveAllOptions(This) ) 

#define IDHCPConfig_GetOption(This,aOption,aEncoding,aValue)	\
    ( (This)->lpVtbl -> GetOption(This,aOption,aEncoding,aValue) ) 

#define IDHCPConfig_GetAllOptions(This,aOptions,aEncodings,aValues)	\
    ( (This)->lpVtbl -> GetAllOptions(This,aOptions,aEncodings,aValues) ) 

#define IDHCPConfig_Remove(This)	\
    ( (This)->lpVtbl -> Remove(This) ) 

#define IDHCPConfig_InternalAndReservedMethod1IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDHCPConfig(This) ) 

#define IDHCPConfig_InternalAndReservedMethod2IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDHCPConfig(This) ) 

#define IDHCPConfig_InternalAndReservedMethod3IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDHCPConfig(This) ) 

#define IDHCPConfig_InternalAndReservedMethod4IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IDHCPConfig(This) ) 

#define IDHCPConfig_InternalAndReservedMethod5IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IDHCPConfig(This) ) 

#define IDHCPConfig_InternalAndReservedMethod6IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IDHCPConfig(This) ) 

#define IDHCPConfig_InternalAndReservedMethod7IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IDHCPConfig(This) ) 

#define IDHCPConfig_InternalAndReservedMethod8IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IDHCPConfig(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDHCPConfig_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0006 */
/* [local] */ 

#define COM_FORWARD_IDHCPConfig_GETTER_Scope_TO(smth) HRESULT STDMETHODCALLTYPE get_Scope (DHCPConfigScope * aScope) { return smth get_Scope (aScope); }
#define COM_FORWARD_IDHCPConfig_GETTER_Scope_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_GETTER_Scope_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_GETTER_Scope_TO_BASE(base) COM_FORWARD_IDHCPConfig_GETTER_Scope_TO (base::)
#define COM_FORWARD_IDHCPConfig_GETTER_MinLeaseTime_TO(smth) HRESULT STDMETHODCALLTYPE get_MinLeaseTime (ULONG * aMinLeaseTime) { return smth get_MinLeaseTime (aMinLeaseTime); }
#define COM_FORWARD_IDHCPConfig_GETTER_MinLeaseTime_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_GETTER_MinLeaseTime_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_GETTER_MinLeaseTime_TO_BASE(base) COM_FORWARD_IDHCPConfig_GETTER_MinLeaseTime_TO (base::)
#define COM_FORWARD_IDHCPConfig_SETTER_MinLeaseTime_TO(smth) HRESULT STDMETHODCALLTYPE put_MinLeaseTime (ULONG aMinLeaseTime) { return smth put_MinLeaseTime (aMinLeaseTime); }
#define COM_FORWARD_IDHCPConfig_SETTER_MinLeaseTime_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_SETTER_MinLeaseTime_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_SETTER_MinLeaseTime_TO_BASE(base) COM_FORWARD_IDHCPConfig_SETTER_MinLeaseTime_TO (base::)
#define COM_FORWARD_IDHCPConfig_GETTER_DefaultLeaseTime_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultLeaseTime (ULONG * aDefaultLeaseTime) { return smth get_DefaultLeaseTime (aDefaultLeaseTime); }
#define COM_FORWARD_IDHCPConfig_GETTER_DefaultLeaseTime_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_GETTER_DefaultLeaseTime_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_GETTER_DefaultLeaseTime_TO_BASE(base) COM_FORWARD_IDHCPConfig_GETTER_DefaultLeaseTime_TO (base::)
#define COM_FORWARD_IDHCPConfig_SETTER_DefaultLeaseTime_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultLeaseTime (ULONG aDefaultLeaseTime) { return smth put_DefaultLeaseTime (aDefaultLeaseTime); }
#define COM_FORWARD_IDHCPConfig_SETTER_DefaultLeaseTime_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_SETTER_DefaultLeaseTime_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_SETTER_DefaultLeaseTime_TO_BASE(base) COM_FORWARD_IDHCPConfig_SETTER_DefaultLeaseTime_TO (base::)
#define COM_FORWARD_IDHCPConfig_GETTER_MaxLeaseTime_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxLeaseTime (ULONG * aMaxLeaseTime) { return smth get_MaxLeaseTime (aMaxLeaseTime); }
#define COM_FORWARD_IDHCPConfig_GETTER_MaxLeaseTime_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_GETTER_MaxLeaseTime_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_GETTER_MaxLeaseTime_TO_BASE(base) COM_FORWARD_IDHCPConfig_GETTER_MaxLeaseTime_TO (base::)
#define COM_FORWARD_IDHCPConfig_SETTER_MaxLeaseTime_TO(smth) HRESULT STDMETHODCALLTYPE put_MaxLeaseTime (ULONG aMaxLeaseTime) { return smth put_MaxLeaseTime (aMaxLeaseTime); }
#define COM_FORWARD_IDHCPConfig_SETTER_MaxLeaseTime_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_SETTER_MaxLeaseTime_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_SETTER_MaxLeaseTime_TO_BASE(base) COM_FORWARD_IDHCPConfig_SETTER_MaxLeaseTime_TO (base::)
#define COM_FORWARD_IDHCPConfig_GETTER_ForcedOptions_TO(smth) HRESULT STDMETHODCALLTYPE get_ForcedOptions (SAFEARRAY * * aForcedOptions) { return smth get_ForcedOptions (aForcedOptions); }
#define COM_FORWARD_IDHCPConfig_GETTER_ForcedOptions_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_GETTER_ForcedOptions_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_GETTER_ForcedOptions_TO_BASE(base) COM_FORWARD_IDHCPConfig_GETTER_ForcedOptions_TO (base::)
#define COM_FORWARD_IDHCPConfig_SETTER_ForcedOptions_TO(smth) HRESULT STDMETHODCALLTYPE put_ForcedOptions (SAFEARRAY * aForcedOptions) { return smth put_ForcedOptions (aForcedOptions); }
#define COM_FORWARD_IDHCPConfig_SETTER_ForcedOptions_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_SETTER_ForcedOptions_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_SETTER_ForcedOptions_TO_BASE(base) COM_FORWARD_IDHCPConfig_SETTER_ForcedOptions_TO (base::)
#define COM_FORWARD_IDHCPConfig_GETTER_SuppressedOptions_TO(smth) HRESULT STDMETHODCALLTYPE get_SuppressedOptions (SAFEARRAY * * aSuppressedOptions) { return smth get_SuppressedOptions (aSuppressedOptions); }
#define COM_FORWARD_IDHCPConfig_GETTER_SuppressedOptions_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_GETTER_SuppressedOptions_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_GETTER_SuppressedOptions_TO_BASE(base) COM_FORWARD_IDHCPConfig_GETTER_SuppressedOptions_TO (base::)
#define COM_FORWARD_IDHCPConfig_SETTER_SuppressedOptions_TO(smth) HRESULT STDMETHODCALLTYPE put_SuppressedOptions (SAFEARRAY * aSuppressedOptions) { return smth put_SuppressedOptions (aSuppressedOptions); }
#define COM_FORWARD_IDHCPConfig_SETTER_SuppressedOptions_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_SETTER_SuppressedOptions_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_SETTER_SuppressedOptions_TO_BASE(base) COM_FORWARD_IDHCPConfig_SETTER_SuppressedOptions_TO (base::)
#define COM_FORWARD_IDHCPConfig_SetOption_TO(smth) HRESULT STDMETHODCALLTYPE SetOption (DHCPOption aOption, DHCPOptionEncoding aEncoding, BSTR aValue) { return smth SetOption (aOption, aEncoding, aValue); }
#define COM_FORWARD_IDHCPConfig_SetOption_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_SetOption_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_SetOption_TO_BASE(base) COM_FORWARD_IDHCPConfig_SetOption_TO (base::)
#define COM_FORWARD_IDHCPConfig_RemoveOption_TO(smth) HRESULT STDMETHODCALLTYPE RemoveOption (DHCPOption aOption) { return smth RemoveOption (aOption); }
#define COM_FORWARD_IDHCPConfig_RemoveOption_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_RemoveOption_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_RemoveOption_TO_BASE(base) COM_FORWARD_IDHCPConfig_RemoveOption_TO (base::)
#define COM_FORWARD_IDHCPConfig_RemoveAllOptions_TO(smth) HRESULT STDMETHODCALLTYPE RemoveAllOptions() { return smth RemoveAllOptions(); }
#define COM_FORWARD_IDHCPConfig_RemoveAllOptions_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_RemoveAllOptions_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_RemoveAllOptions_TO_BASE(base) COM_FORWARD_IDHCPConfig_RemoveAllOptions_TO (base::)
#define COM_FORWARD_IDHCPConfig_GetOption_TO(smth) HRESULT STDMETHODCALLTYPE GetOption (DHCPOption aOption, DHCPOptionEncoding * aEncoding, BSTR * aValue) { return smth GetOption (aOption, aEncoding, aValue); }
#define COM_FORWARD_IDHCPConfig_GetOption_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_GetOption_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_GetOption_TO_BASE(base) COM_FORWARD_IDHCPConfig_GetOption_TO (base::)
#define COM_FORWARD_IDHCPConfig_GetAllOptions_TO(smth) HRESULT STDMETHODCALLTYPE GetAllOptions (SAFEARRAY * * aOptions, SAFEARRAY * * aEncodings, SAFEARRAY * * aValues) { return smth GetAllOptions (aOptions, aEncodings, aValues); }
#define COM_FORWARD_IDHCPConfig_GetAllOptions_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_GetAllOptions_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_GetAllOptions_TO_BASE(base) COM_FORWARD_IDHCPConfig_GetAllOptions_TO (base::)
#define COM_FORWARD_IDHCPConfig_Remove_TO(smth) HRESULT STDMETHODCALLTYPE Remove() { return smth Remove(); }
#define COM_FORWARD_IDHCPConfig_Remove_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_Remove_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_Remove_TO_BASE(base) COM_FORWARD_IDHCPConfig_Remove_TO (base::)
#define COM_FORWARD_IDHCPConfig_TO(smth) COM_FORWARD_IDHCPConfig_GETTER_Scope_TO (smth) COM_FORWARD_IDHCPConfig_GETTER_MinLeaseTime_TO (smth) COM_FORWARD_IDHCPConfig_SETTER_MinLeaseTime_TO (smth) COM_FORWARD_IDHCPConfig_GETTER_DefaultLeaseTime_TO (smth) COM_FORWARD_IDHCPConfig_SETTER_DefaultLeaseTime_TO (smth) COM_FORWARD_IDHCPConfig_GETTER_MaxLeaseTime_TO (smth) COM_FORWARD_IDHCPConfig_SETTER_MaxLeaseTime_TO (smth) COM_FORWARD_IDHCPConfig_GETTER_ForcedOptions_TO (smth) COM_FORWARD_IDHCPConfig_SETTER_ForcedOptions_TO (smth) COM_FORWARD_IDHCPConfig_GETTER_SuppressedOptions_TO (smth) COM_FORWARD_IDHCPConfig_SETTER_SuppressedOptions_TO (smth) COM_FORWARD_IDHCPConfig_SetOption_TO (smth) COM_FORWARD_IDHCPConfig_RemoveOption_TO (smth) COM_FORWARD_IDHCPConfig_RemoveAllOptions_TO (smth) COM_FORWARD_IDHCPConfig_GetOption_TO (smth) COM_FORWARD_IDHCPConfig_GetAllOptions_TO (smth) COM_FORWARD_IDHCPConfig_Remove_TO (smth) 
#define COM_FORWARD_IDHCPConfig_TO_OBJ(obj) COM_FORWARD_IDHCPConfig_TO ((obj)->)
#define COM_FORWARD_IDHCPConfig_TO_BASE(base) COM_FORWARD_IDHCPConfig_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0006_v0_0_s_ifspec;

#ifndef __IDHCPGlobalConfig_INTERFACE_DEFINED__
#define __IDHCPGlobalConfig_INTERFACE_DEFINED__

/* interface IDHCPGlobalConfig */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDHCPGlobalConfig;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("46735de7-f4c4-4020-a185-0d2881bcfa8b")
    IDHCPGlobalConfig : public IDHCPConfig
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDHCPGlobalConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDHCPGlobalConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IDHCPGlobalConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IDHCPGlobalConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IDHCPGlobalConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IDHCPGlobalConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IDHCPGlobalConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IDHCPGlobalConfig( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDHCPGlobalConfigVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDHCPGlobalConfig * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDHCPGlobalConfig * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDHCPGlobalConfig * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDHCPGlobalConfig * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDHCPGlobalConfig * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_Scope)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scope )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ DHCPConfigScope *aScope);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_MinLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinLeaseTime )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aMinLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_MinLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MinLeaseTime )( 
            IDHCPGlobalConfig * This,
            /* [in] */ ULONG aMinLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_DefaultLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultLeaseTime )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aDefaultLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_DefaultLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultLeaseTime )( 
            IDHCPGlobalConfig * This,
            /* [in] */ ULONG aDefaultLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_MaxLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxLeaseTime )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aMaxLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_MaxLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxLeaseTime )( 
            IDHCPGlobalConfig * This,
            /* [in] */ ULONG aMaxLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_ForcedOptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForcedOptions )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ SAFEARRAY * *aForcedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_ForcedOptions)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForcedOptions )( 
            IDHCPGlobalConfig * This,
            /* [in] */ SAFEARRAY * aForcedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_SuppressedOptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressedOptions )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ SAFEARRAY * *aSuppressedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_SuppressedOptions)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressedOptions )( 
            IDHCPGlobalConfig * This,
            /* [in] */ SAFEARRAY * aSuppressedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute1IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute2IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute3IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute4IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute5IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute6IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute7IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute8IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute9IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute10IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute11IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute12IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute13IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute14IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute15IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute16IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IDHCPConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, SetOption)
        HRESULT ( STDMETHODCALLTYPE *SetOption )( 
            IDHCPGlobalConfig * This,
            /* [in] */ DHCPOption aOption,
            /* [in] */ DHCPOptionEncoding aEncoding,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, RemoveOption)
        HRESULT ( STDMETHODCALLTYPE *RemoveOption )( 
            IDHCPGlobalConfig * This,
            /* [in] */ DHCPOption aOption);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, RemoveAllOptions)
        HRESULT ( STDMETHODCALLTYPE *RemoveAllOptions )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, GetOption)
        HRESULT ( STDMETHODCALLTYPE *GetOption )( 
            IDHCPGlobalConfig * This,
            /* [in] */ DHCPOption aOption,
            /* [out] */ DHCPOptionEncoding *aEncoding,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, GetAllOptions)
        HRESULT ( STDMETHODCALLTYPE *GetAllOptions )( 
            IDHCPGlobalConfig * This,
            /* [out] */ SAFEARRAY * *aOptions,
            /* [out] */ SAFEARRAY * *aEncodings,
            /* [retval][out] */ SAFEARRAY * *aValues);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, Remove)
        HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod1IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDHCPConfig )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod2IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDHCPConfig )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod3IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDHCPConfig )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod4IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IDHCPConfig )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod5IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IDHCPConfig )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod6IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IDHCPConfig )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod7IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IDHCPConfig )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod8IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IDHCPConfig )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGlobalConfig, get_InternalAndReservedAttribute1IDHCPGlobalConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDHCPGlobalConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGlobalConfig, get_InternalAndReservedAttribute2IDHCPGlobalConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDHCPGlobalConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGlobalConfig, get_InternalAndReservedAttribute3IDHCPGlobalConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDHCPGlobalConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGlobalConfig, get_InternalAndReservedAttribute4IDHCPGlobalConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IDHCPGlobalConfig )( 
            IDHCPGlobalConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGlobalConfig, InternalAndReservedMethod1IDHCPGlobalConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDHCPGlobalConfig )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGlobalConfig, InternalAndReservedMethod2IDHCPGlobalConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDHCPGlobalConfig )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGlobalConfig, InternalAndReservedMethod3IDHCPGlobalConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDHCPGlobalConfig )( 
            IDHCPGlobalConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGlobalConfig, InternalAndReservedMethod4IDHCPGlobalConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IDHCPGlobalConfig )( 
            IDHCPGlobalConfig * This);
        
        END_INTERFACE
    } IDHCPGlobalConfigVtbl;

    interface IDHCPGlobalConfig
    {
        CONST_VTBL struct IDHCPGlobalConfigVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDHCPGlobalConfig_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDHCPGlobalConfig_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDHCPGlobalConfig_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDHCPGlobalConfig_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDHCPGlobalConfig_get_Scope(This,aScope)	\
    ( (This)->lpVtbl -> get_Scope(This,aScope) ) 

#define IDHCPGlobalConfig_get_MinLeaseTime(This,aMinLeaseTime)	\
    ( (This)->lpVtbl -> get_MinLeaseTime(This,aMinLeaseTime) ) 

#define IDHCPGlobalConfig_put_MinLeaseTime(This,aMinLeaseTime)	\
    ( (This)->lpVtbl -> put_MinLeaseTime(This,aMinLeaseTime) ) 

#define IDHCPGlobalConfig_get_DefaultLeaseTime(This,aDefaultLeaseTime)	\
    ( (This)->lpVtbl -> get_DefaultLeaseTime(This,aDefaultLeaseTime) ) 

#define IDHCPGlobalConfig_put_DefaultLeaseTime(This,aDefaultLeaseTime)	\
    ( (This)->lpVtbl -> put_DefaultLeaseTime(This,aDefaultLeaseTime) ) 

#define IDHCPGlobalConfig_get_MaxLeaseTime(This,aMaxLeaseTime)	\
    ( (This)->lpVtbl -> get_MaxLeaseTime(This,aMaxLeaseTime) ) 

#define IDHCPGlobalConfig_put_MaxLeaseTime(This,aMaxLeaseTime)	\
    ( (This)->lpVtbl -> put_MaxLeaseTime(This,aMaxLeaseTime) ) 

#define IDHCPGlobalConfig_get_ForcedOptions(This,aForcedOptions)	\
    ( (This)->lpVtbl -> get_ForcedOptions(This,aForcedOptions) ) 

#define IDHCPGlobalConfig_put_ForcedOptions(This,aForcedOptions)	\
    ( (This)->lpVtbl -> put_ForcedOptions(This,aForcedOptions) ) 

#define IDHCPGlobalConfig_get_SuppressedOptions(This,aSuppressedOptions)	\
    ( (This)->lpVtbl -> get_SuppressedOptions(This,aSuppressedOptions) ) 

#define IDHCPGlobalConfig_put_SuppressedOptions(This,aSuppressedOptions)	\
    ( (This)->lpVtbl -> put_SuppressedOptions(This,aSuppressedOptions) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute1IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute2IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute3IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute4IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute5IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute6IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute7IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute8IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute9IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute10IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute11IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute12IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute13IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute14IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute15IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute16IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IDHCPConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_SetOption(This,aOption,aEncoding,aValue)	\
    ( (This)->lpVtbl -> SetOption(This,aOption,aEncoding,aValue) ) 

#define IDHCPGlobalConfig_RemoveOption(This,aOption)	\
    ( (This)->lpVtbl -> RemoveOption(This,aOption) ) 

#define IDHCPGlobalConfig_RemoveAllOptions(This)	\
    ( (This)->lpVtbl -> RemoveAllOptions(This) ) 

#define IDHCPGlobalConfig_GetOption(This,aOption,aEncoding,aValue)	\
    ( (This)->lpVtbl -> GetOption(This,aOption,aEncoding,aValue) ) 

#define IDHCPGlobalConfig_GetAllOptions(This,aOptions,aEncodings,aValues)	\
    ( (This)->lpVtbl -> GetAllOptions(This,aOptions,aEncodings,aValues) ) 

#define IDHCPGlobalConfig_Remove(This)	\
    ( (This)->lpVtbl -> Remove(This) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod1IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDHCPConfig(This) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod2IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDHCPConfig(This) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod3IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDHCPConfig(This) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod4IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IDHCPConfig(This) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod5IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IDHCPConfig(This) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod6IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IDHCPConfig(This) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod7IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IDHCPConfig(This) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod8IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IDHCPConfig(This) ) 


#define IDHCPGlobalConfig_get_InternalAndReservedAttribute1IDHCPGlobalConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDHCPGlobalConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute2IDHCPGlobalConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDHCPGlobalConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute3IDHCPGlobalConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDHCPGlobalConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_get_InternalAndReservedAttribute4IDHCPGlobalConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IDHCPGlobalConfig(This,aReserved) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod1IDHCPGlobalConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDHCPGlobalConfig(This) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod2IDHCPGlobalConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDHCPGlobalConfig(This) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod3IDHCPGlobalConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDHCPGlobalConfig(This) ) 

#define IDHCPGlobalConfig_InternalAndReservedMethod4IDHCPGlobalConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IDHCPGlobalConfig(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDHCPGlobalConfig_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0007 */
/* [local] */ 

#define COM_FORWARD_IDHCPGlobalConfig_TO(smth) 
#define COM_FORWARD_IDHCPGlobalConfig_TO_OBJ(obj) COM_FORWARD_IDHCPGlobalConfig_TO ((obj)->)
#define COM_FORWARD_IDHCPGlobalConfig_TO_BASE(base) COM_FORWARD_IDHCPGlobalConfig_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0007_v0_0_s_ifspec;

#ifndef __IDHCPGroupCondition_INTERFACE_DEFINED__
#define __IDHCPGroupCondition_INTERFACE_DEFINED__

/* interface IDHCPGroupCondition */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDHCPGroupCondition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5ca9e537-5a1d-43f1-6f27-6a0db298a9a8")
    IDHCPGroupCondition : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Inclusive( 
            /* [retval][out] */ BOOL *aInclusive) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Inclusive( 
            /* [in] */ BOOL aInclusive) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ DHCPGroupConditionType *aType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ DHCPGroupConditionType aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Value( 
            /* [in] */ BSTR aValue) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDHCPGroupCondition( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDHCPGroupCondition( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IDHCPGroupCondition( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Remove( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IDHCPGroupCondition( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IDHCPGroupCondition( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IDHCPGroupCondition( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDHCPGroupConditionVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDHCPGroupCondition * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDHCPGroupCondition * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDHCPGroupCondition * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDHCPGroupCondition * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDHCPGroupCondition * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDHCPGroupCondition * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDHCPGroupCondition * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, get_Inclusive)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Inclusive )( 
            IDHCPGroupCondition * This,
            /* [retval][out] */ BOOL *aInclusive);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, put_Inclusive)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Inclusive )( 
            IDHCPGroupCondition * This,
            /* [in] */ BOOL aInclusive);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IDHCPGroupCondition * This,
            /* [retval][out] */ DHCPGroupConditionType *aType);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, put_Type)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IDHCPGroupCondition * This,
            /* [in] */ DHCPGroupConditionType aType);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, get_Value)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            IDHCPGroupCondition * This,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, put_Value)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            IDHCPGroupCondition * This,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, get_InternalAndReservedAttribute1IDHCPGroupCondition)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDHCPGroupCondition )( 
            IDHCPGroupCondition * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, get_InternalAndReservedAttribute2IDHCPGroupCondition)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDHCPGroupCondition )( 
            IDHCPGroupCondition * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, get_InternalAndReservedAttribute3IDHCPGroupCondition)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDHCPGroupCondition )( 
            IDHCPGroupCondition * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, Remove)
        HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IDHCPGroupCondition * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, InternalAndReservedMethod1IDHCPGroupCondition)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDHCPGroupCondition )( 
            IDHCPGroupCondition * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, InternalAndReservedMethod2IDHCPGroupCondition)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDHCPGroupCondition )( 
            IDHCPGroupCondition * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupCondition, InternalAndReservedMethod3IDHCPGroupCondition)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDHCPGroupCondition )( 
            IDHCPGroupCondition * This);
        
        END_INTERFACE
    } IDHCPGroupConditionVtbl;

    interface IDHCPGroupCondition
    {
        CONST_VTBL struct IDHCPGroupConditionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDHCPGroupCondition_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDHCPGroupCondition_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDHCPGroupCondition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDHCPGroupCondition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDHCPGroupCondition_get_Inclusive(This,aInclusive)	\
    ( (This)->lpVtbl -> get_Inclusive(This,aInclusive) ) 

#define IDHCPGroupCondition_put_Inclusive(This,aInclusive)	\
    ( (This)->lpVtbl -> put_Inclusive(This,aInclusive) ) 

#define IDHCPGroupCondition_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IDHCPGroupCondition_put_Type(This,aType)	\
    ( (This)->lpVtbl -> put_Type(This,aType) ) 

#define IDHCPGroupCondition_get_Value(This,aValue)	\
    ( (This)->lpVtbl -> get_Value(This,aValue) ) 

#define IDHCPGroupCondition_put_Value(This,aValue)	\
    ( (This)->lpVtbl -> put_Value(This,aValue) ) 

#define IDHCPGroupCondition_get_InternalAndReservedAttribute1IDHCPGroupCondition(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDHCPGroupCondition(This,aReserved) ) 

#define IDHCPGroupCondition_get_InternalAndReservedAttribute2IDHCPGroupCondition(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDHCPGroupCondition(This,aReserved) ) 

#define IDHCPGroupCondition_get_InternalAndReservedAttribute3IDHCPGroupCondition(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDHCPGroupCondition(This,aReserved) ) 

#define IDHCPGroupCondition_Remove(This)	\
    ( (This)->lpVtbl -> Remove(This) ) 

#define IDHCPGroupCondition_InternalAndReservedMethod1IDHCPGroupCondition(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDHCPGroupCondition(This) ) 

#define IDHCPGroupCondition_InternalAndReservedMethod2IDHCPGroupCondition(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDHCPGroupCondition(This) ) 

#define IDHCPGroupCondition_InternalAndReservedMethod3IDHCPGroupCondition(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDHCPGroupCondition(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDHCPGroupCondition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0008 */
/* [local] */ 

#define COM_FORWARD_IDHCPGroupCondition_GETTER_Inclusive_TO(smth) HRESULT STDMETHODCALLTYPE get_Inclusive (BOOL * aInclusive) { return smth get_Inclusive (aInclusive); }
#define COM_FORWARD_IDHCPGroupCondition_GETTER_Inclusive_TO_OBJ(obj) COM_FORWARD_IDHCPGroupCondition_GETTER_Inclusive_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupCondition_GETTER_Inclusive_TO_BASE(base) COM_FORWARD_IDHCPGroupCondition_GETTER_Inclusive_TO (base::)
#define COM_FORWARD_IDHCPGroupCondition_SETTER_Inclusive_TO(smth) HRESULT STDMETHODCALLTYPE put_Inclusive (BOOL aInclusive) { return smth put_Inclusive (aInclusive); }
#define COM_FORWARD_IDHCPGroupCondition_SETTER_Inclusive_TO_OBJ(obj) COM_FORWARD_IDHCPGroupCondition_SETTER_Inclusive_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupCondition_SETTER_Inclusive_TO_BASE(base) COM_FORWARD_IDHCPGroupCondition_SETTER_Inclusive_TO (base::)
#define COM_FORWARD_IDHCPGroupCondition_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (DHCPGroupConditionType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IDHCPGroupCondition_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IDHCPGroupCondition_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupCondition_GETTER_Type_TO_BASE(base) COM_FORWARD_IDHCPGroupCondition_GETTER_Type_TO (base::)
#define COM_FORWARD_IDHCPGroupCondition_SETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE put_Type (DHCPGroupConditionType aType) { return smth put_Type (aType); }
#define COM_FORWARD_IDHCPGroupCondition_SETTER_Type_TO_OBJ(obj) COM_FORWARD_IDHCPGroupCondition_SETTER_Type_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupCondition_SETTER_Type_TO_BASE(base) COM_FORWARD_IDHCPGroupCondition_SETTER_Type_TO (base::)
#define COM_FORWARD_IDHCPGroupCondition_GETTER_Value_TO(smth) HRESULT STDMETHODCALLTYPE get_Value (BSTR * aValue) { return smth get_Value (aValue); }
#define COM_FORWARD_IDHCPGroupCondition_GETTER_Value_TO_OBJ(obj) COM_FORWARD_IDHCPGroupCondition_GETTER_Value_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupCondition_GETTER_Value_TO_BASE(base) COM_FORWARD_IDHCPGroupCondition_GETTER_Value_TO (base::)
#define COM_FORWARD_IDHCPGroupCondition_SETTER_Value_TO(smth) HRESULT STDMETHODCALLTYPE put_Value (BSTR aValue) { return smth put_Value (aValue); }
#define COM_FORWARD_IDHCPGroupCondition_SETTER_Value_TO_OBJ(obj) COM_FORWARD_IDHCPGroupCondition_SETTER_Value_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupCondition_SETTER_Value_TO_BASE(base) COM_FORWARD_IDHCPGroupCondition_SETTER_Value_TO (base::)
#define COM_FORWARD_IDHCPGroupCondition_Remove_TO(smth) HRESULT STDMETHODCALLTYPE Remove() { return smth Remove(); }
#define COM_FORWARD_IDHCPGroupCondition_Remove_TO_OBJ(obj) COM_FORWARD_IDHCPGroupCondition_Remove_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupCondition_Remove_TO_BASE(base) COM_FORWARD_IDHCPGroupCondition_Remove_TO (base::)
#define COM_FORWARD_IDHCPGroupCondition_TO(smth) COM_FORWARD_IDHCPGroupCondition_GETTER_Inclusive_TO (smth) COM_FORWARD_IDHCPGroupCondition_SETTER_Inclusive_TO (smth) COM_FORWARD_IDHCPGroupCondition_GETTER_Type_TO (smth) COM_FORWARD_IDHCPGroupCondition_SETTER_Type_TO (smth) COM_FORWARD_IDHCPGroupCondition_GETTER_Value_TO (smth) COM_FORWARD_IDHCPGroupCondition_SETTER_Value_TO (smth) COM_FORWARD_IDHCPGroupCondition_Remove_TO (smth) 
#define COM_FORWARD_IDHCPGroupCondition_TO_OBJ(obj) COM_FORWARD_IDHCPGroupCondition_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupCondition_TO_BASE(base) COM_FORWARD_IDHCPGroupCondition_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0008_v0_0_s_ifspec;

#ifndef __IDHCPGroupConfig_INTERFACE_DEFINED__
#define __IDHCPGroupConfig_INTERFACE_DEFINED__

/* interface IDHCPGroupConfig */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDHCPGroupConfig;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("537707f7-ebf9-4d5c-7aea-877bfc4256ba")
    IDHCPGroupConfig : public IDHCPConfig
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Conditions( 
            /* [retval][out] */ SAFEARRAY * *aConditions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDHCPGroupConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDHCPGroupConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IDHCPGroupConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IDHCPGroupConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IDHCPGroupConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IDHCPGroupConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IDHCPGroupConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IDHCPGroupConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddCondition( 
            /* [in] */ BOOL aInclusive,
            /* [in] */ DHCPGroupConditionType aType,
            /* [in] */ BSTR aValue,
            /* [retval][out] */ IDHCPGroupCondition **aCondition) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAllConditions( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IDHCPGroupConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IDHCPGroupConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IDHCPGroupConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IDHCPGroupConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IDHCPGroupConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IDHCPGroupConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IDHCPGroupConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IDHCPGroupConfig( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDHCPGroupConfigVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDHCPGroupConfig * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDHCPGroupConfig * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDHCPGroupConfig * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDHCPGroupConfig * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDHCPGroupConfig * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_Scope)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scope )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ DHCPConfigScope *aScope);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_MinLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinLeaseTime )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aMinLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_MinLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MinLeaseTime )( 
            IDHCPGroupConfig * This,
            /* [in] */ ULONG aMinLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_DefaultLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultLeaseTime )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aDefaultLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_DefaultLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultLeaseTime )( 
            IDHCPGroupConfig * This,
            /* [in] */ ULONG aDefaultLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_MaxLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxLeaseTime )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aMaxLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_MaxLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxLeaseTime )( 
            IDHCPGroupConfig * This,
            /* [in] */ ULONG aMaxLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_ForcedOptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForcedOptions )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ SAFEARRAY * *aForcedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_ForcedOptions)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForcedOptions )( 
            IDHCPGroupConfig * This,
            /* [in] */ SAFEARRAY * aForcedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_SuppressedOptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressedOptions )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ SAFEARRAY * *aSuppressedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_SuppressedOptions)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressedOptions )( 
            IDHCPGroupConfig * This,
            /* [in] */ SAFEARRAY * aSuppressedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute1IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute2IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute3IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute4IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute5IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute6IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute7IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute8IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute9IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute10IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute11IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute12IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute13IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute14IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute15IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute16IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IDHCPConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, SetOption)
        HRESULT ( STDMETHODCALLTYPE *SetOption )( 
            IDHCPGroupConfig * This,
            /* [in] */ DHCPOption aOption,
            /* [in] */ DHCPOptionEncoding aEncoding,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, RemoveOption)
        HRESULT ( STDMETHODCALLTYPE *RemoveOption )( 
            IDHCPGroupConfig * This,
            /* [in] */ DHCPOption aOption);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, RemoveAllOptions)
        HRESULT ( STDMETHODCALLTYPE *RemoveAllOptions )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, GetOption)
        HRESULT ( STDMETHODCALLTYPE *GetOption )( 
            IDHCPGroupConfig * This,
            /* [in] */ DHCPOption aOption,
            /* [out] */ DHCPOptionEncoding *aEncoding,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, GetAllOptions)
        HRESULT ( STDMETHODCALLTYPE *GetAllOptions )( 
            IDHCPGroupConfig * This,
            /* [out] */ SAFEARRAY * *aOptions,
            /* [out] */ SAFEARRAY * *aEncodings,
            /* [retval][out] */ SAFEARRAY * *aValues);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, Remove)
        HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod1IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDHCPConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod2IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDHCPConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod3IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDHCPConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod4IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IDHCPConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod5IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IDHCPConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod6IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IDHCPConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod7IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IDHCPConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod8IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IDHCPConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, put_Name)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IDHCPGroupConfig * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, get_Conditions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Conditions )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ SAFEARRAY * *aConditions);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, get_InternalAndReservedAttribute1IDHCPGroupConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDHCPGroupConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, get_InternalAndReservedAttribute2IDHCPGroupConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDHCPGroupConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, get_InternalAndReservedAttribute3IDHCPGroupConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDHCPGroupConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, get_InternalAndReservedAttribute4IDHCPGroupConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IDHCPGroupConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, get_InternalAndReservedAttribute5IDHCPGroupConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IDHCPGroupConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, get_InternalAndReservedAttribute6IDHCPGroupConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IDHCPGroupConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, get_InternalAndReservedAttribute7IDHCPGroupConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IDHCPGroupConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, get_InternalAndReservedAttribute8IDHCPGroupConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IDHCPGroupConfig )( 
            IDHCPGroupConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, AddCondition)
        HRESULT ( STDMETHODCALLTYPE *AddCondition )( 
            IDHCPGroupConfig * This,
            /* [in] */ BOOL aInclusive,
            /* [in] */ DHCPGroupConditionType aType,
            /* [in] */ BSTR aValue,
            /* [retval][out] */ IDHCPGroupCondition **aCondition);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, RemoveAllConditions)
        HRESULT ( STDMETHODCALLTYPE *RemoveAllConditions )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, InternalAndReservedMethod1IDHCPGroupConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDHCPGroupConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, InternalAndReservedMethod2IDHCPGroupConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDHCPGroupConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, InternalAndReservedMethod3IDHCPGroupConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDHCPGroupConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, InternalAndReservedMethod4IDHCPGroupConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IDHCPGroupConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, InternalAndReservedMethod5IDHCPGroupConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IDHCPGroupConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, InternalAndReservedMethod6IDHCPGroupConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IDHCPGroupConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, InternalAndReservedMethod7IDHCPGroupConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IDHCPGroupConfig )( 
            IDHCPGroupConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPGroupConfig, InternalAndReservedMethod8IDHCPGroupConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IDHCPGroupConfig )( 
            IDHCPGroupConfig * This);
        
        END_INTERFACE
    } IDHCPGroupConfigVtbl;

    interface IDHCPGroupConfig
    {
        CONST_VTBL struct IDHCPGroupConfigVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDHCPGroupConfig_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDHCPGroupConfig_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDHCPGroupConfig_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDHCPGroupConfig_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDHCPGroupConfig_get_Scope(This,aScope)	\
    ( (This)->lpVtbl -> get_Scope(This,aScope) ) 

#define IDHCPGroupConfig_get_MinLeaseTime(This,aMinLeaseTime)	\
    ( (This)->lpVtbl -> get_MinLeaseTime(This,aMinLeaseTime) ) 

#define IDHCPGroupConfig_put_MinLeaseTime(This,aMinLeaseTime)	\
    ( (This)->lpVtbl -> put_MinLeaseTime(This,aMinLeaseTime) ) 

#define IDHCPGroupConfig_get_DefaultLeaseTime(This,aDefaultLeaseTime)	\
    ( (This)->lpVtbl -> get_DefaultLeaseTime(This,aDefaultLeaseTime) ) 

#define IDHCPGroupConfig_put_DefaultLeaseTime(This,aDefaultLeaseTime)	\
    ( (This)->lpVtbl -> put_DefaultLeaseTime(This,aDefaultLeaseTime) ) 

#define IDHCPGroupConfig_get_MaxLeaseTime(This,aMaxLeaseTime)	\
    ( (This)->lpVtbl -> get_MaxLeaseTime(This,aMaxLeaseTime) ) 

#define IDHCPGroupConfig_put_MaxLeaseTime(This,aMaxLeaseTime)	\
    ( (This)->lpVtbl -> put_MaxLeaseTime(This,aMaxLeaseTime) ) 

#define IDHCPGroupConfig_get_ForcedOptions(This,aForcedOptions)	\
    ( (This)->lpVtbl -> get_ForcedOptions(This,aForcedOptions) ) 

#define IDHCPGroupConfig_put_ForcedOptions(This,aForcedOptions)	\
    ( (This)->lpVtbl -> put_ForcedOptions(This,aForcedOptions) ) 

#define IDHCPGroupConfig_get_SuppressedOptions(This,aSuppressedOptions)	\
    ( (This)->lpVtbl -> get_SuppressedOptions(This,aSuppressedOptions) ) 

#define IDHCPGroupConfig_put_SuppressedOptions(This,aSuppressedOptions)	\
    ( (This)->lpVtbl -> put_SuppressedOptions(This,aSuppressedOptions) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute1IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute2IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute3IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute4IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute5IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute6IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute7IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute8IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute9IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute10IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute11IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute12IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute13IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute14IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute15IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute16IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IDHCPConfig(This,aReserved) ) 

#define IDHCPGroupConfig_SetOption(This,aOption,aEncoding,aValue)	\
    ( (This)->lpVtbl -> SetOption(This,aOption,aEncoding,aValue) ) 

#define IDHCPGroupConfig_RemoveOption(This,aOption)	\
    ( (This)->lpVtbl -> RemoveOption(This,aOption) ) 

#define IDHCPGroupConfig_RemoveAllOptions(This)	\
    ( (This)->lpVtbl -> RemoveAllOptions(This) ) 

#define IDHCPGroupConfig_GetOption(This,aOption,aEncoding,aValue)	\
    ( (This)->lpVtbl -> GetOption(This,aOption,aEncoding,aValue) ) 

#define IDHCPGroupConfig_GetAllOptions(This,aOptions,aEncodings,aValues)	\
    ( (This)->lpVtbl -> GetAllOptions(This,aOptions,aEncodings,aValues) ) 

#define IDHCPGroupConfig_Remove(This)	\
    ( (This)->lpVtbl -> Remove(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod1IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDHCPConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod2IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDHCPConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod3IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDHCPConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod4IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IDHCPConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod5IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IDHCPConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod6IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IDHCPConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod7IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IDHCPConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod8IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IDHCPConfig(This) ) 


#define IDHCPGroupConfig_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IDHCPGroupConfig_put_Name(This,aName)	\
    ( (This)->lpVtbl -> put_Name(This,aName) ) 

#define IDHCPGroupConfig_get_Conditions(This,aConditions)	\
    ( (This)->lpVtbl -> get_Conditions(This,aConditions) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute1IDHCPGroupConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDHCPGroupConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute2IDHCPGroupConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDHCPGroupConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute3IDHCPGroupConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDHCPGroupConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute4IDHCPGroupConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IDHCPGroupConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute5IDHCPGroupConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IDHCPGroupConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute6IDHCPGroupConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IDHCPGroupConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute7IDHCPGroupConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IDHCPGroupConfig(This,aReserved) ) 

#define IDHCPGroupConfig_get_InternalAndReservedAttribute8IDHCPGroupConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IDHCPGroupConfig(This,aReserved) ) 

#define IDHCPGroupConfig_AddCondition(This,aInclusive,aType,aValue,aCondition)	\
    ( (This)->lpVtbl -> AddCondition(This,aInclusive,aType,aValue,aCondition) ) 

#define IDHCPGroupConfig_RemoveAllConditions(This)	\
    ( (This)->lpVtbl -> RemoveAllConditions(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod1IDHCPGroupConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDHCPGroupConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod2IDHCPGroupConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDHCPGroupConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod3IDHCPGroupConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDHCPGroupConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod4IDHCPGroupConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IDHCPGroupConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod5IDHCPGroupConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IDHCPGroupConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod6IDHCPGroupConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IDHCPGroupConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod7IDHCPGroupConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IDHCPGroupConfig(This) ) 

#define IDHCPGroupConfig_InternalAndReservedMethod8IDHCPGroupConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IDHCPGroupConfig(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDHCPGroupConfig_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0009 */
/* [local] */ 

#define COM_FORWARD_IDHCPGroupConfig_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IDHCPGroupConfig_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupConfig_GETTER_Name_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_GETTER_Name_TO (base::)
#define COM_FORWARD_IDHCPGroupConfig_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }
#define COM_FORWARD_IDHCPGroupConfig_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_SETTER_Name_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupConfig_SETTER_Name_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_SETTER_Name_TO (base::)
#define COM_FORWARD_IDHCPGroupConfig_GETTER_Conditions_TO(smth) HRESULT STDMETHODCALLTYPE get_Conditions (SAFEARRAY * * aConditions) { return smth get_Conditions (aConditions); }
#define COM_FORWARD_IDHCPGroupConfig_GETTER_Conditions_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_GETTER_Conditions_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupConfig_GETTER_Conditions_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_GETTER_Conditions_TO (base::)
#define COM_FORWARD_IDHCPGroupConfig_AddCondition_TO(smth) HRESULT STDMETHODCALLTYPE AddCondition (BOOL aInclusive, DHCPGroupConditionType aType, BSTR aValue, IDHCPGroupCondition * * aCondition) { return smth AddCondition (aInclusive, aType, aValue, aCondition); }
#define COM_FORWARD_IDHCPGroupConfig_AddCondition_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_AddCondition_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupConfig_AddCondition_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_AddCondition_TO (base::)
#define COM_FORWARD_IDHCPGroupConfig_RemoveAllConditions_TO(smth) HRESULT STDMETHODCALLTYPE RemoveAllConditions() { return smth RemoveAllConditions(); }
#define COM_FORWARD_IDHCPGroupConfig_RemoveAllConditions_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_RemoveAllConditions_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupConfig_RemoveAllConditions_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_RemoveAllConditions_TO (base::)
#define COM_FORWARD_IDHCPGroupConfig_TO(smth) COM_FORWARD_IDHCPGroupConfig_GETTER_Name_TO (smth) COM_FORWARD_IDHCPGroupConfig_SETTER_Name_TO (smth) COM_FORWARD_IDHCPGroupConfig_GETTER_Conditions_TO (smth) COM_FORWARD_IDHCPGroupConfig_AddCondition_TO (smth) COM_FORWARD_IDHCPGroupConfig_RemoveAllConditions_TO (smth) 
#define COM_FORWARD_IDHCPGroupConfig_TO_OBJ(obj) COM_FORWARD_IDHCPGroupConfig_TO ((obj)->)
#define COM_FORWARD_IDHCPGroupConfig_TO_BASE(base) COM_FORWARD_IDHCPGroupConfig_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0009_v0_0_s_ifspec;

#ifndef __IDHCPIndividualConfig_INTERFACE_DEFINED__
#define __IDHCPIndividualConfig_INTERFACE_DEFINED__

/* interface IDHCPIndividualConfig */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDHCPIndividualConfig;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c40c2b86-73a5-46cc-8227-93fe57d006a6")
    IDHCPIndividualConfig : public IDHCPConfig
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MACAddress( 
            /* [retval][out] */ BSTR *aMACAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MachineId( 
            /* [retval][out] */ BSTR *aMachineId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Slot( 
            /* [retval][out] */ ULONG *aSlot) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FixedAddress( 
            /* [retval][out] */ BSTR *aFixedAddress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FixedAddress( 
            /* [in] */ BSTR aFixedAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDHCPIndividualConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDHCPIndividualConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IDHCPIndividualConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IDHCPIndividualConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IDHCPIndividualConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IDHCPIndividualConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IDHCPIndividualConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IDHCPIndividualConfig( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IDHCPIndividualConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IDHCPIndividualConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IDHCPIndividualConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IDHCPIndividualConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IDHCPIndividualConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IDHCPIndividualConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IDHCPIndividualConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IDHCPIndividualConfig( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDHCPIndividualConfigVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDHCPIndividualConfig * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDHCPIndividualConfig * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDHCPIndividualConfig * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDHCPIndividualConfig * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDHCPIndividualConfig * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_Scope)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scope )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ DHCPConfigScope *aScope);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_MinLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinLeaseTime )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aMinLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_MinLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MinLeaseTime )( 
            IDHCPIndividualConfig * This,
            /* [in] */ ULONG aMinLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_DefaultLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultLeaseTime )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aDefaultLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_DefaultLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultLeaseTime )( 
            IDHCPIndividualConfig * This,
            /* [in] */ ULONG aDefaultLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_MaxLeaseTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxLeaseTime )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aMaxLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_MaxLeaseTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxLeaseTime )( 
            IDHCPIndividualConfig * This,
            /* [in] */ ULONG aMaxLeaseTime);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_ForcedOptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForcedOptions )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ SAFEARRAY * *aForcedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_ForcedOptions)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForcedOptions )( 
            IDHCPIndividualConfig * This,
            /* [in] */ SAFEARRAY * aForcedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_SuppressedOptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressedOptions )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ SAFEARRAY * *aSuppressedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, put_SuppressedOptions)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressedOptions )( 
            IDHCPIndividualConfig * This,
            /* [in] */ SAFEARRAY * aSuppressedOptions);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute1IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute2IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute3IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute4IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute5IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute6IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute7IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute8IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute9IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute10IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute11IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute12IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute13IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute14IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute15IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, get_InternalAndReservedAttribute16IDHCPConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IDHCPConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, SetOption)
        HRESULT ( STDMETHODCALLTYPE *SetOption )( 
            IDHCPIndividualConfig * This,
            /* [in] */ DHCPOption aOption,
            /* [in] */ DHCPOptionEncoding aEncoding,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, RemoveOption)
        HRESULT ( STDMETHODCALLTYPE *RemoveOption )( 
            IDHCPIndividualConfig * This,
            /* [in] */ DHCPOption aOption);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, RemoveAllOptions)
        HRESULT ( STDMETHODCALLTYPE *RemoveAllOptions )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, GetOption)
        HRESULT ( STDMETHODCALLTYPE *GetOption )( 
            IDHCPIndividualConfig * This,
            /* [in] */ DHCPOption aOption,
            /* [out] */ DHCPOptionEncoding *aEncoding,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, GetAllOptions)
        HRESULT ( STDMETHODCALLTYPE *GetAllOptions )( 
            IDHCPIndividualConfig * This,
            /* [out] */ SAFEARRAY * *aOptions,
            /* [out] */ SAFEARRAY * *aEncodings,
            /* [retval][out] */ SAFEARRAY * *aValues);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, Remove)
        HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod1IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDHCPConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod2IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDHCPConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod3IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDHCPConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod4IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IDHCPConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod5IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IDHCPConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod6IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IDHCPConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod7IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IDHCPConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPConfig, InternalAndReservedMethod8IDHCPConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IDHCPConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_MACAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MACAddress )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ BSTR *aMACAddress);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_Slot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Slot )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aSlot);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_FixedAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FixedAddress )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ BSTR *aFixedAddress);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, put_FixedAddress)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FixedAddress )( 
            IDHCPIndividualConfig * This,
            /* [in] */ BSTR aFixedAddress);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_InternalAndReservedAttribute1IDHCPIndividualConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_InternalAndReservedAttribute2IDHCPIndividualConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_InternalAndReservedAttribute3IDHCPIndividualConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_InternalAndReservedAttribute4IDHCPIndividualConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_InternalAndReservedAttribute5IDHCPIndividualConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_InternalAndReservedAttribute6IDHCPIndividualConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_InternalAndReservedAttribute7IDHCPIndividualConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, get_InternalAndReservedAttribute8IDHCPIndividualConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, InternalAndReservedMethod1IDHCPIndividualConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, InternalAndReservedMethod2IDHCPIndividualConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, InternalAndReservedMethod3IDHCPIndividualConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, InternalAndReservedMethod4IDHCPIndividualConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, InternalAndReservedMethod5IDHCPIndividualConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, InternalAndReservedMethod6IDHCPIndividualConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, InternalAndReservedMethod7IDHCPIndividualConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This);
        
        DECLSPEC_XFGVIRT(IDHCPIndividualConfig, InternalAndReservedMethod8IDHCPIndividualConfig)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IDHCPIndividualConfig )( 
            IDHCPIndividualConfig * This);
        
        END_INTERFACE
    } IDHCPIndividualConfigVtbl;

    interface IDHCPIndividualConfig
    {
        CONST_VTBL struct IDHCPIndividualConfigVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDHCPIndividualConfig_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDHCPIndividualConfig_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDHCPIndividualConfig_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDHCPIndividualConfig_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDHCPIndividualConfig_get_Scope(This,aScope)	\
    ( (This)->lpVtbl -> get_Scope(This,aScope) ) 

#define IDHCPIndividualConfig_get_MinLeaseTime(This,aMinLeaseTime)	\
    ( (This)->lpVtbl -> get_MinLeaseTime(This,aMinLeaseTime) ) 

#define IDHCPIndividualConfig_put_MinLeaseTime(This,aMinLeaseTime)	\
    ( (This)->lpVtbl -> put_MinLeaseTime(This,aMinLeaseTime) ) 

#define IDHCPIndividualConfig_get_DefaultLeaseTime(This,aDefaultLeaseTime)	\
    ( (This)->lpVtbl -> get_DefaultLeaseTime(This,aDefaultLeaseTime) ) 

#define IDHCPIndividualConfig_put_DefaultLeaseTime(This,aDefaultLeaseTime)	\
    ( (This)->lpVtbl -> put_DefaultLeaseTime(This,aDefaultLeaseTime) ) 

#define IDHCPIndividualConfig_get_MaxLeaseTime(This,aMaxLeaseTime)	\
    ( (This)->lpVtbl -> get_MaxLeaseTime(This,aMaxLeaseTime) ) 

#define IDHCPIndividualConfig_put_MaxLeaseTime(This,aMaxLeaseTime)	\
    ( (This)->lpVtbl -> put_MaxLeaseTime(This,aMaxLeaseTime) ) 

#define IDHCPIndividualConfig_get_ForcedOptions(This,aForcedOptions)	\
    ( (This)->lpVtbl -> get_ForcedOptions(This,aForcedOptions) ) 

#define IDHCPIndividualConfig_put_ForcedOptions(This,aForcedOptions)	\
    ( (This)->lpVtbl -> put_ForcedOptions(This,aForcedOptions) ) 

#define IDHCPIndividualConfig_get_SuppressedOptions(This,aSuppressedOptions)	\
    ( (This)->lpVtbl -> get_SuppressedOptions(This,aSuppressedOptions) ) 

#define IDHCPIndividualConfig_put_SuppressedOptions(This,aSuppressedOptions)	\
    ( (This)->lpVtbl -> put_SuppressedOptions(This,aSuppressedOptions) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute1IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute2IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute3IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute4IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute5IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute6IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute7IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute8IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute9IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute10IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute11IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute12IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute13IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute14IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute15IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute16IDHCPConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IDHCPConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_SetOption(This,aOption,aEncoding,aValue)	\
    ( (This)->lpVtbl -> SetOption(This,aOption,aEncoding,aValue) ) 

#define IDHCPIndividualConfig_RemoveOption(This,aOption)	\
    ( (This)->lpVtbl -> RemoveOption(This,aOption) ) 

#define IDHCPIndividualConfig_RemoveAllOptions(This)	\
    ( (This)->lpVtbl -> RemoveAllOptions(This) ) 

#define IDHCPIndividualConfig_GetOption(This,aOption,aEncoding,aValue)	\
    ( (This)->lpVtbl -> GetOption(This,aOption,aEncoding,aValue) ) 

#define IDHCPIndividualConfig_GetAllOptions(This,aOptions,aEncodings,aValues)	\
    ( (This)->lpVtbl -> GetAllOptions(This,aOptions,aEncodings,aValues) ) 

#define IDHCPIndividualConfig_Remove(This)	\
    ( (This)->lpVtbl -> Remove(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod1IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDHCPConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod2IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDHCPConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod3IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDHCPConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod4IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IDHCPConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod5IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IDHCPConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod6IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IDHCPConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod7IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IDHCPConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod8IDHCPConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IDHCPConfig(This) ) 


#define IDHCPIndividualConfig_get_MACAddress(This,aMACAddress)	\
    ( (This)->lpVtbl -> get_MACAddress(This,aMACAddress) ) 

#define IDHCPIndividualConfig_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 

#define IDHCPIndividualConfig_get_Slot(This,aSlot)	\
    ( (This)->lpVtbl -> get_Slot(This,aSlot) ) 

#define IDHCPIndividualConfig_get_FixedAddress(This,aFixedAddress)	\
    ( (This)->lpVtbl -> get_FixedAddress(This,aFixedAddress) ) 

#define IDHCPIndividualConfig_put_FixedAddress(This,aFixedAddress)	\
    ( (This)->lpVtbl -> put_FixedAddress(This,aFixedAddress) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute1IDHCPIndividualConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDHCPIndividualConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute2IDHCPIndividualConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDHCPIndividualConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute3IDHCPIndividualConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDHCPIndividualConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute4IDHCPIndividualConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IDHCPIndividualConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute5IDHCPIndividualConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IDHCPIndividualConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute6IDHCPIndividualConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IDHCPIndividualConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute7IDHCPIndividualConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IDHCPIndividualConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_get_InternalAndReservedAttribute8IDHCPIndividualConfig(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IDHCPIndividualConfig(This,aReserved) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod1IDHCPIndividualConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDHCPIndividualConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod2IDHCPIndividualConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDHCPIndividualConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod3IDHCPIndividualConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDHCPIndividualConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod4IDHCPIndividualConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IDHCPIndividualConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod5IDHCPIndividualConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IDHCPIndividualConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod6IDHCPIndividualConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IDHCPIndividualConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod7IDHCPIndividualConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IDHCPIndividualConfig(This) ) 

#define IDHCPIndividualConfig_InternalAndReservedMethod8IDHCPIndividualConfig(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IDHCPIndividualConfig(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDHCPIndividualConfig_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0010 */
/* [local] */ 

#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MACAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_MACAddress (BSTR * aMACAddress) { return smth get_MACAddress (aMACAddress); }
#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MACAddress_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_GETTER_MACAddress_TO ((obj)->)
#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MACAddress_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_GETTER_MACAddress_TO (base::)
#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MachineId_TO(smth) HRESULT STDMETHODCALLTYPE get_MachineId (BSTR * aMachineId) { return smth get_MachineId (aMachineId); }
#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MachineId_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_GETTER_MachineId_TO ((obj)->)
#define COM_FORWARD_IDHCPIndividualConfig_GETTER_MachineId_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_GETTER_MachineId_TO (base::)
#define COM_FORWARD_IDHCPIndividualConfig_GETTER_Slot_TO(smth) HRESULT STDMETHODCALLTYPE get_Slot (ULONG * aSlot) { return smth get_Slot (aSlot); }
#define COM_FORWARD_IDHCPIndividualConfig_GETTER_Slot_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_GETTER_Slot_TO ((obj)->)
#define COM_FORWARD_IDHCPIndividualConfig_GETTER_Slot_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_GETTER_Slot_TO (base::)
#define COM_FORWARD_IDHCPIndividualConfig_GETTER_FixedAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_FixedAddress (BSTR * aFixedAddress) { return smth get_FixedAddress (aFixedAddress); }
#define COM_FORWARD_IDHCPIndividualConfig_GETTER_FixedAddress_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_GETTER_FixedAddress_TO ((obj)->)
#define COM_FORWARD_IDHCPIndividualConfig_GETTER_FixedAddress_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_GETTER_FixedAddress_TO (base::)
#define COM_FORWARD_IDHCPIndividualConfig_SETTER_FixedAddress_TO(smth) HRESULT STDMETHODCALLTYPE put_FixedAddress (BSTR aFixedAddress) { return smth put_FixedAddress (aFixedAddress); }
#define COM_FORWARD_IDHCPIndividualConfig_SETTER_FixedAddress_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_SETTER_FixedAddress_TO ((obj)->)
#define COM_FORWARD_IDHCPIndividualConfig_SETTER_FixedAddress_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_SETTER_FixedAddress_TO (base::)
#define COM_FORWARD_IDHCPIndividualConfig_TO(smth) COM_FORWARD_IDHCPIndividualConfig_GETTER_MACAddress_TO (smth) COM_FORWARD_IDHCPIndividualConfig_GETTER_MachineId_TO (smth) COM_FORWARD_IDHCPIndividualConfig_GETTER_Slot_TO (smth) COM_FORWARD_IDHCPIndividualConfig_GETTER_FixedAddress_TO (smth) COM_FORWARD_IDHCPIndividualConfig_SETTER_FixedAddress_TO (smth) 
#define COM_FORWARD_IDHCPIndividualConfig_TO_OBJ(obj) COM_FORWARD_IDHCPIndividualConfig_TO ((obj)->)
#define COM_FORWARD_IDHCPIndividualConfig_TO_BASE(base) COM_FORWARD_IDHCPIndividualConfig_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0010_v0_0_s_ifspec;

#ifndef __IVirtualBox_INTERFACE_DEFINED__
#define __IVirtualBox_INTERFACE_DEFINED__

/* interface IVirtualBox */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVirtualBox;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d644ad1e-c501-4fc7-9ab6-aa6d763bc540")
    IVirtualBox : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ BSTR *aVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VersionNormalized( 
            /* [retval][out] */ BSTR *aVersionNormalized) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Revision( 
            /* [retval][out] */ ULONG *aRevision) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PackageType( 
            /* [retval][out] */ BSTR *aPackageType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_APIVersion( 
            /* [retval][out] */ BSTR *aAPIVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_APIRevision( 
            /* [retval][out] */ LONG64 *aAPIRevision) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HomeFolder( 
            /* [retval][out] */ BSTR *aHomeFolder) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SettingsFilePath( 
            /* [retval][out] */ BSTR *aSettingsFilePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Host( 
            /* [retval][out] */ IHost **aHost) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SystemProperties( 
            /* [retval][out] */ ISystemProperties **aSystemProperties) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Machines( 
            /* [retval][out] */ SAFEARRAY * *aMachines) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MachineGroups( 
            /* [retval][out] */ SAFEARRAY * *aMachineGroups) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HardDisks( 
            /* [retval][out] */ SAFEARRAY * *aHardDisks) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DVDImages( 
            /* [retval][out] */ SAFEARRAY * *aDVDImages) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FloppyImages( 
            /* [retval][out] */ SAFEARRAY * *aFloppyImages) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProgressOperations( 
            /* [retval][out] */ SAFEARRAY * *aProgressOperations) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestOSTypes( 
            /* [retval][out] */ SAFEARRAY * *aGuestOSTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestOSFamilies( 
            /* [retval][out] */ SAFEARRAY * *aGuestOSFamilies) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SharedFolders( 
            /* [retval][out] */ SAFEARRAY * *aSharedFolders) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PerformanceCollector( 
            /* [retval][out] */ IPerformanceCollector **aPerformanceCollector) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DHCPServers( 
            /* [retval][out] */ SAFEARRAY * *aDHCPServers) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NATNetworks( 
            /* [retval][out] */ SAFEARRAY * *aNATNetworks) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionPackManager( 
            /* [retval][out] */ IExtPackManager **aExtensionPackManager) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalNetworks( 
            /* [retval][out] */ SAFEARRAY * *aInternalNetworks) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostOnlyNetworks( 
            /* [retval][out] */ SAFEARRAY * *aHostOnlyNetworks) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GenericNetworkDrivers( 
            /* [retval][out] */ SAFEARRAY * *aGenericNetworkDrivers) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CloudNetworks( 
            /* [retval][out] */ SAFEARRAY * *aCloudNetworks) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CloudProviderManager( 
            /* [retval][out] */ ICloudProviderManager **aCloudProviderManager) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IVirtualBox( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ComposeMachineFilename( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aGroup,
            /* [in] */ BSTR aCreateFlags,
            /* [in] */ BSTR aBaseFolder,
            /* [retval][out] */ BSTR *aFile) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPlatformProperties( 
            /* [in] */ PlatformArchitecture aArchitecture,
            /* [retval][out] */ IPlatformProperties **aProperties) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateMachine( 
            /* [in] */ BSTR aSettingsFile,
            /* [in] */ BSTR aName,
            /* [in] */ PlatformArchitecture aPlatform,
            /* [in] */ SAFEARRAY * aGroups,
            /* [in] */ BSTR aOsTypeId,
            /* [in] */ BSTR aFlags,
            /* [in] */ BSTR aCipher,
            /* [in] */ BSTR aPasswordId,
            /* [in] */ BSTR aPassword,
            /* [retval][out] */ IMachine **aMachine) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OpenMachine( 
            /* [in] */ BSTR aSettingsFile,
            /* [in] */ BSTR aPassword,
            /* [retval][out] */ IMachine **aMachine) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterMachine( 
            /* [in] */ IMachine *aMachine) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindMachine( 
            /* [in] */ BSTR aNameOrId,
            /* [retval][out] */ IMachine **aMachine) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMachinesByGroups( 
            /* [in] */ SAFEARRAY * aGroups,
            /* [retval][out] */ SAFEARRAY * *aMachines) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMachineStates( 
            /* [in] */ SAFEARRAY * aMachines,
            /* [retval][out] */ SAFEARRAY * *aStates) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateAppliance( 
            /* [retval][out] */ IAppliance **aAppliance) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateUnattendedInstaller( 
            /* [retval][out] */ IUnattended **aUnattended) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateMedium( 
            /* [in] */ BSTR aFormat,
            /* [in] */ BSTR aLocation,
            /* [in] */ AccessMode aAccessMode,
            /* [in] */ DeviceType aADeviceTypeType,
            /* [retval][out] */ IMedium **aMedium) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OpenMedium( 
            /* [in] */ BSTR aLocation,
            /* [in] */ DeviceType aDeviceType,
            /* [in] */ AccessMode aAccessMode,
            /* [in] */ BOOL aForceNewUuid,
            /* [retval][out] */ IMedium **aMedium) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetGuestOSType( 
            /* [in] */ BSTR aId,
            /* [retval][out] */ IGuestOSType **aType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetGuestOSSubtypesByFamilyId( 
            /* [in] */ BSTR aFamily,
            /* [retval][out] */ SAFEARRAY * *aOSsubtypes) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetGuestOSDescsBySubtype( 
            /* [in] */ BSTR aOSSubtype,
            /* [retval][out] */ SAFEARRAY * *aGuestOSDescs) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateSharedFolder( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aHostPath,
            /* [in] */ BOOL aWritable,
            /* [in] */ BOOL aAutomount,
            /* [in] */ BSTR aAutoMountPoint) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveSharedFolder( 
            /* [in] */ BSTR aName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetExtraDataKeys( 
            /* [retval][out] */ SAFEARRAY * *aKeys) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetExtraData( 
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetExtraData( 
            /* [in] */ BSTR aKey,
            /* [in] */ BSTR aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSettingsSecret( 
            /* [in] */ BSTR aPassword) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateDHCPServer( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IDHCPServer **aServer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindDHCPServerByNetworkName( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IDHCPServer **aServer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveDHCPServer( 
            /* [in] */ IDHCPServer *aServer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateNATNetwork( 
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ INATNetwork **aNetwork) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindNATNetworkByName( 
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ INATNetwork **aNetwork) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveNATNetwork( 
            /* [in] */ INATNetwork *aNetwork) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateHostOnlyNetwork( 
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ IHostOnlyNetwork **aNetwork) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindHostOnlyNetworkByName( 
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ IHostOnlyNetwork **aNetwork) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindHostOnlyNetworkById( 
            /* [in] */ BSTR aId,
            /* [retval][out] */ IHostOnlyNetwork **aNetwork) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveHostOnlyNetwork( 
            /* [in] */ IHostOnlyNetwork *aNetwork) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateCloudNetwork( 
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ ICloudNetwork **aNetwork) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindCloudNetworkByName( 
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ ICloudNetwork **aNetwork) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveCloudNetwork( 
            /* [in] */ ICloudNetwork *aNetwork) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CheckFirmwarePresent( 
            /* [in] */ PlatformArchitecture aPlatformArchitecture,
            /* [in] */ FirmwareType aFirmwareType,
            /* [in] */ BSTR aVersion,
            /* [out] */ BSTR *aUrl,
            /* [out] */ BSTR *aFile,
            /* [retval][out] */ BOOL *aResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindProgressById( 
            /* [in] */ BSTR aId,
            /* [retval][out] */ IProgress **aProgressObject) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IVirtualBox( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IVirtualBox( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IVirtualBox( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IVirtualBox( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IVirtualBox( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IVirtualBox( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IVirtualBox( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IVirtualBox( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVirtualBoxVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVirtualBox * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVirtualBox * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVirtualBox * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IVirtualBox * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IVirtualBox * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IVirtualBox * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IVirtualBox * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_Version)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IVirtualBox * This,
            /* [retval][out] */ BSTR *aVersion);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_VersionNormalized)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionNormalized )( 
            IVirtualBox * This,
            /* [retval][out] */ BSTR *aVersionNormalized);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_Revision)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Revision )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aRevision);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_PackageType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PackageType )( 
            IVirtualBox * This,
            /* [retval][out] */ BSTR *aPackageType);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_APIVersion)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_APIVersion )( 
            IVirtualBox * This,
            /* [retval][out] */ BSTR *aAPIVersion);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_APIRevision)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_APIRevision )( 
            IVirtualBox * This,
            /* [retval][out] */ LONG64 *aAPIRevision);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_HomeFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HomeFolder )( 
            IVirtualBox * This,
            /* [retval][out] */ BSTR *aHomeFolder);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_SettingsFilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SettingsFilePath )( 
            IVirtualBox * This,
            /* [retval][out] */ BSTR *aSettingsFilePath);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_Host)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Host )( 
            IVirtualBox * This,
            /* [retval][out] */ IHost **aHost);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_SystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SystemProperties )( 
            IVirtualBox * This,
            /* [retval][out] */ ISystemProperties **aSystemProperties);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_Machines)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Machines )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aMachines);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_MachineGroups)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineGroups )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aMachineGroups);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_HardDisks)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HardDisks )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aHardDisks);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_DVDImages)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DVDImages )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aDVDImages);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_FloppyImages)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloppyImages )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aFloppyImages);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_ProgressOperations)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProgressOperations )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aProgressOperations);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_GuestOSTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestOSTypes )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aGuestOSTypes);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_GuestOSFamilies)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestOSFamilies )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aGuestOSFamilies);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_SharedFolders)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SharedFolders )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aSharedFolders);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_PerformanceCollector)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceCollector )( 
            IVirtualBox * This,
            /* [retval][out] */ IPerformanceCollector **aPerformanceCollector);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_DHCPServers)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DHCPServers )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aDHCPServers);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_NATNetworks)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NATNetworks )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aNATNetworks);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IVirtualBox * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_ExtensionPackManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionPackManager )( 
            IVirtualBox * This,
            /* [retval][out] */ IExtPackManager **aExtensionPackManager);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalNetworks)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalNetworks )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aInternalNetworks);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_HostOnlyNetworks)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostOnlyNetworks )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aHostOnlyNetworks);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_GenericNetworkDrivers)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenericNetworkDrivers )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aGenericNetworkDrivers);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_CloudNetworks)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CloudNetworks )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aCloudNetworks);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_CloudProviderManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CloudProviderManager )( 
            IVirtualBox * This,
            /* [retval][out] */ ICloudProviderManager **aCloudProviderManager);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute1IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute2IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute3IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute4IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute5IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute6IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute7IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute8IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute9IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute10IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute11IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, get_InternalAndReservedAttribute12IVirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IVirtualBox )( 
            IVirtualBox * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBox, ComposeMachineFilename)
        HRESULT ( STDMETHODCALLTYPE *ComposeMachineFilename )( 
            IVirtualBox * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aGroup,
            /* [in] */ BSTR aCreateFlags,
            /* [in] */ BSTR aBaseFolder,
            /* [retval][out] */ BSTR *aFile);
        
        DECLSPEC_XFGVIRT(IVirtualBox, GetPlatformProperties)
        HRESULT ( STDMETHODCALLTYPE *GetPlatformProperties )( 
            IVirtualBox * This,
            /* [in] */ PlatformArchitecture aArchitecture,
            /* [retval][out] */ IPlatformProperties **aProperties);
        
        DECLSPEC_XFGVIRT(IVirtualBox, CreateMachine)
        HRESULT ( STDMETHODCALLTYPE *CreateMachine )( 
            IVirtualBox * This,
            /* [in] */ BSTR aSettingsFile,
            /* [in] */ BSTR aName,
            /* [in] */ PlatformArchitecture aPlatform,
            /* [in] */ SAFEARRAY * aGroups,
            /* [in] */ BSTR aOsTypeId,
            /* [in] */ BSTR aFlags,
            /* [in] */ BSTR aCipher,
            /* [in] */ BSTR aPasswordId,
            /* [in] */ BSTR aPassword,
            /* [retval][out] */ IMachine **aMachine);
        
        DECLSPEC_XFGVIRT(IVirtualBox, OpenMachine)
        HRESULT ( STDMETHODCALLTYPE *OpenMachine )( 
            IVirtualBox * This,
            /* [in] */ BSTR aSettingsFile,
            /* [in] */ BSTR aPassword,
            /* [retval][out] */ IMachine **aMachine);
        
        DECLSPEC_XFGVIRT(IVirtualBox, RegisterMachine)
        HRESULT ( STDMETHODCALLTYPE *RegisterMachine )( 
            IVirtualBox * This,
            /* [in] */ IMachine *aMachine);
        
        DECLSPEC_XFGVIRT(IVirtualBox, FindMachine)
        HRESULT ( STDMETHODCALLTYPE *FindMachine )( 
            IVirtualBox * This,
            /* [in] */ BSTR aNameOrId,
            /* [retval][out] */ IMachine **aMachine);
        
        DECLSPEC_XFGVIRT(IVirtualBox, GetMachinesByGroups)
        HRESULT ( STDMETHODCALLTYPE *GetMachinesByGroups )( 
            IVirtualBox * This,
            /* [in] */ SAFEARRAY * aGroups,
            /* [retval][out] */ SAFEARRAY * *aMachines);
        
        DECLSPEC_XFGVIRT(IVirtualBox, GetMachineStates)
        HRESULT ( STDMETHODCALLTYPE *GetMachineStates )( 
            IVirtualBox * This,
            /* [in] */ SAFEARRAY * aMachines,
            /* [retval][out] */ SAFEARRAY * *aStates);
        
        DECLSPEC_XFGVIRT(IVirtualBox, CreateAppliance)
        HRESULT ( STDMETHODCALLTYPE *CreateAppliance )( 
            IVirtualBox * This,
            /* [retval][out] */ IAppliance **aAppliance);
        
        DECLSPEC_XFGVIRT(IVirtualBox, CreateUnattendedInstaller)
        HRESULT ( STDMETHODCALLTYPE *CreateUnattendedInstaller )( 
            IVirtualBox * This,
            /* [retval][out] */ IUnattended **aUnattended);
        
        DECLSPEC_XFGVIRT(IVirtualBox, CreateMedium)
        HRESULT ( STDMETHODCALLTYPE *CreateMedium )( 
            IVirtualBox * This,
            /* [in] */ BSTR aFormat,
            /* [in] */ BSTR aLocation,
            /* [in] */ AccessMode aAccessMode,
            /* [in] */ DeviceType aADeviceTypeType,
            /* [retval][out] */ IMedium **aMedium);
        
        DECLSPEC_XFGVIRT(IVirtualBox, OpenMedium)
        HRESULT ( STDMETHODCALLTYPE *OpenMedium )( 
            IVirtualBox * This,
            /* [in] */ BSTR aLocation,
            /* [in] */ DeviceType aDeviceType,
            /* [in] */ AccessMode aAccessMode,
            /* [in] */ BOOL aForceNewUuid,
            /* [retval][out] */ IMedium **aMedium);
        
        DECLSPEC_XFGVIRT(IVirtualBox, GetGuestOSType)
        HRESULT ( STDMETHODCALLTYPE *GetGuestOSType )( 
            IVirtualBox * This,
            /* [in] */ BSTR aId,
            /* [retval][out] */ IGuestOSType **aType);
        
        DECLSPEC_XFGVIRT(IVirtualBox, GetGuestOSSubtypesByFamilyId)
        HRESULT ( STDMETHODCALLTYPE *GetGuestOSSubtypesByFamilyId )( 
            IVirtualBox * This,
            /* [in] */ BSTR aFamily,
            /* [retval][out] */ SAFEARRAY * *aOSsubtypes);
        
        DECLSPEC_XFGVIRT(IVirtualBox, GetGuestOSDescsBySubtype)
        HRESULT ( STDMETHODCALLTYPE *GetGuestOSDescsBySubtype )( 
            IVirtualBox * This,
            /* [in] */ BSTR aOSSubtype,
            /* [retval][out] */ SAFEARRAY * *aGuestOSDescs);
        
        DECLSPEC_XFGVIRT(IVirtualBox, CreateSharedFolder)
        HRESULT ( STDMETHODCALLTYPE *CreateSharedFolder )( 
            IVirtualBox * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aHostPath,
            /* [in] */ BOOL aWritable,
            /* [in] */ BOOL aAutomount,
            /* [in] */ BSTR aAutoMountPoint);
        
        DECLSPEC_XFGVIRT(IVirtualBox, RemoveSharedFolder)
        HRESULT ( STDMETHODCALLTYPE *RemoveSharedFolder )( 
            IVirtualBox * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IVirtualBox, GetExtraDataKeys)
        HRESULT ( STDMETHODCALLTYPE *GetExtraDataKeys )( 
            IVirtualBox * This,
            /* [retval][out] */ SAFEARRAY * *aKeys);
        
        DECLSPEC_XFGVIRT(IVirtualBox, GetExtraData)
        HRESULT ( STDMETHODCALLTYPE *GetExtraData )( 
            IVirtualBox * This,
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IVirtualBox, SetExtraData)
        HRESULT ( STDMETHODCALLTYPE *SetExtraData )( 
            IVirtualBox * This,
            /* [in] */ BSTR aKey,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IVirtualBox, SetSettingsSecret)
        HRESULT ( STDMETHODCALLTYPE *SetSettingsSecret )( 
            IVirtualBox * This,
            /* [in] */ BSTR aPassword);
        
        DECLSPEC_XFGVIRT(IVirtualBox, CreateDHCPServer)
        HRESULT ( STDMETHODCALLTYPE *CreateDHCPServer )( 
            IVirtualBox * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IDHCPServer **aServer);
        
        DECLSPEC_XFGVIRT(IVirtualBox, FindDHCPServerByNetworkName)
        HRESULT ( STDMETHODCALLTYPE *FindDHCPServerByNetworkName )( 
            IVirtualBox * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IDHCPServer **aServer);
        
        DECLSPEC_XFGVIRT(IVirtualBox, RemoveDHCPServer)
        HRESULT ( STDMETHODCALLTYPE *RemoveDHCPServer )( 
            IVirtualBox * This,
            /* [in] */ IDHCPServer *aServer);
        
        DECLSPEC_XFGVIRT(IVirtualBox, CreateNATNetwork)
        HRESULT ( STDMETHODCALLTYPE *CreateNATNetwork )( 
            IVirtualBox * This,
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ INATNetwork **aNetwork);
        
        DECLSPEC_XFGVIRT(IVirtualBox, FindNATNetworkByName)
        HRESULT ( STDMETHODCALLTYPE *FindNATNetworkByName )( 
            IVirtualBox * This,
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ INATNetwork **aNetwork);
        
        DECLSPEC_XFGVIRT(IVirtualBox, RemoveNATNetwork)
        HRESULT ( STDMETHODCALLTYPE *RemoveNATNetwork )( 
            IVirtualBox * This,
            /* [in] */ INATNetwork *aNetwork);
        
        DECLSPEC_XFGVIRT(IVirtualBox, CreateHostOnlyNetwork)
        HRESULT ( STDMETHODCALLTYPE *CreateHostOnlyNetwork )( 
            IVirtualBox * This,
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ IHostOnlyNetwork **aNetwork);
        
        DECLSPEC_XFGVIRT(IVirtualBox, FindHostOnlyNetworkByName)
        HRESULT ( STDMETHODCALLTYPE *FindHostOnlyNetworkByName )( 
            IVirtualBox * This,
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ IHostOnlyNetwork **aNetwork);
        
        DECLSPEC_XFGVIRT(IVirtualBox, FindHostOnlyNetworkById)
        HRESULT ( STDMETHODCALLTYPE *FindHostOnlyNetworkById )( 
            IVirtualBox * This,
            /* [in] */ BSTR aId,
            /* [retval][out] */ IHostOnlyNetwork **aNetwork);
        
        DECLSPEC_XFGVIRT(IVirtualBox, RemoveHostOnlyNetwork)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostOnlyNetwork )( 
            IVirtualBox * This,
            /* [in] */ IHostOnlyNetwork *aNetwork);
        
        DECLSPEC_XFGVIRT(IVirtualBox, CreateCloudNetwork)
        HRESULT ( STDMETHODCALLTYPE *CreateCloudNetwork )( 
            IVirtualBox * This,
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ ICloudNetwork **aNetwork);
        
        DECLSPEC_XFGVIRT(IVirtualBox, FindCloudNetworkByName)
        HRESULT ( STDMETHODCALLTYPE *FindCloudNetworkByName )( 
            IVirtualBox * This,
            /* [in] */ BSTR aNetworkName,
            /* [retval][out] */ ICloudNetwork **aNetwork);
        
        DECLSPEC_XFGVIRT(IVirtualBox, RemoveCloudNetwork)
        HRESULT ( STDMETHODCALLTYPE *RemoveCloudNetwork )( 
            IVirtualBox * This,
            /* [in] */ ICloudNetwork *aNetwork);
        
        DECLSPEC_XFGVIRT(IVirtualBox, CheckFirmwarePresent)
        HRESULT ( STDMETHODCALLTYPE *CheckFirmwarePresent )( 
            IVirtualBox * This,
            /* [in] */ PlatformArchitecture aPlatformArchitecture,
            /* [in] */ FirmwareType aFirmwareType,
            /* [in] */ BSTR aVersion,
            /* [out] */ BSTR *aUrl,
            /* [out] */ BSTR *aFile,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVirtualBox, FindProgressById)
        HRESULT ( STDMETHODCALLTYPE *FindProgressById )( 
            IVirtualBox * This,
            /* [in] */ BSTR aId,
            /* [retval][out] */ IProgress **aProgressObject);
        
        DECLSPEC_XFGVIRT(IVirtualBox, InternalAndReservedMethod1IVirtualBox)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IVirtualBox )( 
            IVirtualBox * This);
        
        DECLSPEC_XFGVIRT(IVirtualBox, InternalAndReservedMethod2IVirtualBox)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IVirtualBox )( 
            IVirtualBox * This);
        
        DECLSPEC_XFGVIRT(IVirtualBox, InternalAndReservedMethod3IVirtualBox)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IVirtualBox )( 
            IVirtualBox * This);
        
        DECLSPEC_XFGVIRT(IVirtualBox, InternalAndReservedMethod4IVirtualBox)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IVirtualBox )( 
            IVirtualBox * This);
        
        DECLSPEC_XFGVIRT(IVirtualBox, InternalAndReservedMethod5IVirtualBox)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IVirtualBox )( 
            IVirtualBox * This);
        
        DECLSPEC_XFGVIRT(IVirtualBox, InternalAndReservedMethod6IVirtualBox)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IVirtualBox )( 
            IVirtualBox * This);
        
        DECLSPEC_XFGVIRT(IVirtualBox, InternalAndReservedMethod7IVirtualBox)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IVirtualBox )( 
            IVirtualBox * This);
        
        DECLSPEC_XFGVIRT(IVirtualBox, InternalAndReservedMethod8IVirtualBox)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IVirtualBox )( 
            IVirtualBox * This);
        
        END_INTERFACE
    } IVirtualBoxVtbl;

    interface IVirtualBox
    {
        CONST_VTBL struct IVirtualBoxVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVirtualBox_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IVirtualBox_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IVirtualBox_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IVirtualBox_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IVirtualBox_get_Version(This,aVersion)	\
    ( (This)->lpVtbl -> get_Version(This,aVersion) ) 

#define IVirtualBox_get_VersionNormalized(This,aVersionNormalized)	\
    ( (This)->lpVtbl -> get_VersionNormalized(This,aVersionNormalized) ) 

#define IVirtualBox_get_Revision(This,aRevision)	\
    ( (This)->lpVtbl -> get_Revision(This,aRevision) ) 

#define IVirtualBox_get_PackageType(This,aPackageType)	\
    ( (This)->lpVtbl -> get_PackageType(This,aPackageType) ) 

#define IVirtualBox_get_APIVersion(This,aAPIVersion)	\
    ( (This)->lpVtbl -> get_APIVersion(This,aAPIVersion) ) 

#define IVirtualBox_get_APIRevision(This,aAPIRevision)	\
    ( (This)->lpVtbl -> get_APIRevision(This,aAPIRevision) ) 

#define IVirtualBox_get_HomeFolder(This,aHomeFolder)	\
    ( (This)->lpVtbl -> get_HomeFolder(This,aHomeFolder) ) 

#define IVirtualBox_get_SettingsFilePath(This,aSettingsFilePath)	\
    ( (This)->lpVtbl -> get_SettingsFilePath(This,aSettingsFilePath) ) 

#define IVirtualBox_get_Host(This,aHost)	\
    ( (This)->lpVtbl -> get_Host(This,aHost) ) 

#define IVirtualBox_get_SystemProperties(This,aSystemProperties)	\
    ( (This)->lpVtbl -> get_SystemProperties(This,aSystemProperties) ) 

#define IVirtualBox_get_Machines(This,aMachines)	\
    ( (This)->lpVtbl -> get_Machines(This,aMachines) ) 

#define IVirtualBox_get_MachineGroups(This,aMachineGroups)	\
    ( (This)->lpVtbl -> get_MachineGroups(This,aMachineGroups) ) 

#define IVirtualBox_get_HardDisks(This,aHardDisks)	\
    ( (This)->lpVtbl -> get_HardDisks(This,aHardDisks) ) 

#define IVirtualBox_get_DVDImages(This,aDVDImages)	\
    ( (This)->lpVtbl -> get_DVDImages(This,aDVDImages) ) 

#define IVirtualBox_get_FloppyImages(This,aFloppyImages)	\
    ( (This)->lpVtbl -> get_FloppyImages(This,aFloppyImages) ) 

#define IVirtualBox_get_ProgressOperations(This,aProgressOperations)	\
    ( (This)->lpVtbl -> get_ProgressOperations(This,aProgressOperations) ) 

#define IVirtualBox_get_GuestOSTypes(This,aGuestOSTypes)	\
    ( (This)->lpVtbl -> get_GuestOSTypes(This,aGuestOSTypes) ) 

#define IVirtualBox_get_GuestOSFamilies(This,aGuestOSFamilies)	\
    ( (This)->lpVtbl -> get_GuestOSFamilies(This,aGuestOSFamilies) ) 

#define IVirtualBox_get_SharedFolders(This,aSharedFolders)	\
    ( (This)->lpVtbl -> get_SharedFolders(This,aSharedFolders) ) 

#define IVirtualBox_get_PerformanceCollector(This,aPerformanceCollector)	\
    ( (This)->lpVtbl -> get_PerformanceCollector(This,aPerformanceCollector) ) 

#define IVirtualBox_get_DHCPServers(This,aDHCPServers)	\
    ( (This)->lpVtbl -> get_DHCPServers(This,aDHCPServers) ) 

#define IVirtualBox_get_NATNetworks(This,aNATNetworks)	\
    ( (This)->lpVtbl -> get_NATNetworks(This,aNATNetworks) ) 

#define IVirtualBox_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IVirtualBox_get_ExtensionPackManager(This,aExtensionPackManager)	\
    ( (This)->lpVtbl -> get_ExtensionPackManager(This,aExtensionPackManager) ) 

#define IVirtualBox_get_InternalNetworks(This,aInternalNetworks)	\
    ( (This)->lpVtbl -> get_InternalNetworks(This,aInternalNetworks) ) 

#define IVirtualBox_get_HostOnlyNetworks(This,aHostOnlyNetworks)	\
    ( (This)->lpVtbl -> get_HostOnlyNetworks(This,aHostOnlyNetworks) ) 

#define IVirtualBox_get_GenericNetworkDrivers(This,aGenericNetworkDrivers)	\
    ( (This)->lpVtbl -> get_GenericNetworkDrivers(This,aGenericNetworkDrivers) ) 

#define IVirtualBox_get_CloudNetworks(This,aCloudNetworks)	\
    ( (This)->lpVtbl -> get_CloudNetworks(This,aCloudNetworks) ) 

#define IVirtualBox_get_CloudProviderManager(This,aCloudProviderManager)	\
    ( (This)->lpVtbl -> get_CloudProviderManager(This,aCloudProviderManager) ) 

#define IVirtualBox_get_InternalAndReservedAttribute1IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IVirtualBox(This,aReserved) ) 

#define IVirtualBox_get_InternalAndReservedAttribute2IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IVirtualBox(This,aReserved) ) 

#define IVirtualBox_get_InternalAndReservedAttribute3IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IVirtualBox(This,aReserved) ) 

#define IVirtualBox_get_InternalAndReservedAttribute4IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IVirtualBox(This,aReserved) ) 

#define IVirtualBox_get_InternalAndReservedAttribute5IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IVirtualBox(This,aReserved) ) 

#define IVirtualBox_get_InternalAndReservedAttribute6IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IVirtualBox(This,aReserved) ) 

#define IVirtualBox_get_InternalAndReservedAttribute7IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IVirtualBox(This,aReserved) ) 

#define IVirtualBox_get_InternalAndReservedAttribute8IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IVirtualBox(This,aReserved) ) 

#define IVirtualBox_get_InternalAndReservedAttribute9IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IVirtualBox(This,aReserved) ) 

#define IVirtualBox_get_InternalAndReservedAttribute10IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IVirtualBox(This,aReserved) ) 

#define IVirtualBox_get_InternalAndReservedAttribute11IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IVirtualBox(This,aReserved) ) 

#define IVirtualBox_get_InternalAndReservedAttribute12IVirtualBox(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IVirtualBox(This,aReserved) ) 

#define IVirtualBox_ComposeMachineFilename(This,aName,aGroup,aCreateFlags,aBaseFolder,aFile)	\
    ( (This)->lpVtbl -> ComposeMachineFilename(This,aName,aGroup,aCreateFlags,aBaseFolder,aFile) ) 

#define IVirtualBox_GetPlatformProperties(This,aArchitecture,aProperties)	\
    ( (This)->lpVtbl -> GetPlatformProperties(This,aArchitecture,aProperties) ) 

#define IVirtualBox_CreateMachine(This,aSettingsFile,aName,aPlatform,aGroups,aOsTypeId,aFlags,aCipher,aPasswordId,aPassword,aMachine)	\
    ( (This)->lpVtbl -> CreateMachine(This,aSettingsFile,aName,aPlatform,aGroups,aOsTypeId,aFlags,aCipher,aPasswordId,aPassword,aMachine) ) 

#define IVirtualBox_OpenMachine(This,aSettingsFile,aPassword,aMachine)	\
    ( (This)->lpVtbl -> OpenMachine(This,aSettingsFile,aPassword,aMachine) ) 

#define IVirtualBox_RegisterMachine(This,aMachine)	\
    ( (This)->lpVtbl -> RegisterMachine(This,aMachine) ) 

#define IVirtualBox_FindMachine(This,aNameOrId,aMachine)	\
    ( (This)->lpVtbl -> FindMachine(This,aNameOrId,aMachine) ) 

#define IVirtualBox_GetMachinesByGroups(This,aGroups,aMachines)	\
    ( (This)->lpVtbl -> GetMachinesByGroups(This,aGroups,aMachines) ) 

#define IVirtualBox_GetMachineStates(This,aMachines,aStates)	\
    ( (This)->lpVtbl -> GetMachineStates(This,aMachines,aStates) ) 

#define IVirtualBox_CreateAppliance(This,aAppliance)	\
    ( (This)->lpVtbl -> CreateAppliance(This,aAppliance) ) 

#define IVirtualBox_CreateUnattendedInstaller(This,aUnattended)	\
    ( (This)->lpVtbl -> CreateUnattendedInstaller(This,aUnattended) ) 

#define IVirtualBox_CreateMedium(This,aFormat,aLocation,aAccessMode,aADeviceTypeType,aMedium)	\
    ( (This)->lpVtbl -> CreateMedium(This,aFormat,aLocation,aAccessMode,aADeviceTypeType,aMedium) ) 

#define IVirtualBox_OpenMedium(This,aLocation,aDeviceType,aAccessMode,aForceNewUuid,aMedium)	\
    ( (This)->lpVtbl -> OpenMedium(This,aLocation,aDeviceType,aAccessMode,aForceNewUuid,aMedium) ) 

#define IVirtualBox_GetGuestOSType(This,aId,aType)	\
    ( (This)->lpVtbl -> GetGuestOSType(This,aId,aType) ) 

#define IVirtualBox_GetGuestOSSubtypesByFamilyId(This,aFamily,aOSsubtypes)	\
    ( (This)->lpVtbl -> GetGuestOSSubtypesByFamilyId(This,aFamily,aOSsubtypes) ) 

#define IVirtualBox_GetGuestOSDescsBySubtype(This,aOSSubtype,aGuestOSDescs)	\
    ( (This)->lpVtbl -> GetGuestOSDescsBySubtype(This,aOSSubtype,aGuestOSDescs) ) 

#define IVirtualBox_CreateSharedFolder(This,aName,aHostPath,aWritable,aAutomount,aAutoMountPoint)	\
    ( (This)->lpVtbl -> CreateSharedFolder(This,aName,aHostPath,aWritable,aAutomount,aAutoMountPoint) ) 

#define IVirtualBox_RemoveSharedFolder(This,aName)	\
    ( (This)->lpVtbl -> RemoveSharedFolder(This,aName) ) 

#define IVirtualBox_GetExtraDataKeys(This,aKeys)	\
    ( (This)->lpVtbl -> GetExtraDataKeys(This,aKeys) ) 

#define IVirtualBox_GetExtraData(This,aKey,aValue)	\
    ( (This)->lpVtbl -> GetExtraData(This,aKey,aValue) ) 

#define IVirtualBox_SetExtraData(This,aKey,aValue)	\
    ( (This)->lpVtbl -> SetExtraData(This,aKey,aValue) ) 

#define IVirtualBox_SetSettingsSecret(This,aPassword)	\
    ( (This)->lpVtbl -> SetSettingsSecret(This,aPassword) ) 

#define IVirtualBox_CreateDHCPServer(This,aName,aServer)	\
    ( (This)->lpVtbl -> CreateDHCPServer(This,aName,aServer) ) 

#define IVirtualBox_FindDHCPServerByNetworkName(This,aName,aServer)	\
    ( (This)->lpVtbl -> FindDHCPServerByNetworkName(This,aName,aServer) ) 

#define IVirtualBox_RemoveDHCPServer(This,aServer)	\
    ( (This)->lpVtbl -> RemoveDHCPServer(This,aServer) ) 

#define IVirtualBox_CreateNATNetwork(This,aNetworkName,aNetwork)	\
    ( (This)->lpVtbl -> CreateNATNetwork(This,aNetworkName,aNetwork) ) 

#define IVirtualBox_FindNATNetworkByName(This,aNetworkName,aNetwork)	\
    ( (This)->lpVtbl -> FindNATNetworkByName(This,aNetworkName,aNetwork) ) 

#define IVirtualBox_RemoveNATNetwork(This,aNetwork)	\
    ( (This)->lpVtbl -> RemoveNATNetwork(This,aNetwork) ) 

#define IVirtualBox_CreateHostOnlyNetwork(This,aNetworkName,aNetwork)	\
    ( (This)->lpVtbl -> CreateHostOnlyNetwork(This,aNetworkName,aNetwork) ) 

#define IVirtualBox_FindHostOnlyNetworkByName(This,aNetworkName,aNetwork)	\
    ( (This)->lpVtbl -> FindHostOnlyNetworkByName(This,aNetworkName,aNetwork) ) 

#define IVirtualBox_FindHostOnlyNetworkById(This,aId,aNetwork)	\
    ( (This)->lpVtbl -> FindHostOnlyNetworkById(This,aId,aNetwork) ) 

#define IVirtualBox_RemoveHostOnlyNetwork(This,aNetwork)	\
    ( (This)->lpVtbl -> RemoveHostOnlyNetwork(This,aNetwork) ) 

#define IVirtualBox_CreateCloudNetwork(This,aNetworkName,aNetwork)	\
    ( (This)->lpVtbl -> CreateCloudNetwork(This,aNetworkName,aNetwork) ) 

#define IVirtualBox_FindCloudNetworkByName(This,aNetworkName,aNetwork)	\
    ( (This)->lpVtbl -> FindCloudNetworkByName(This,aNetworkName,aNetwork) ) 

#define IVirtualBox_RemoveCloudNetwork(This,aNetwork)	\
    ( (This)->lpVtbl -> RemoveCloudNetwork(This,aNetwork) ) 

#define IVirtualBox_CheckFirmwarePresent(This,aPlatformArchitecture,aFirmwareType,aVersion,aUrl,aFile,aResult)	\
    ( (This)->lpVtbl -> CheckFirmwarePresent(This,aPlatformArchitecture,aFirmwareType,aVersion,aUrl,aFile,aResult) ) 

#define IVirtualBox_FindProgressById(This,aId,aProgressObject)	\
    ( (This)->lpVtbl -> FindProgressById(This,aId,aProgressObject) ) 

#define IVirtualBox_InternalAndReservedMethod1IVirtualBox(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IVirtualBox(This) ) 

#define IVirtualBox_InternalAndReservedMethod2IVirtualBox(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IVirtualBox(This) ) 

#define IVirtualBox_InternalAndReservedMethod3IVirtualBox(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IVirtualBox(This) ) 

#define IVirtualBox_InternalAndReservedMethod4IVirtualBox(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IVirtualBox(This) ) 

#define IVirtualBox_InternalAndReservedMethod5IVirtualBox(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IVirtualBox(This) ) 

#define IVirtualBox_InternalAndReservedMethod6IVirtualBox(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IVirtualBox(This) ) 

#define IVirtualBox_InternalAndReservedMethod7IVirtualBox(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IVirtualBox(This) ) 

#define IVirtualBox_InternalAndReservedMethod8IVirtualBox(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IVirtualBox(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVirtualBox_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0011 */
/* [local] */ 

#define COM_FORWARD_IVirtualBox_GETTER_Version_TO(smth) HRESULT STDMETHODCALLTYPE get_Version (BSTR * aVersion) { return smth get_Version (aVersion); }
#define COM_FORWARD_IVirtualBox_GETTER_Version_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_Version_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_Version_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_Version_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_VersionNormalized_TO(smth) HRESULT STDMETHODCALLTYPE get_VersionNormalized (BSTR * aVersionNormalized) { return smth get_VersionNormalized (aVersionNormalized); }
#define COM_FORWARD_IVirtualBox_GETTER_VersionNormalized_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_VersionNormalized_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_VersionNormalized_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_VersionNormalized_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_Revision_TO(smth) HRESULT STDMETHODCALLTYPE get_Revision (ULONG * aRevision) { return smth get_Revision (aRevision); }
#define COM_FORWARD_IVirtualBox_GETTER_Revision_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_Revision_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_Revision_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_Revision_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_PackageType_TO(smth) HRESULT STDMETHODCALLTYPE get_PackageType (BSTR * aPackageType) { return smth get_PackageType (aPackageType); }
#define COM_FORWARD_IVirtualBox_GETTER_PackageType_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_PackageType_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_PackageType_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_PackageType_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_APIVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_APIVersion (BSTR * aAPIVersion) { return smth get_APIVersion (aAPIVersion); }
#define COM_FORWARD_IVirtualBox_GETTER_APIVersion_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_APIVersion_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_APIVersion_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_APIVersion_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_APIRevision_TO(smth) HRESULT STDMETHODCALLTYPE get_APIRevision (LONG64 * aAPIRevision) { return smth get_APIRevision (aAPIRevision); }
#define COM_FORWARD_IVirtualBox_GETTER_APIRevision_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_APIRevision_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_APIRevision_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_APIRevision_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_HomeFolder_TO(smth) HRESULT STDMETHODCALLTYPE get_HomeFolder (BSTR * aHomeFolder) { return smth get_HomeFolder (aHomeFolder); }
#define COM_FORWARD_IVirtualBox_GETTER_HomeFolder_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_HomeFolder_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_HomeFolder_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_HomeFolder_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_SettingsFilePath_TO(smth) HRESULT STDMETHODCALLTYPE get_SettingsFilePath (BSTR * aSettingsFilePath) { return smth get_SettingsFilePath (aSettingsFilePath); }
#define COM_FORWARD_IVirtualBox_GETTER_SettingsFilePath_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_SettingsFilePath_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_SettingsFilePath_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_SettingsFilePath_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_Host_TO(smth) HRESULT STDMETHODCALLTYPE get_Host (IHost * * aHost) { return smth get_Host (aHost); }
#define COM_FORWARD_IVirtualBox_GETTER_Host_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_Host_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_Host_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_Host_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_SystemProperties_TO(smth) HRESULT STDMETHODCALLTYPE get_SystemProperties (ISystemProperties * * aSystemProperties) { return smth get_SystemProperties (aSystemProperties); }
#define COM_FORWARD_IVirtualBox_GETTER_SystemProperties_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_SystemProperties_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_SystemProperties_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_SystemProperties_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_Machines_TO(smth) HRESULT STDMETHODCALLTYPE get_Machines (SAFEARRAY * * aMachines) { return smth get_Machines (aMachines); }
#define COM_FORWARD_IVirtualBox_GETTER_Machines_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_Machines_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_Machines_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_Machines_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_MachineGroups_TO(smth) HRESULT STDMETHODCALLTYPE get_MachineGroups (SAFEARRAY * * aMachineGroups) { return smth get_MachineGroups (aMachineGroups); }
#define COM_FORWARD_IVirtualBox_GETTER_MachineGroups_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_MachineGroups_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_MachineGroups_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_MachineGroups_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_HardDisks_TO(smth) HRESULT STDMETHODCALLTYPE get_HardDisks (SAFEARRAY * * aHardDisks) { return smth get_HardDisks (aHardDisks); }
#define COM_FORWARD_IVirtualBox_GETTER_HardDisks_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_HardDisks_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_HardDisks_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_HardDisks_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_DVDImages_TO(smth) HRESULT STDMETHODCALLTYPE get_DVDImages (SAFEARRAY * * aDVDImages) { return smth get_DVDImages (aDVDImages); }
#define COM_FORWARD_IVirtualBox_GETTER_DVDImages_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_DVDImages_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_DVDImages_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_DVDImages_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_FloppyImages_TO(smth) HRESULT STDMETHODCALLTYPE get_FloppyImages (SAFEARRAY * * aFloppyImages) { return smth get_FloppyImages (aFloppyImages); }
#define COM_FORWARD_IVirtualBox_GETTER_FloppyImages_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_FloppyImages_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_FloppyImages_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_FloppyImages_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_ProgressOperations_TO(smth) HRESULT STDMETHODCALLTYPE get_ProgressOperations (SAFEARRAY * * aProgressOperations) { return smth get_ProgressOperations (aProgressOperations); }
#define COM_FORWARD_IVirtualBox_GETTER_ProgressOperations_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_ProgressOperations_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_ProgressOperations_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_ProgressOperations_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_GuestOSTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestOSTypes (SAFEARRAY * * aGuestOSTypes) { return smth get_GuestOSTypes (aGuestOSTypes); }
#define COM_FORWARD_IVirtualBox_GETTER_GuestOSTypes_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_GuestOSTypes_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_GuestOSTypes_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_GuestOSTypes_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_GuestOSFamilies_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestOSFamilies (SAFEARRAY * * aGuestOSFamilies) { return smth get_GuestOSFamilies (aGuestOSFamilies); }
#define COM_FORWARD_IVirtualBox_GETTER_GuestOSFamilies_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_GuestOSFamilies_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_GuestOSFamilies_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_GuestOSFamilies_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_SharedFolders_TO(smth) HRESULT STDMETHODCALLTYPE get_SharedFolders (SAFEARRAY * * aSharedFolders) { return smth get_SharedFolders (aSharedFolders); }
#define COM_FORWARD_IVirtualBox_GETTER_SharedFolders_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_SharedFolders_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_SharedFolders_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_SharedFolders_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_PerformanceCollector_TO(smth) HRESULT STDMETHODCALLTYPE get_PerformanceCollector (IPerformanceCollector * * aPerformanceCollector) { return smth get_PerformanceCollector (aPerformanceCollector); }
#define COM_FORWARD_IVirtualBox_GETTER_PerformanceCollector_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_PerformanceCollector_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_PerformanceCollector_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_PerformanceCollector_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_DHCPServers_TO(smth) HRESULT STDMETHODCALLTYPE get_DHCPServers (SAFEARRAY * * aDHCPServers) { return smth get_DHCPServers (aDHCPServers); }
#define COM_FORWARD_IVirtualBox_GETTER_DHCPServers_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_DHCPServers_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_DHCPServers_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_DHCPServers_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_NATNetworks_TO(smth) HRESULT STDMETHODCALLTYPE get_NATNetworks (SAFEARRAY * * aNATNetworks) { return smth get_NATNetworks (aNATNetworks); }
#define COM_FORWARD_IVirtualBox_GETTER_NATNetworks_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_NATNetworks_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_NATNetworks_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_NATNetworks_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IVirtualBox_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_ExtensionPackManager_TO(smth) HRESULT STDMETHODCALLTYPE get_ExtensionPackManager (IExtPackManager * * aExtensionPackManager) { return smth get_ExtensionPackManager (aExtensionPackManager); }
#define COM_FORWARD_IVirtualBox_GETTER_ExtensionPackManager_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_ExtensionPackManager_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_ExtensionPackManager_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_ExtensionPackManager_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_InternalNetworks_TO(smth) HRESULT STDMETHODCALLTYPE get_InternalNetworks (SAFEARRAY * * aInternalNetworks) { return smth get_InternalNetworks (aInternalNetworks); }
#define COM_FORWARD_IVirtualBox_GETTER_InternalNetworks_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_InternalNetworks_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_InternalNetworks_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_InternalNetworks_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_HostOnlyNetworks_TO(smth) HRESULT STDMETHODCALLTYPE get_HostOnlyNetworks (SAFEARRAY * * aHostOnlyNetworks) { return smth get_HostOnlyNetworks (aHostOnlyNetworks); }
#define COM_FORWARD_IVirtualBox_GETTER_HostOnlyNetworks_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_HostOnlyNetworks_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_HostOnlyNetworks_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_HostOnlyNetworks_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_GenericNetworkDrivers_TO(smth) HRESULT STDMETHODCALLTYPE get_GenericNetworkDrivers (SAFEARRAY * * aGenericNetworkDrivers) { return smth get_GenericNetworkDrivers (aGenericNetworkDrivers); }
#define COM_FORWARD_IVirtualBox_GETTER_GenericNetworkDrivers_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_GenericNetworkDrivers_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_GenericNetworkDrivers_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_GenericNetworkDrivers_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_CloudNetworks_TO(smth) HRESULT STDMETHODCALLTYPE get_CloudNetworks (SAFEARRAY * * aCloudNetworks) { return smth get_CloudNetworks (aCloudNetworks); }
#define COM_FORWARD_IVirtualBox_GETTER_CloudNetworks_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_CloudNetworks_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_CloudNetworks_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_CloudNetworks_TO (base::)
#define COM_FORWARD_IVirtualBox_GETTER_CloudProviderManager_TO(smth) HRESULT STDMETHODCALLTYPE get_CloudProviderManager (ICloudProviderManager * * aCloudProviderManager) { return smth get_CloudProviderManager (aCloudProviderManager); }
#define COM_FORWARD_IVirtualBox_GETTER_CloudProviderManager_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GETTER_CloudProviderManager_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GETTER_CloudProviderManager_TO_BASE(base) COM_FORWARD_IVirtualBox_GETTER_CloudProviderManager_TO (base::)
#define COM_FORWARD_IVirtualBox_ComposeMachineFilename_TO(smth) HRESULT STDMETHODCALLTYPE ComposeMachineFilename (BSTR aName, BSTR aGroup, BSTR aCreateFlags, BSTR aBaseFolder, BSTR * aFile) { return smth ComposeMachineFilename (aName, aGroup, aCreateFlags, aBaseFolder, aFile); }
#define COM_FORWARD_IVirtualBox_ComposeMachineFilename_TO_OBJ(obj) COM_FORWARD_IVirtualBox_ComposeMachineFilename_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_ComposeMachineFilename_TO_BASE(base) COM_FORWARD_IVirtualBox_ComposeMachineFilename_TO (base::)
#define COM_FORWARD_IVirtualBox_GetPlatformProperties_TO(smth) HRESULT STDMETHODCALLTYPE GetPlatformProperties (PlatformArchitecture aArchitecture, IPlatformProperties * * aProperties) { return smth GetPlatformProperties (aArchitecture, aProperties); }
#define COM_FORWARD_IVirtualBox_GetPlatformProperties_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GetPlatformProperties_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GetPlatformProperties_TO_BASE(base) COM_FORWARD_IVirtualBox_GetPlatformProperties_TO (base::)
#define COM_FORWARD_IVirtualBox_CreateMachine_TO(smth) HRESULT STDMETHODCALLTYPE CreateMachine (BSTR aSettingsFile, BSTR aName, PlatformArchitecture aPlatform, SAFEARRAY * * aGroups, BSTR aOsTypeId, BSTR aFlags, BSTR aCipher, BSTR aPasswordId, BSTR aPassword, IMachine * * aMachine) { return smth CreateMachine (aSettingsFile, aName, aPlatform, aGroups, aOsTypeId, aFlags, aCipher, aPasswordId, aPassword, aMachine); }
#define COM_FORWARD_IVirtualBox_CreateMachine_TO_OBJ(obj) COM_FORWARD_IVirtualBox_CreateMachine_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_CreateMachine_TO_BASE(base) COM_FORWARD_IVirtualBox_CreateMachine_TO (base::)
#define COM_FORWARD_IVirtualBox_OpenMachine_TO(smth) HRESULT STDMETHODCALLTYPE OpenMachine (BSTR aSettingsFile, BSTR aPassword, IMachine * * aMachine) { return smth OpenMachine (aSettingsFile, aPassword, aMachine); }
#define COM_FORWARD_IVirtualBox_OpenMachine_TO_OBJ(obj) COM_FORWARD_IVirtualBox_OpenMachine_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_OpenMachine_TO_BASE(base) COM_FORWARD_IVirtualBox_OpenMachine_TO (base::)
#define COM_FORWARD_IVirtualBox_RegisterMachine_TO(smth) HRESULT STDMETHODCALLTYPE RegisterMachine (IMachine * aMachine) { return smth RegisterMachine (aMachine); }
#define COM_FORWARD_IVirtualBox_RegisterMachine_TO_OBJ(obj) COM_FORWARD_IVirtualBox_RegisterMachine_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_RegisterMachine_TO_BASE(base) COM_FORWARD_IVirtualBox_RegisterMachine_TO (base::)
#define COM_FORWARD_IVirtualBox_FindMachine_TO(smth) HRESULT STDMETHODCALLTYPE FindMachine (BSTR aNameOrId, IMachine * * aMachine) { return smth FindMachine (aNameOrId, aMachine); }
#define COM_FORWARD_IVirtualBox_FindMachine_TO_OBJ(obj) COM_FORWARD_IVirtualBox_FindMachine_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_FindMachine_TO_BASE(base) COM_FORWARD_IVirtualBox_FindMachine_TO (base::)
#define COM_FORWARD_IVirtualBox_GetMachinesByGroups_TO(smth) HRESULT STDMETHODCALLTYPE GetMachinesByGroups (SAFEARRAY * * aGroups, SAFEARRAY * * aMachines) { return smth GetMachinesByGroups (aGroups, aMachines); }
#define COM_FORWARD_IVirtualBox_GetMachinesByGroups_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GetMachinesByGroups_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GetMachinesByGroups_TO_BASE(base) COM_FORWARD_IVirtualBox_GetMachinesByGroups_TO (base::)
#define COM_FORWARD_IVirtualBox_GetMachineStates_TO(smth) HRESULT STDMETHODCALLTYPE GetMachineStates (SAFEARRAY * * aMachines, SAFEARRAY * * aStates) { return smth GetMachineStates (aMachines, aStates); }
#define COM_FORWARD_IVirtualBox_GetMachineStates_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GetMachineStates_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GetMachineStates_TO_BASE(base) COM_FORWARD_IVirtualBox_GetMachineStates_TO (base::)
#define COM_FORWARD_IVirtualBox_CreateAppliance_TO(smth) HRESULT STDMETHODCALLTYPE CreateAppliance (IAppliance * * aAppliance) { return smth CreateAppliance (aAppliance); }
#define COM_FORWARD_IVirtualBox_CreateAppliance_TO_OBJ(obj) COM_FORWARD_IVirtualBox_CreateAppliance_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_CreateAppliance_TO_BASE(base) COM_FORWARD_IVirtualBox_CreateAppliance_TO (base::)
#define COM_FORWARD_IVirtualBox_CreateUnattendedInstaller_TO(smth) HRESULT STDMETHODCALLTYPE CreateUnattendedInstaller (IUnattended * * aUnattended) { return smth CreateUnattendedInstaller (aUnattended); }
#define COM_FORWARD_IVirtualBox_CreateUnattendedInstaller_TO_OBJ(obj) COM_FORWARD_IVirtualBox_CreateUnattendedInstaller_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_CreateUnattendedInstaller_TO_BASE(base) COM_FORWARD_IVirtualBox_CreateUnattendedInstaller_TO (base::)
#define COM_FORWARD_IVirtualBox_CreateMedium_TO(smth) HRESULT STDMETHODCALLTYPE CreateMedium (BSTR aFormat, BSTR aLocation, AccessMode aAccessMode, DeviceType aADeviceTypeType, IMedium * * aMedium) { return smth CreateMedium (aFormat, aLocation, aAccessMode, aADeviceTypeType, aMedium); }
#define COM_FORWARD_IVirtualBox_CreateMedium_TO_OBJ(obj) COM_FORWARD_IVirtualBox_CreateMedium_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_CreateMedium_TO_BASE(base) COM_FORWARD_IVirtualBox_CreateMedium_TO (base::)
#define COM_FORWARD_IVirtualBox_OpenMedium_TO(smth) HRESULT STDMETHODCALLTYPE OpenMedium (BSTR aLocation, DeviceType aDeviceType, AccessMode aAccessMode, BOOL aForceNewUuid, IMedium * * aMedium) { return smth OpenMedium (aLocation, aDeviceType, aAccessMode, aForceNewUuid, aMedium); }
#define COM_FORWARD_IVirtualBox_OpenMedium_TO_OBJ(obj) COM_FORWARD_IVirtualBox_OpenMedium_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_OpenMedium_TO_BASE(base) COM_FORWARD_IVirtualBox_OpenMedium_TO (base::)
#define COM_FORWARD_IVirtualBox_GetGuestOSType_TO(smth) HRESULT STDMETHODCALLTYPE GetGuestOSType (BSTR aId, IGuestOSType * * aType) { return smth GetGuestOSType (aId, aType); }
#define COM_FORWARD_IVirtualBox_GetGuestOSType_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GetGuestOSType_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GetGuestOSType_TO_BASE(base) COM_FORWARD_IVirtualBox_GetGuestOSType_TO (base::)
#define COM_FORWARD_IVirtualBox_GetGuestOSSubtypesByFamilyId_TO(smth) HRESULT STDMETHODCALLTYPE GetGuestOSSubtypesByFamilyId (BSTR aFamily, SAFEARRAY * * aOSsubtypes) { return smth GetGuestOSSubtypesByFamilyId (aFamily, aOSsubtypes); }
#define COM_FORWARD_IVirtualBox_GetGuestOSSubtypesByFamilyId_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GetGuestOSSubtypesByFamilyId_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GetGuestOSSubtypesByFamilyId_TO_BASE(base) COM_FORWARD_IVirtualBox_GetGuestOSSubtypesByFamilyId_TO (base::)
#define COM_FORWARD_IVirtualBox_GetGuestOSDescsBySubtype_TO(smth) HRESULT STDMETHODCALLTYPE GetGuestOSDescsBySubtype (BSTR aOSSubtype, SAFEARRAY * * aGuestOSDescs) { return smth GetGuestOSDescsBySubtype (aOSSubtype, aGuestOSDescs); }
#define COM_FORWARD_IVirtualBox_GetGuestOSDescsBySubtype_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GetGuestOSDescsBySubtype_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GetGuestOSDescsBySubtype_TO_BASE(base) COM_FORWARD_IVirtualBox_GetGuestOSDescsBySubtype_TO (base::)
#define COM_FORWARD_IVirtualBox_CreateSharedFolder_TO(smth) HRESULT STDMETHODCALLTYPE CreateSharedFolder (BSTR aName, BSTR aHostPath, BOOL aWritable, BOOL aAutomount, BSTR aAutoMountPoint) { return smth CreateSharedFolder (aName, aHostPath, aWritable, aAutomount, aAutoMountPoint); }
#define COM_FORWARD_IVirtualBox_CreateSharedFolder_TO_OBJ(obj) COM_FORWARD_IVirtualBox_CreateSharedFolder_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_CreateSharedFolder_TO_BASE(base) COM_FORWARD_IVirtualBox_CreateSharedFolder_TO (base::)
#define COM_FORWARD_IVirtualBox_RemoveSharedFolder_TO(smth) HRESULT STDMETHODCALLTYPE RemoveSharedFolder (BSTR aName) { return smth RemoveSharedFolder (aName); }
#define COM_FORWARD_IVirtualBox_RemoveSharedFolder_TO_OBJ(obj) COM_FORWARD_IVirtualBox_RemoveSharedFolder_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_RemoveSharedFolder_TO_BASE(base) COM_FORWARD_IVirtualBox_RemoveSharedFolder_TO (base::)
#define COM_FORWARD_IVirtualBox_GetExtraDataKeys_TO(smth) HRESULT STDMETHODCALLTYPE GetExtraDataKeys (SAFEARRAY * * aKeys) { return smth GetExtraDataKeys (aKeys); }
#define COM_FORWARD_IVirtualBox_GetExtraDataKeys_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GetExtraDataKeys_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GetExtraDataKeys_TO_BASE(base) COM_FORWARD_IVirtualBox_GetExtraDataKeys_TO (base::)
#define COM_FORWARD_IVirtualBox_GetExtraData_TO(smth) HRESULT STDMETHODCALLTYPE GetExtraData (BSTR aKey, BSTR * aValue) { return smth GetExtraData (aKey, aValue); }
#define COM_FORWARD_IVirtualBox_GetExtraData_TO_OBJ(obj) COM_FORWARD_IVirtualBox_GetExtraData_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_GetExtraData_TO_BASE(base) COM_FORWARD_IVirtualBox_GetExtraData_TO (base::)
#define COM_FORWARD_IVirtualBox_SetExtraData_TO(smth) HRESULT STDMETHODCALLTYPE SetExtraData (BSTR aKey, BSTR aValue) { return smth SetExtraData (aKey, aValue); }
#define COM_FORWARD_IVirtualBox_SetExtraData_TO_OBJ(obj) COM_FORWARD_IVirtualBox_SetExtraData_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_SetExtraData_TO_BASE(base) COM_FORWARD_IVirtualBox_SetExtraData_TO (base::)
#define COM_FORWARD_IVirtualBox_SetSettingsSecret_TO(smth) HRESULT STDMETHODCALLTYPE SetSettingsSecret (BSTR aPassword) { return smth SetSettingsSecret (aPassword); }
#define COM_FORWARD_IVirtualBox_SetSettingsSecret_TO_OBJ(obj) COM_FORWARD_IVirtualBox_SetSettingsSecret_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_SetSettingsSecret_TO_BASE(base) COM_FORWARD_IVirtualBox_SetSettingsSecret_TO (base::)
#define COM_FORWARD_IVirtualBox_CreateDHCPServer_TO(smth) HRESULT STDMETHODCALLTYPE CreateDHCPServer (BSTR aName, IDHCPServer * * aServer) { return smth CreateDHCPServer (aName, aServer); }
#define COM_FORWARD_IVirtualBox_CreateDHCPServer_TO_OBJ(obj) COM_FORWARD_IVirtualBox_CreateDHCPServer_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_CreateDHCPServer_TO_BASE(base) COM_FORWARD_IVirtualBox_CreateDHCPServer_TO (base::)
#define COM_FORWARD_IVirtualBox_FindDHCPServerByNetworkName_TO(smth) HRESULT STDMETHODCALLTYPE FindDHCPServerByNetworkName (BSTR aName, IDHCPServer * * aServer) { return smth FindDHCPServerByNetworkName (aName, aServer); }
#define COM_FORWARD_IVirtualBox_FindDHCPServerByNetworkName_TO_OBJ(obj) COM_FORWARD_IVirtualBox_FindDHCPServerByNetworkName_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_FindDHCPServerByNetworkName_TO_BASE(base) COM_FORWARD_IVirtualBox_FindDHCPServerByNetworkName_TO (base::)
#define COM_FORWARD_IVirtualBox_RemoveDHCPServer_TO(smth) HRESULT STDMETHODCALLTYPE RemoveDHCPServer (IDHCPServer * aServer) { return smth RemoveDHCPServer (aServer); }
#define COM_FORWARD_IVirtualBox_RemoveDHCPServer_TO_OBJ(obj) COM_FORWARD_IVirtualBox_RemoveDHCPServer_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_RemoveDHCPServer_TO_BASE(base) COM_FORWARD_IVirtualBox_RemoveDHCPServer_TO (base::)
#define COM_FORWARD_IVirtualBox_CreateNATNetwork_TO(smth) HRESULT STDMETHODCALLTYPE CreateNATNetwork (BSTR aNetworkName, INATNetwork * * aNetwork) { return smth CreateNATNetwork (aNetworkName, aNetwork); }
#define COM_FORWARD_IVirtualBox_CreateNATNetwork_TO_OBJ(obj) COM_FORWARD_IVirtualBox_CreateNATNetwork_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_CreateNATNetwork_TO_BASE(base) COM_FORWARD_IVirtualBox_CreateNATNetwork_TO (base::)
#define COM_FORWARD_IVirtualBox_FindNATNetworkByName_TO(smth) HRESULT STDMETHODCALLTYPE FindNATNetworkByName (BSTR aNetworkName, INATNetwork * * aNetwork) { return smth FindNATNetworkByName (aNetworkName, aNetwork); }
#define COM_FORWARD_IVirtualBox_FindNATNetworkByName_TO_OBJ(obj) COM_FORWARD_IVirtualBox_FindNATNetworkByName_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_FindNATNetworkByName_TO_BASE(base) COM_FORWARD_IVirtualBox_FindNATNetworkByName_TO (base::)
#define COM_FORWARD_IVirtualBox_RemoveNATNetwork_TO(smth) HRESULT STDMETHODCALLTYPE RemoveNATNetwork (INATNetwork * aNetwork) { return smth RemoveNATNetwork (aNetwork); }
#define COM_FORWARD_IVirtualBox_RemoveNATNetwork_TO_OBJ(obj) COM_FORWARD_IVirtualBox_RemoveNATNetwork_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_RemoveNATNetwork_TO_BASE(base) COM_FORWARD_IVirtualBox_RemoveNATNetwork_TO (base::)
#define COM_FORWARD_IVirtualBox_CreateHostOnlyNetwork_TO(smth) HRESULT STDMETHODCALLTYPE CreateHostOnlyNetwork (BSTR aNetworkName, IHostOnlyNetwork * * aNetwork) { return smth CreateHostOnlyNetwork (aNetworkName, aNetwork); }
#define COM_FORWARD_IVirtualBox_CreateHostOnlyNetwork_TO_OBJ(obj) COM_FORWARD_IVirtualBox_CreateHostOnlyNetwork_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_CreateHostOnlyNetwork_TO_BASE(base) COM_FORWARD_IVirtualBox_CreateHostOnlyNetwork_TO (base::)
#define COM_FORWARD_IVirtualBox_FindHostOnlyNetworkByName_TO(smth) HRESULT STDMETHODCALLTYPE FindHostOnlyNetworkByName (BSTR aNetworkName, IHostOnlyNetwork * * aNetwork) { return smth FindHostOnlyNetworkByName (aNetworkName, aNetwork); }
#define COM_FORWARD_IVirtualBox_FindHostOnlyNetworkByName_TO_OBJ(obj) COM_FORWARD_IVirtualBox_FindHostOnlyNetworkByName_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_FindHostOnlyNetworkByName_TO_BASE(base) COM_FORWARD_IVirtualBox_FindHostOnlyNetworkByName_TO (base::)
#define COM_FORWARD_IVirtualBox_FindHostOnlyNetworkById_TO(smth) HRESULT STDMETHODCALLTYPE FindHostOnlyNetworkById (BSTR aId, IHostOnlyNetwork * * aNetwork) { return smth FindHostOnlyNetworkById (aId, aNetwork); }
#define COM_FORWARD_IVirtualBox_FindHostOnlyNetworkById_TO_OBJ(obj) COM_FORWARD_IVirtualBox_FindHostOnlyNetworkById_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_FindHostOnlyNetworkById_TO_BASE(base) COM_FORWARD_IVirtualBox_FindHostOnlyNetworkById_TO (base::)
#define COM_FORWARD_IVirtualBox_RemoveHostOnlyNetwork_TO(smth) HRESULT STDMETHODCALLTYPE RemoveHostOnlyNetwork (IHostOnlyNetwork * aNetwork) { return smth RemoveHostOnlyNetwork (aNetwork); }
#define COM_FORWARD_IVirtualBox_RemoveHostOnlyNetwork_TO_OBJ(obj) COM_FORWARD_IVirtualBox_RemoveHostOnlyNetwork_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_RemoveHostOnlyNetwork_TO_BASE(base) COM_FORWARD_IVirtualBox_RemoveHostOnlyNetwork_TO (base::)
#define COM_FORWARD_IVirtualBox_CreateCloudNetwork_TO(smth) HRESULT STDMETHODCALLTYPE CreateCloudNetwork (BSTR aNetworkName, ICloudNetwork * * aNetwork) { return smth CreateCloudNetwork (aNetworkName, aNetwork); }
#define COM_FORWARD_IVirtualBox_CreateCloudNetwork_TO_OBJ(obj) COM_FORWARD_IVirtualBox_CreateCloudNetwork_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_CreateCloudNetwork_TO_BASE(base) COM_FORWARD_IVirtualBox_CreateCloudNetwork_TO (base::)
#define COM_FORWARD_IVirtualBox_FindCloudNetworkByName_TO(smth) HRESULT STDMETHODCALLTYPE FindCloudNetworkByName (BSTR aNetworkName, ICloudNetwork * * aNetwork) { return smth FindCloudNetworkByName (aNetworkName, aNetwork); }
#define COM_FORWARD_IVirtualBox_FindCloudNetworkByName_TO_OBJ(obj) COM_FORWARD_IVirtualBox_FindCloudNetworkByName_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_FindCloudNetworkByName_TO_BASE(base) COM_FORWARD_IVirtualBox_FindCloudNetworkByName_TO (base::)
#define COM_FORWARD_IVirtualBox_RemoveCloudNetwork_TO(smth) HRESULT STDMETHODCALLTYPE RemoveCloudNetwork (ICloudNetwork * aNetwork) { return smth RemoveCloudNetwork (aNetwork); }
#define COM_FORWARD_IVirtualBox_RemoveCloudNetwork_TO_OBJ(obj) COM_FORWARD_IVirtualBox_RemoveCloudNetwork_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_RemoveCloudNetwork_TO_BASE(base) COM_FORWARD_IVirtualBox_RemoveCloudNetwork_TO (base::)
#define COM_FORWARD_IVirtualBox_CheckFirmwarePresent_TO(smth) HRESULT STDMETHODCALLTYPE CheckFirmwarePresent (PlatformArchitecture aPlatformArchitecture, FirmwareType aFirmwareType, BSTR aVersion, BSTR * aUrl, BSTR * aFile, BOOL * aResult) { return smth CheckFirmwarePresent (aPlatformArchitecture, aFirmwareType, aVersion, aUrl, aFile, aResult); }
#define COM_FORWARD_IVirtualBox_CheckFirmwarePresent_TO_OBJ(obj) COM_FORWARD_IVirtualBox_CheckFirmwarePresent_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_CheckFirmwarePresent_TO_BASE(base) COM_FORWARD_IVirtualBox_CheckFirmwarePresent_TO (base::)
#define COM_FORWARD_IVirtualBox_FindProgressById_TO(smth) HRESULT STDMETHODCALLTYPE FindProgressById (BSTR aId, IProgress * * aProgressObject) { return smth FindProgressById (aId, aProgressObject); }
#define COM_FORWARD_IVirtualBox_FindProgressById_TO_OBJ(obj) COM_FORWARD_IVirtualBox_FindProgressById_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_FindProgressById_TO_BASE(base) COM_FORWARD_IVirtualBox_FindProgressById_TO (base::)
#define COM_FORWARD_IVirtualBox_TO(smth) COM_FORWARD_IVirtualBox_GETTER_Version_TO (smth) COM_FORWARD_IVirtualBox_GETTER_VersionNormalized_TO (smth) COM_FORWARD_IVirtualBox_GETTER_Revision_TO (smth) COM_FORWARD_IVirtualBox_GETTER_PackageType_TO (smth) COM_FORWARD_IVirtualBox_GETTER_APIVersion_TO (smth) COM_FORWARD_IVirtualBox_GETTER_APIRevision_TO (smth) COM_FORWARD_IVirtualBox_GETTER_HomeFolder_TO (smth) COM_FORWARD_IVirtualBox_GETTER_SettingsFilePath_TO (smth) COM_FORWARD_IVirtualBox_GETTER_Host_TO (smth) COM_FORWARD_IVirtualBox_GETTER_SystemProperties_TO (smth) COM_FORWARD_IVirtualBox_GETTER_Machines_TO (smth) COM_FORWARD_IVirtualBox_GETTER_MachineGroups_TO (smth) COM_FORWARD_IVirtualBox_GETTER_HardDisks_TO (smth) COM_FORWARD_IVirtualBox_GETTER_DVDImages_TO (smth) COM_FORWARD_IVirtualBox_GETTER_FloppyImages_TO (smth) COM_FORWARD_IVirtualBox_GETTER_ProgressOperations_TO (smth) COM_FORWARD_IVirtualBox_GETTER_GuestOSTypes_TO (smth) COM_FORWARD_IVirtualBox_GETTER_GuestOSFamilies_TO (smth) COM_FORWARD_IVirtualBox_GETTER_SharedFolders_TO (smth) COM_FORWARD_IVirtualBox_GETTER_PerformanceCollector_TO (smth) COM_FORWARD_IVirtualBox_GETTER_DHCPServers_TO (smth) COM_FORWARD_IVirtualBox_GETTER_NATNetworks_TO (smth) COM_FORWARD_IVirtualBox_GETTER_EventSource_TO (smth) COM_FORWARD_IVirtualBox_GETTER_ExtensionPackManager_TO (smth) COM_FORWARD_IVirtualBox_GETTER_InternalNetworks_TO (smth) COM_FORWARD_IVirtualBox_GETTER_HostOnlyNetworks_TO (smth) COM_FORWARD_IVirtualBox_GETTER_GenericNetworkDrivers_TO (smth) COM_FORWARD_IVirtualBox_GETTER_CloudNetworks_TO (smth) COM_FORWARD_IVirtualBox_GETTER_CloudProviderManager_TO (smth) COM_FORWARD_IVirtualBox_ComposeMachineFilename_TO (smth) COM_FORWARD_IVirtualBox_GetPlatformProperties_TO (smth) COM_FORWARD_IVirtualBox_CreateMachine_TO (smth) COM_FORWARD_IVirtualBox_OpenMachine_TO (smth) COM_FORWARD_IVirtualBox_RegisterMachine_TO (smth) COM_FORWARD_IVirtualBox_FindMachine_TO (smth) COM_FORWARD_IVirtualBox_GetMachinesByGroups_TO (smth) COM_FORWARD_IVirtualBox_GetMachineStates_TO (smth) COM_FORWARD_IVirtualBox_CreateAppliance_TO (smth) COM_FORWARD_IVirtualBox_CreateUnattendedInstaller_TO (smth) COM_FORWARD_IVirtualBox_CreateMedium_TO (smth) COM_FORWARD_IVirtualBox_OpenMedium_TO (smth) COM_FORWARD_IVirtualBox_GetGuestOSType_TO (smth) COM_FORWARD_IVirtualBox_GetGuestOSSubtypesByFamilyId_TO (smth) COM_FORWARD_IVirtualBox_GetGuestOSDescsBySubtype_TO (smth) COM_FORWARD_IVirtualBox_CreateSharedFolder_TO (smth) COM_FORWARD_IVirtualBox_RemoveSharedFolder_TO (smth) COM_FORWARD_IVirtualBox_GetExtraDataKeys_TO (smth) COM_FORWARD_IVirtualBox_GetExtraData_TO (smth) COM_FORWARD_IVirtualBox_SetExtraData_TO (smth) COM_FORWARD_IVirtualBox_SetSettingsSecret_TO (smth) COM_FORWARD_IVirtualBox_CreateDHCPServer_TO (smth) COM_FORWARD_IVirtualBox_FindDHCPServerByNetworkName_TO (smth) COM_FORWARD_IVirtualBox_RemoveDHCPServer_TO (smth) COM_FORWARD_IVirtualBox_CreateNATNetwork_TO (smth) COM_FORWARD_IVirtualBox_FindNATNetworkByName_TO (smth) COM_FORWARD_IVirtualBox_RemoveNATNetwork_TO (smth) COM_FORWARD_IVirtualBox_CreateHostOnlyNetwork_TO (smth) COM_FORWARD_IVirtualBox_FindHostOnlyNetworkByName_TO (smth) COM_FORWARD_IVirtualBox_FindHostOnlyNetworkById_TO (smth) COM_FORWARD_IVirtualBox_RemoveHostOnlyNetwork_TO (smth) COM_FORWARD_IVirtualBox_CreateCloudNetwork_TO (smth) COM_FORWARD_IVirtualBox_FindCloudNetworkByName_TO (smth) COM_FORWARD_IVirtualBox_RemoveCloudNetwork_TO (smth) COM_FORWARD_IVirtualBox_CheckFirmwarePresent_TO (smth) COM_FORWARD_IVirtualBox_FindProgressById_TO (smth) 
#define COM_FORWARD_IVirtualBox_TO_OBJ(obj) COM_FORWARD_IVirtualBox_TO ((obj)->)
#define COM_FORWARD_IVirtualBox_TO_BASE(base) COM_FORWARD_IVirtualBox_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0011_v0_0_s_ifspec;

#ifndef __IVFSExplorer_INTERFACE_DEFINED__
#define __IVFSExplorer_INTERFACE_DEFINED__

/* interface IVFSExplorer */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVFSExplorer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("fb220201-2fd3-47e2-a5dc-2c2431d833cc")
    IVFSExplorer : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *aPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ VFSType *aType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Update( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Cd( 
            /* [in] */ BSTR aDir,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CdUp( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EntryList( 
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aTypes,
            /* [out] */ SAFEARRAY * *aSizes,
            /* [out] */ SAFEARRAY * *aModes) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Exists( 
            /* [in] */ SAFEARRAY * aNames,
            /* [retval][out] */ SAFEARRAY * *aExists) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ SAFEARRAY * aNames,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVFSExplorerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVFSExplorer * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVFSExplorer * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVFSExplorer * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IVFSExplorer * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IVFSExplorer * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IVFSExplorer * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IVFSExplorer * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IVFSExplorer, get_Path)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IVFSExplorer * This,
            /* [retval][out] */ BSTR *aPath);
        
        DECLSPEC_XFGVIRT(IVFSExplorer, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IVFSExplorer * This,
            /* [retval][out] */ VFSType *aType);
        
        DECLSPEC_XFGVIRT(IVFSExplorer, Update)
        HRESULT ( STDMETHODCALLTYPE *Update )( 
            IVFSExplorer * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IVFSExplorer, Cd)
        HRESULT ( STDMETHODCALLTYPE *Cd )( 
            IVFSExplorer * This,
            /* [in] */ BSTR aDir,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IVFSExplorer, CdUp)
        HRESULT ( STDMETHODCALLTYPE *CdUp )( 
            IVFSExplorer * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IVFSExplorer, EntryList)
        HRESULT ( STDMETHODCALLTYPE *EntryList )( 
            IVFSExplorer * This,
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aTypes,
            /* [out] */ SAFEARRAY * *aSizes,
            /* [out] */ SAFEARRAY * *aModes);
        
        DECLSPEC_XFGVIRT(IVFSExplorer, Exists)
        HRESULT ( STDMETHODCALLTYPE *Exists )( 
            IVFSExplorer * This,
            /* [in] */ SAFEARRAY * aNames,
            /* [retval][out] */ SAFEARRAY * *aExists);
        
        DECLSPEC_XFGVIRT(IVFSExplorer, Remove)
        HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IVFSExplorer * This,
            /* [in] */ SAFEARRAY * aNames,
            /* [retval][out] */ IProgress **aProgress);
        
        END_INTERFACE
    } IVFSExplorerVtbl;

    interface IVFSExplorer
    {
        CONST_VTBL struct IVFSExplorerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVFSExplorer_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IVFSExplorer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IVFSExplorer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IVFSExplorer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IVFSExplorer_get_Path(This,aPath)	\
    ( (This)->lpVtbl -> get_Path(This,aPath) ) 

#define IVFSExplorer_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IVFSExplorer_Update(This,aProgress)	\
    ( (This)->lpVtbl -> Update(This,aProgress) ) 

#define IVFSExplorer_Cd(This,aDir,aProgress)	\
    ( (This)->lpVtbl -> Cd(This,aDir,aProgress) ) 

#define IVFSExplorer_CdUp(This,aProgress)	\
    ( (This)->lpVtbl -> CdUp(This,aProgress) ) 

#define IVFSExplorer_EntryList(This,aNames,aTypes,aSizes,aModes)	\
    ( (This)->lpVtbl -> EntryList(This,aNames,aTypes,aSizes,aModes) ) 

#define IVFSExplorer_Exists(This,aNames,aExists)	\
    ( (This)->lpVtbl -> Exists(This,aNames,aExists) ) 

#define IVFSExplorer_Remove(This,aNames,aProgress)	\
    ( (This)->lpVtbl -> Remove(This,aNames,aProgress) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVFSExplorer_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0012 */
/* [local] */ 

#define COM_FORWARD_IVFSExplorer_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }
#define COM_FORWARD_IVFSExplorer_GETTER_Path_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_GETTER_Path_TO ((obj)->)
#define COM_FORWARD_IVFSExplorer_GETTER_Path_TO_BASE(base) COM_FORWARD_IVFSExplorer_GETTER_Path_TO (base::)
#define COM_FORWARD_IVFSExplorer_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (VFSType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IVFSExplorer_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IVFSExplorer_GETTER_Type_TO_BASE(base) COM_FORWARD_IVFSExplorer_GETTER_Type_TO (base::)
#define COM_FORWARD_IVFSExplorer_Update_TO(smth) HRESULT STDMETHODCALLTYPE Update (IProgress * * aProgress) { return smth Update (aProgress); }
#define COM_FORWARD_IVFSExplorer_Update_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_Update_TO ((obj)->)
#define COM_FORWARD_IVFSExplorer_Update_TO_BASE(base) COM_FORWARD_IVFSExplorer_Update_TO (base::)
#define COM_FORWARD_IVFSExplorer_Cd_TO(smth) HRESULT STDMETHODCALLTYPE Cd (BSTR aDir, IProgress * * aProgress) { return smth Cd (aDir, aProgress); }
#define COM_FORWARD_IVFSExplorer_Cd_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_Cd_TO ((obj)->)
#define COM_FORWARD_IVFSExplorer_Cd_TO_BASE(base) COM_FORWARD_IVFSExplorer_Cd_TO (base::)
#define COM_FORWARD_IVFSExplorer_CdUp_TO(smth) HRESULT STDMETHODCALLTYPE CdUp (IProgress * * aProgress) { return smth CdUp (aProgress); }
#define COM_FORWARD_IVFSExplorer_CdUp_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_CdUp_TO ((obj)->)
#define COM_FORWARD_IVFSExplorer_CdUp_TO_BASE(base) COM_FORWARD_IVFSExplorer_CdUp_TO (base::)
#define COM_FORWARD_IVFSExplorer_EntryList_TO(smth) HRESULT STDMETHODCALLTYPE EntryList (SAFEARRAY * * aNames, SAFEARRAY * * aTypes, SAFEARRAY * * aSizes, SAFEARRAY * * aModes) { return smth EntryList (aNames, aTypes, aSizes, aModes); }
#define COM_FORWARD_IVFSExplorer_EntryList_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_EntryList_TO ((obj)->)
#define COM_FORWARD_IVFSExplorer_EntryList_TO_BASE(base) COM_FORWARD_IVFSExplorer_EntryList_TO (base::)
#define COM_FORWARD_IVFSExplorer_Exists_TO(smth) HRESULT STDMETHODCALLTYPE Exists (SAFEARRAY * * aNames, SAFEARRAY * * aExists) { return smth Exists (aNames, aExists); }
#define COM_FORWARD_IVFSExplorer_Exists_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_Exists_TO ((obj)->)
#define COM_FORWARD_IVFSExplorer_Exists_TO_BASE(base) COM_FORWARD_IVFSExplorer_Exists_TO (base::)
#define COM_FORWARD_IVFSExplorer_Remove_TO(smth) HRESULT STDMETHODCALLTYPE Remove (SAFEARRAY * * aNames, IProgress * * aProgress) { return smth Remove (aNames, aProgress); }
#define COM_FORWARD_IVFSExplorer_Remove_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_Remove_TO ((obj)->)
#define COM_FORWARD_IVFSExplorer_Remove_TO_BASE(base) COM_FORWARD_IVFSExplorer_Remove_TO (base::)
#define COM_FORWARD_IVFSExplorer_TO(smth) COM_FORWARD_IVFSExplorer_GETTER_Path_TO (smth) COM_FORWARD_IVFSExplorer_GETTER_Type_TO (smth) COM_FORWARD_IVFSExplorer_Update_TO (smth) COM_FORWARD_IVFSExplorer_Cd_TO (smth) COM_FORWARD_IVFSExplorer_CdUp_TO (smth) COM_FORWARD_IVFSExplorer_EntryList_TO (smth) COM_FORWARD_IVFSExplorer_Exists_TO (smth) COM_FORWARD_IVFSExplorer_Remove_TO (smth) 
#define COM_FORWARD_IVFSExplorer_TO_OBJ(obj) COM_FORWARD_IVFSExplorer_TO ((obj)->)
#define COM_FORWARD_IVFSExplorer_TO_BASE(base) COM_FORWARD_IVFSExplorer_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0012_v0_0_s_ifspec;

#ifndef __ICertificate_INTERFACE_DEFINED__
#define __ICertificate_INTERFACE_DEFINED__

/* interface ICertificate */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICertificate;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("392f1de4-80e1-4a8a-93a1-67c5f92a838a")
    ICertificate : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VersionNumber( 
            /* [retval][out] */ CertificateVersion *aVersionNumber) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SerialNumber( 
            /* [retval][out] */ BSTR *aSerialNumber) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SignatureAlgorithmOID( 
            /* [retval][out] */ BSTR *aSignatureAlgorithmOID) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SignatureAlgorithmName( 
            /* [retval][out] */ BSTR *aSignatureAlgorithmName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IssuerName( 
            /* [retval][out] */ SAFEARRAY * *aIssuerName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SubjectName( 
            /* [retval][out] */ SAFEARRAY * *aSubjectName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FriendlyName( 
            /* [retval][out] */ BSTR *aFriendlyName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ValidityPeriodNotBefore( 
            /* [retval][out] */ BSTR *aValidityPeriodNotBefore) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ValidityPeriodNotAfter( 
            /* [retval][out] */ BSTR *aValidityPeriodNotAfter) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PublicKeyAlgorithmOID( 
            /* [retval][out] */ BSTR *aPublicKeyAlgorithmOID) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PublicKeyAlgorithm( 
            /* [retval][out] */ BSTR *aPublicKeyAlgorithm) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SubjectPublicKey( 
            /* [retval][out] */ SAFEARRAY * *aSubjectPublicKey) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IssuerUniqueIdentifier( 
            /* [retval][out] */ BSTR *aIssuerUniqueIdentifier) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SubjectUniqueIdentifier( 
            /* [retval][out] */ BSTR *aSubjectUniqueIdentifier) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CertificateAuthority( 
            /* [retval][out] */ BOOL *aCertificateAuthority) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyUsage( 
            /* [retval][out] */ ULONG *aKeyUsage) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExtendedKeyUsage( 
            /* [retval][out] */ SAFEARRAY * *aExtendedKeyUsage) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RawCertData( 
            /* [retval][out] */ SAFEARRAY * *aRawCertData) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SelfSigned( 
            /* [retval][out] */ BOOL *aSelfSigned) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Trusted( 
            /* [retval][out] */ BOOL *aTrusted) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Expired( 
            /* [retval][out] */ BOOL *aExpired) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12ICertificate( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsCurrentlyExpired( 
            /* [retval][out] */ BOOL *aResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryInfo( 
            /* [in] */ LONG aWhat,
            /* [retval][out] */ BSTR *aResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ICertificate( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ICertificate( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICertificateVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICertificate * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICertificate * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICertificate * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICertificate * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICertificate * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICertificate * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICertificate * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ICertificate, get_VersionNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionNumber )( 
            ICertificate * This,
            /* [retval][out] */ CertificateVersion *aVersionNumber);
        
        DECLSPEC_XFGVIRT(ICertificate, get_SerialNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialNumber )( 
            ICertificate * This,
            /* [retval][out] */ BSTR *aSerialNumber);
        
        DECLSPEC_XFGVIRT(ICertificate, get_SignatureAlgorithmOID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SignatureAlgorithmOID )( 
            ICertificate * This,
            /* [retval][out] */ BSTR *aSignatureAlgorithmOID);
        
        DECLSPEC_XFGVIRT(ICertificate, get_SignatureAlgorithmName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SignatureAlgorithmName )( 
            ICertificate * This,
            /* [retval][out] */ BSTR *aSignatureAlgorithmName);
        
        DECLSPEC_XFGVIRT(ICertificate, get_IssuerName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IssuerName )( 
            ICertificate * This,
            /* [retval][out] */ SAFEARRAY * *aIssuerName);
        
        DECLSPEC_XFGVIRT(ICertificate, get_SubjectName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubjectName )( 
            ICertificate * This,
            /* [retval][out] */ SAFEARRAY * *aSubjectName);
        
        DECLSPEC_XFGVIRT(ICertificate, get_FriendlyName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FriendlyName )( 
            ICertificate * This,
            /* [retval][out] */ BSTR *aFriendlyName);
        
        DECLSPEC_XFGVIRT(ICertificate, get_ValidityPeriodNotBefore)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValidityPeriodNotBefore )( 
            ICertificate * This,
            /* [retval][out] */ BSTR *aValidityPeriodNotBefore);
        
        DECLSPEC_XFGVIRT(ICertificate, get_ValidityPeriodNotAfter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValidityPeriodNotAfter )( 
            ICertificate * This,
            /* [retval][out] */ BSTR *aValidityPeriodNotAfter);
        
        DECLSPEC_XFGVIRT(ICertificate, get_PublicKeyAlgorithmOID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PublicKeyAlgorithmOID )( 
            ICertificate * This,
            /* [retval][out] */ BSTR *aPublicKeyAlgorithmOID);
        
        DECLSPEC_XFGVIRT(ICertificate, get_PublicKeyAlgorithm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PublicKeyAlgorithm )( 
            ICertificate * This,
            /* [retval][out] */ BSTR *aPublicKeyAlgorithm);
        
        DECLSPEC_XFGVIRT(ICertificate, get_SubjectPublicKey)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubjectPublicKey )( 
            ICertificate * This,
            /* [retval][out] */ SAFEARRAY * *aSubjectPublicKey);
        
        DECLSPEC_XFGVIRT(ICertificate, get_IssuerUniqueIdentifier)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IssuerUniqueIdentifier )( 
            ICertificate * This,
            /* [retval][out] */ BSTR *aIssuerUniqueIdentifier);
        
        DECLSPEC_XFGVIRT(ICertificate, get_SubjectUniqueIdentifier)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubjectUniqueIdentifier )( 
            ICertificate * This,
            /* [retval][out] */ BSTR *aSubjectUniqueIdentifier);
        
        DECLSPEC_XFGVIRT(ICertificate, get_CertificateAuthority)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CertificateAuthority )( 
            ICertificate * This,
            /* [retval][out] */ BOOL *aCertificateAuthority);
        
        DECLSPEC_XFGVIRT(ICertificate, get_KeyUsage)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyUsage )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aKeyUsage);
        
        DECLSPEC_XFGVIRT(ICertificate, get_ExtendedKeyUsage)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedKeyUsage )( 
            ICertificate * This,
            /* [retval][out] */ SAFEARRAY * *aExtendedKeyUsage);
        
        DECLSPEC_XFGVIRT(ICertificate, get_RawCertData)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RawCertData )( 
            ICertificate * This,
            /* [retval][out] */ SAFEARRAY * *aRawCertData);
        
        DECLSPEC_XFGVIRT(ICertificate, get_SelfSigned)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelfSigned )( 
            ICertificate * This,
            /* [retval][out] */ BOOL *aSelfSigned);
        
        DECLSPEC_XFGVIRT(ICertificate, get_Trusted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Trusted )( 
            ICertificate * This,
            /* [retval][out] */ BOOL *aTrusted);
        
        DECLSPEC_XFGVIRT(ICertificate, get_Expired)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Expired )( 
            ICertificate * This,
            /* [retval][out] */ BOOL *aExpired);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute1ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute2ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute3ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute4ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute5ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute6ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute7ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute8ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute9ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute10ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute11ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, get_InternalAndReservedAttribute12ICertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12ICertificate )( 
            ICertificate * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICertificate, IsCurrentlyExpired)
        HRESULT ( STDMETHODCALLTYPE *IsCurrentlyExpired )( 
            ICertificate * This,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ICertificate, QueryInfo)
        HRESULT ( STDMETHODCALLTYPE *QueryInfo )( 
            ICertificate * This,
            /* [in] */ LONG aWhat,
            /* [retval][out] */ BSTR *aResult);
        
        DECLSPEC_XFGVIRT(ICertificate, InternalAndReservedMethod1ICertificate)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ICertificate )( 
            ICertificate * This);
        
        DECLSPEC_XFGVIRT(ICertificate, InternalAndReservedMethod2ICertificate)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ICertificate )( 
            ICertificate * This);
        
        END_INTERFACE
    } ICertificateVtbl;

    interface ICertificate
    {
        CONST_VTBL struct ICertificateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICertificate_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICertificate_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICertificate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICertificate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICertificate_get_VersionNumber(This,aVersionNumber)	\
    ( (This)->lpVtbl -> get_VersionNumber(This,aVersionNumber) ) 

#define ICertificate_get_SerialNumber(This,aSerialNumber)	\
    ( (This)->lpVtbl -> get_SerialNumber(This,aSerialNumber) ) 

#define ICertificate_get_SignatureAlgorithmOID(This,aSignatureAlgorithmOID)	\
    ( (This)->lpVtbl -> get_SignatureAlgorithmOID(This,aSignatureAlgorithmOID) ) 

#define ICertificate_get_SignatureAlgorithmName(This,aSignatureAlgorithmName)	\
    ( (This)->lpVtbl -> get_SignatureAlgorithmName(This,aSignatureAlgorithmName) ) 

#define ICertificate_get_IssuerName(This,aIssuerName)	\
    ( (This)->lpVtbl -> get_IssuerName(This,aIssuerName) ) 

#define ICertificate_get_SubjectName(This,aSubjectName)	\
    ( (This)->lpVtbl -> get_SubjectName(This,aSubjectName) ) 

#define ICertificate_get_FriendlyName(This,aFriendlyName)	\
    ( (This)->lpVtbl -> get_FriendlyName(This,aFriendlyName) ) 

#define ICertificate_get_ValidityPeriodNotBefore(This,aValidityPeriodNotBefore)	\
    ( (This)->lpVtbl -> get_ValidityPeriodNotBefore(This,aValidityPeriodNotBefore) ) 

#define ICertificate_get_ValidityPeriodNotAfter(This,aValidityPeriodNotAfter)	\
    ( (This)->lpVtbl -> get_ValidityPeriodNotAfter(This,aValidityPeriodNotAfter) ) 

#define ICertificate_get_PublicKeyAlgorithmOID(This,aPublicKeyAlgorithmOID)	\
    ( (This)->lpVtbl -> get_PublicKeyAlgorithmOID(This,aPublicKeyAlgorithmOID) ) 

#define ICertificate_get_PublicKeyAlgorithm(This,aPublicKeyAlgorithm)	\
    ( (This)->lpVtbl -> get_PublicKeyAlgorithm(This,aPublicKeyAlgorithm) ) 

#define ICertificate_get_SubjectPublicKey(This,aSubjectPublicKey)	\
    ( (This)->lpVtbl -> get_SubjectPublicKey(This,aSubjectPublicKey) ) 

#define ICertificate_get_IssuerUniqueIdentifier(This,aIssuerUniqueIdentifier)	\
    ( (This)->lpVtbl -> get_IssuerUniqueIdentifier(This,aIssuerUniqueIdentifier) ) 

#define ICertificate_get_SubjectUniqueIdentifier(This,aSubjectUniqueIdentifier)	\
    ( (This)->lpVtbl -> get_SubjectUniqueIdentifier(This,aSubjectUniqueIdentifier) ) 

#define ICertificate_get_CertificateAuthority(This,aCertificateAuthority)	\
    ( (This)->lpVtbl -> get_CertificateAuthority(This,aCertificateAuthority) ) 

#define ICertificate_get_KeyUsage(This,aKeyUsage)	\
    ( (This)->lpVtbl -> get_KeyUsage(This,aKeyUsage) ) 

#define ICertificate_get_ExtendedKeyUsage(This,aExtendedKeyUsage)	\
    ( (This)->lpVtbl -> get_ExtendedKeyUsage(This,aExtendedKeyUsage) ) 

#define ICertificate_get_RawCertData(This,aRawCertData)	\
    ( (This)->lpVtbl -> get_RawCertData(This,aRawCertData) ) 

#define ICertificate_get_SelfSigned(This,aSelfSigned)	\
    ( (This)->lpVtbl -> get_SelfSigned(This,aSelfSigned) ) 

#define ICertificate_get_Trusted(This,aTrusted)	\
    ( (This)->lpVtbl -> get_Trusted(This,aTrusted) ) 

#define ICertificate_get_Expired(This,aExpired)	\
    ( (This)->lpVtbl -> get_Expired(This,aExpired) ) 

#define ICertificate_get_InternalAndReservedAttribute1ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ICertificate(This,aReserved) ) 

#define ICertificate_get_InternalAndReservedAttribute2ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ICertificate(This,aReserved) ) 

#define ICertificate_get_InternalAndReservedAttribute3ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ICertificate(This,aReserved) ) 

#define ICertificate_get_InternalAndReservedAttribute4ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ICertificate(This,aReserved) ) 

#define ICertificate_get_InternalAndReservedAttribute5ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ICertificate(This,aReserved) ) 

#define ICertificate_get_InternalAndReservedAttribute6ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ICertificate(This,aReserved) ) 

#define ICertificate_get_InternalAndReservedAttribute7ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ICertificate(This,aReserved) ) 

#define ICertificate_get_InternalAndReservedAttribute8ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ICertificate(This,aReserved) ) 

#define ICertificate_get_InternalAndReservedAttribute9ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9ICertificate(This,aReserved) ) 

#define ICertificate_get_InternalAndReservedAttribute10ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10ICertificate(This,aReserved) ) 

#define ICertificate_get_InternalAndReservedAttribute11ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11ICertificate(This,aReserved) ) 

#define ICertificate_get_InternalAndReservedAttribute12ICertificate(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12ICertificate(This,aReserved) ) 

#define ICertificate_IsCurrentlyExpired(This,aResult)	\
    ( (This)->lpVtbl -> IsCurrentlyExpired(This,aResult) ) 

#define ICertificate_QueryInfo(This,aWhat,aResult)	\
    ( (This)->lpVtbl -> QueryInfo(This,aWhat,aResult) ) 

#define ICertificate_InternalAndReservedMethod1ICertificate(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ICertificate(This) ) 

#define ICertificate_InternalAndReservedMethod2ICertificate(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ICertificate(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICertificate_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0013 */
/* [local] */ 

#define COM_FORWARD_ICertificate_GETTER_VersionNumber_TO(smth) HRESULT STDMETHODCALLTYPE get_VersionNumber (CertificateVersion * aVersionNumber) { return smth get_VersionNumber (aVersionNumber); }
#define COM_FORWARD_ICertificate_GETTER_VersionNumber_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_VersionNumber_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_VersionNumber_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_VersionNumber_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_SerialNumber_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialNumber (BSTR * aSerialNumber) { return smth get_SerialNumber (aSerialNumber); }
#define COM_FORWARD_ICertificate_GETTER_SerialNumber_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_SerialNumber_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_SerialNumber_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_SerialNumber_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmOID_TO(smth) HRESULT STDMETHODCALLTYPE get_SignatureAlgorithmOID (BSTR * aSignatureAlgorithmOID) { return smth get_SignatureAlgorithmOID (aSignatureAlgorithmOID); }
#define COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmOID_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmOID_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmOID_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmOID_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmName_TO(smth) HRESULT STDMETHODCALLTYPE get_SignatureAlgorithmName (BSTR * aSignatureAlgorithmName) { return smth get_SignatureAlgorithmName (aSignatureAlgorithmName); }
#define COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmName_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmName_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmName_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmName_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_IssuerName_TO(smth) HRESULT STDMETHODCALLTYPE get_IssuerName (SAFEARRAY * * aIssuerName) { return smth get_IssuerName (aIssuerName); }
#define COM_FORWARD_ICertificate_GETTER_IssuerName_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_IssuerName_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_IssuerName_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_IssuerName_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_SubjectName_TO(smth) HRESULT STDMETHODCALLTYPE get_SubjectName (SAFEARRAY * * aSubjectName) { return smth get_SubjectName (aSubjectName); }
#define COM_FORWARD_ICertificate_GETTER_SubjectName_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_SubjectName_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_SubjectName_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_SubjectName_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_FriendlyName_TO(smth) HRESULT STDMETHODCALLTYPE get_FriendlyName (BSTR * aFriendlyName) { return smth get_FriendlyName (aFriendlyName); }
#define COM_FORWARD_ICertificate_GETTER_FriendlyName_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_FriendlyName_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_FriendlyName_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_FriendlyName_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotBefore_TO(smth) HRESULT STDMETHODCALLTYPE get_ValidityPeriodNotBefore (BSTR * aValidityPeriodNotBefore) { return smth get_ValidityPeriodNotBefore (aValidityPeriodNotBefore); }
#define COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotBefore_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotBefore_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotBefore_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotBefore_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotAfter_TO(smth) HRESULT STDMETHODCALLTYPE get_ValidityPeriodNotAfter (BSTR * aValidityPeriodNotAfter) { return smth get_ValidityPeriodNotAfter (aValidityPeriodNotAfter); }
#define COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotAfter_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotAfter_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotAfter_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotAfter_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithmOID_TO(smth) HRESULT STDMETHODCALLTYPE get_PublicKeyAlgorithmOID (BSTR * aPublicKeyAlgorithmOID) { return smth get_PublicKeyAlgorithmOID (aPublicKeyAlgorithmOID); }
#define COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithmOID_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithmOID_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithmOID_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithmOID_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithm_TO(smth) HRESULT STDMETHODCALLTYPE get_PublicKeyAlgorithm (BSTR * aPublicKeyAlgorithm) { return smth get_PublicKeyAlgorithm (aPublicKeyAlgorithm); }
#define COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithm_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithm_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithm_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithm_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_SubjectPublicKey_TO(smth) HRESULT STDMETHODCALLTYPE get_SubjectPublicKey (SAFEARRAY * * aSubjectPublicKey) { return smth get_SubjectPublicKey (aSubjectPublicKey); }
#define COM_FORWARD_ICertificate_GETTER_SubjectPublicKey_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_SubjectPublicKey_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_SubjectPublicKey_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_SubjectPublicKey_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_IssuerUniqueIdentifier_TO(smth) HRESULT STDMETHODCALLTYPE get_IssuerUniqueIdentifier (BSTR * aIssuerUniqueIdentifier) { return smth get_IssuerUniqueIdentifier (aIssuerUniqueIdentifier); }
#define COM_FORWARD_ICertificate_GETTER_IssuerUniqueIdentifier_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_IssuerUniqueIdentifier_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_IssuerUniqueIdentifier_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_IssuerUniqueIdentifier_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_SubjectUniqueIdentifier_TO(smth) HRESULT STDMETHODCALLTYPE get_SubjectUniqueIdentifier (BSTR * aSubjectUniqueIdentifier) { return smth get_SubjectUniqueIdentifier (aSubjectUniqueIdentifier); }
#define COM_FORWARD_ICertificate_GETTER_SubjectUniqueIdentifier_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_SubjectUniqueIdentifier_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_SubjectUniqueIdentifier_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_SubjectUniqueIdentifier_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_CertificateAuthority_TO(smth) HRESULT STDMETHODCALLTYPE get_CertificateAuthority (BOOL * aCertificateAuthority) { return smth get_CertificateAuthority (aCertificateAuthority); }
#define COM_FORWARD_ICertificate_GETTER_CertificateAuthority_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_CertificateAuthority_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_CertificateAuthority_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_CertificateAuthority_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_KeyUsage_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyUsage (ULONG * aKeyUsage) { return smth get_KeyUsage (aKeyUsage); }
#define COM_FORWARD_ICertificate_GETTER_KeyUsage_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_KeyUsage_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_KeyUsage_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_KeyUsage_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_ExtendedKeyUsage_TO(smth) HRESULT STDMETHODCALLTYPE get_ExtendedKeyUsage (SAFEARRAY * * aExtendedKeyUsage) { return smth get_ExtendedKeyUsage (aExtendedKeyUsage); }
#define COM_FORWARD_ICertificate_GETTER_ExtendedKeyUsage_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_ExtendedKeyUsage_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_ExtendedKeyUsage_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_ExtendedKeyUsage_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_RawCertData_TO(smth) HRESULT STDMETHODCALLTYPE get_RawCertData (SAFEARRAY * * aRawCertData) { return smth get_RawCertData (aRawCertData); }
#define COM_FORWARD_ICertificate_GETTER_RawCertData_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_RawCertData_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_RawCertData_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_RawCertData_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_SelfSigned_TO(smth) HRESULT STDMETHODCALLTYPE get_SelfSigned (BOOL * aSelfSigned) { return smth get_SelfSigned (aSelfSigned); }
#define COM_FORWARD_ICertificate_GETTER_SelfSigned_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_SelfSigned_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_SelfSigned_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_SelfSigned_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_Trusted_TO(smth) HRESULT STDMETHODCALLTYPE get_Trusted (BOOL * aTrusted) { return smth get_Trusted (aTrusted); }
#define COM_FORWARD_ICertificate_GETTER_Trusted_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_Trusted_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_Trusted_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_Trusted_TO (base::)
#define COM_FORWARD_ICertificate_GETTER_Expired_TO(smth) HRESULT STDMETHODCALLTYPE get_Expired (BOOL * aExpired) { return smth get_Expired (aExpired); }
#define COM_FORWARD_ICertificate_GETTER_Expired_TO_OBJ(obj) COM_FORWARD_ICertificate_GETTER_Expired_TO ((obj)->)
#define COM_FORWARD_ICertificate_GETTER_Expired_TO_BASE(base) COM_FORWARD_ICertificate_GETTER_Expired_TO (base::)
#define COM_FORWARD_ICertificate_IsCurrentlyExpired_TO(smth) HRESULT STDMETHODCALLTYPE IsCurrentlyExpired (BOOL * aResult) { return smth IsCurrentlyExpired (aResult); }
#define COM_FORWARD_ICertificate_IsCurrentlyExpired_TO_OBJ(obj) COM_FORWARD_ICertificate_IsCurrentlyExpired_TO ((obj)->)
#define COM_FORWARD_ICertificate_IsCurrentlyExpired_TO_BASE(base) COM_FORWARD_ICertificate_IsCurrentlyExpired_TO (base::)
#define COM_FORWARD_ICertificate_QueryInfo_TO(smth) HRESULT STDMETHODCALLTYPE QueryInfo (LONG aWhat, BSTR * aResult) { return smth QueryInfo (aWhat, aResult); }
#define COM_FORWARD_ICertificate_QueryInfo_TO_OBJ(obj) COM_FORWARD_ICertificate_QueryInfo_TO ((obj)->)
#define COM_FORWARD_ICertificate_QueryInfo_TO_BASE(base) COM_FORWARD_ICertificate_QueryInfo_TO (base::)
#define COM_FORWARD_ICertificate_TO(smth) COM_FORWARD_ICertificate_GETTER_VersionNumber_TO (smth) COM_FORWARD_ICertificate_GETTER_SerialNumber_TO (smth) COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmOID_TO (smth) COM_FORWARD_ICertificate_GETTER_SignatureAlgorithmName_TO (smth) COM_FORWARD_ICertificate_GETTER_IssuerName_TO (smth) COM_FORWARD_ICertificate_GETTER_SubjectName_TO (smth) COM_FORWARD_ICertificate_GETTER_FriendlyName_TO (smth) COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotBefore_TO (smth) COM_FORWARD_ICertificate_GETTER_ValidityPeriodNotAfter_TO (smth) COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithmOID_TO (smth) COM_FORWARD_ICertificate_GETTER_PublicKeyAlgorithm_TO (smth) COM_FORWARD_ICertificate_GETTER_SubjectPublicKey_TO (smth) COM_FORWARD_ICertificate_GETTER_IssuerUniqueIdentifier_TO (smth) COM_FORWARD_ICertificate_GETTER_SubjectUniqueIdentifier_TO (smth) COM_FORWARD_ICertificate_GETTER_CertificateAuthority_TO (smth) COM_FORWARD_ICertificate_GETTER_KeyUsage_TO (smth) COM_FORWARD_ICertificate_GETTER_ExtendedKeyUsage_TO (smth) COM_FORWARD_ICertificate_GETTER_RawCertData_TO (smth) COM_FORWARD_ICertificate_GETTER_SelfSigned_TO (smth) COM_FORWARD_ICertificate_GETTER_Trusted_TO (smth) COM_FORWARD_ICertificate_GETTER_Expired_TO (smth) COM_FORWARD_ICertificate_IsCurrentlyExpired_TO (smth) COM_FORWARD_ICertificate_QueryInfo_TO (smth) 
#define COM_FORWARD_ICertificate_TO_OBJ(obj) COM_FORWARD_ICertificate_TO ((obj)->)
#define COM_FORWARD_ICertificate_TO_BASE(base) COM_FORWARD_ICertificate_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0013_v0_0_s_ifspec;

#ifndef __IAppliance_INTERFACE_DEFINED__
#define __IAppliance_INTERFACE_DEFINED__

/* interface IAppliance */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IAppliance;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("86a98347-7619-41aa-aece-b21ac5c1a7e6")
    IAppliance : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *aPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Disks( 
            /* [retval][out] */ SAFEARRAY * *aDisks) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VirtualSystemDescriptions( 
            /* [retval][out] */ SAFEARRAY * *aVirtualSystemDescriptions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Machines( 
            /* [retval][out] */ SAFEARRAY * *aMachines) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Certificate( 
            /* [retval][out] */ ICertificate **aCertificate) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IAppliance( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IAppliance( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IAppliance( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IAppliance( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IAppliance( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IAppliance( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IAppliance( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IAppliance( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Read( 
            /* [in] */ BSTR aFile,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Interpret( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportMachines( 
            /* [in] */ SAFEARRAY * aOptions,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateVFSExplorer( 
            /* [in] */ BSTR aURI,
            /* [retval][out] */ IVFSExplorer **aExplorer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Write( 
            /* [in] */ BSTR aFormat,
            /* [in] */ SAFEARRAY * aOptions,
            /* [in] */ BSTR aPath,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetWarnings( 
            /* [retval][out] */ SAFEARRAY * *aWarnings) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPasswordIds( 
            /* [retval][out] */ SAFEARRAY * *aIdentifiers) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMediumIdsForPasswordId( 
            /* [in] */ BSTR aPasswordId,
            /* [retval][out] */ SAFEARRAY * *aIdentifiers) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddPasswords( 
            /* [in] */ SAFEARRAY * aIdentifiers,
            /* [in] */ SAFEARRAY * aPasswords) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateVirtualSystemDescriptions( 
            /* [in] */ ULONG aRequested,
            /* [retval][out] */ ULONG *aCreated) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IAppliance( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IAppliance( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IAppliance( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IAppliance( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IAppliance( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IAppliance( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IAppliance( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IApplianceVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAppliance * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAppliance * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAppliance * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAppliance * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAppliance * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAppliance * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAppliance * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IAppliance, get_Path)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IAppliance * This,
            /* [retval][out] */ BSTR *aPath);
        
        DECLSPEC_XFGVIRT(IAppliance, get_Disks)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Disks )( 
            IAppliance * This,
            /* [retval][out] */ SAFEARRAY * *aDisks);
        
        DECLSPEC_XFGVIRT(IAppliance, get_VirtualSystemDescriptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VirtualSystemDescriptions )( 
            IAppliance * This,
            /* [retval][out] */ SAFEARRAY * *aVirtualSystemDescriptions);
        
        DECLSPEC_XFGVIRT(IAppliance, get_Machines)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Machines )( 
            IAppliance * This,
            /* [retval][out] */ SAFEARRAY * *aMachines);
        
        DECLSPEC_XFGVIRT(IAppliance, get_Certificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Certificate )( 
            IAppliance * This,
            /* [retval][out] */ ICertificate **aCertificate);
        
        DECLSPEC_XFGVIRT(IAppliance, get_InternalAndReservedAttribute1IAppliance)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IAppliance )( 
            IAppliance * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAppliance, get_InternalAndReservedAttribute2IAppliance)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IAppliance )( 
            IAppliance * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAppliance, get_InternalAndReservedAttribute3IAppliance)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IAppliance )( 
            IAppliance * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAppliance, get_InternalAndReservedAttribute4IAppliance)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IAppliance )( 
            IAppliance * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAppliance, get_InternalAndReservedAttribute5IAppliance)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IAppliance )( 
            IAppliance * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAppliance, get_InternalAndReservedAttribute6IAppliance)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IAppliance )( 
            IAppliance * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAppliance, get_InternalAndReservedAttribute7IAppliance)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IAppliance )( 
            IAppliance * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAppliance, get_InternalAndReservedAttribute8IAppliance)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IAppliance )( 
            IAppliance * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAppliance, Read)
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IAppliance * This,
            /* [in] */ BSTR aFile,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IAppliance, Interpret)
        HRESULT ( STDMETHODCALLTYPE *Interpret )( 
            IAppliance * This);
        
        DECLSPEC_XFGVIRT(IAppliance, ImportMachines)
        HRESULT ( STDMETHODCALLTYPE *ImportMachines )( 
            IAppliance * This,
            /* [in] */ SAFEARRAY * aOptions,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IAppliance, CreateVFSExplorer)
        HRESULT ( STDMETHODCALLTYPE *CreateVFSExplorer )( 
            IAppliance * This,
            /* [in] */ BSTR aURI,
            /* [retval][out] */ IVFSExplorer **aExplorer);
        
        DECLSPEC_XFGVIRT(IAppliance, Write)
        HRESULT ( STDMETHODCALLTYPE *Write )( 
            IAppliance * This,
            /* [in] */ BSTR aFormat,
            /* [in] */ SAFEARRAY * aOptions,
            /* [in] */ BSTR aPath,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IAppliance, GetWarnings)
        HRESULT ( STDMETHODCALLTYPE *GetWarnings )( 
            IAppliance * This,
            /* [retval][out] */ SAFEARRAY * *aWarnings);
        
        DECLSPEC_XFGVIRT(IAppliance, GetPasswordIds)
        HRESULT ( STDMETHODCALLTYPE *GetPasswordIds )( 
            IAppliance * This,
            /* [retval][out] */ SAFEARRAY * *aIdentifiers);
        
        DECLSPEC_XFGVIRT(IAppliance, GetMediumIdsForPasswordId)
        HRESULT ( STDMETHODCALLTYPE *GetMediumIdsForPasswordId )( 
            IAppliance * This,
            /* [in] */ BSTR aPasswordId,
            /* [retval][out] */ SAFEARRAY * *aIdentifiers);
        
        DECLSPEC_XFGVIRT(IAppliance, AddPasswords)
        HRESULT ( STDMETHODCALLTYPE *AddPasswords )( 
            IAppliance * This,
            /* [in] */ SAFEARRAY * aIdentifiers,
            /* [in] */ SAFEARRAY * aPasswords);
        
        DECLSPEC_XFGVIRT(IAppliance, CreateVirtualSystemDescriptions)
        HRESULT ( STDMETHODCALLTYPE *CreateVirtualSystemDescriptions )( 
            IAppliance * This,
            /* [in] */ ULONG aRequested,
            /* [retval][out] */ ULONG *aCreated);
        
        DECLSPEC_XFGVIRT(IAppliance, InternalAndReservedMethod1IAppliance)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IAppliance )( 
            IAppliance * This);
        
        DECLSPEC_XFGVIRT(IAppliance, InternalAndReservedMethod2IAppliance)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IAppliance )( 
            IAppliance * This);
        
        DECLSPEC_XFGVIRT(IAppliance, InternalAndReservedMethod3IAppliance)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IAppliance )( 
            IAppliance * This);
        
        DECLSPEC_XFGVIRT(IAppliance, InternalAndReservedMethod4IAppliance)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IAppliance )( 
            IAppliance * This);
        
        DECLSPEC_XFGVIRT(IAppliance, InternalAndReservedMethod5IAppliance)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IAppliance )( 
            IAppliance * This);
        
        DECLSPEC_XFGVIRT(IAppliance, InternalAndReservedMethod6IAppliance)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IAppliance )( 
            IAppliance * This);
        
        DECLSPEC_XFGVIRT(IAppliance, InternalAndReservedMethod7IAppliance)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IAppliance )( 
            IAppliance * This);
        
        END_INTERFACE
    } IApplianceVtbl;

    interface IAppliance
    {
        CONST_VTBL struct IApplianceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAppliance_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAppliance_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAppliance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAppliance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAppliance_get_Path(This,aPath)	\
    ( (This)->lpVtbl -> get_Path(This,aPath) ) 

#define IAppliance_get_Disks(This,aDisks)	\
    ( (This)->lpVtbl -> get_Disks(This,aDisks) ) 

#define IAppliance_get_VirtualSystemDescriptions(This,aVirtualSystemDescriptions)	\
    ( (This)->lpVtbl -> get_VirtualSystemDescriptions(This,aVirtualSystemDescriptions) ) 

#define IAppliance_get_Machines(This,aMachines)	\
    ( (This)->lpVtbl -> get_Machines(This,aMachines) ) 

#define IAppliance_get_Certificate(This,aCertificate)	\
    ( (This)->lpVtbl -> get_Certificate(This,aCertificate) ) 

#define IAppliance_get_InternalAndReservedAttribute1IAppliance(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IAppliance(This,aReserved) ) 

#define IAppliance_get_InternalAndReservedAttribute2IAppliance(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IAppliance(This,aReserved) ) 

#define IAppliance_get_InternalAndReservedAttribute3IAppliance(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IAppliance(This,aReserved) ) 

#define IAppliance_get_InternalAndReservedAttribute4IAppliance(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IAppliance(This,aReserved) ) 

#define IAppliance_get_InternalAndReservedAttribute5IAppliance(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IAppliance(This,aReserved) ) 

#define IAppliance_get_InternalAndReservedAttribute6IAppliance(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IAppliance(This,aReserved) ) 

#define IAppliance_get_InternalAndReservedAttribute7IAppliance(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IAppliance(This,aReserved) ) 

#define IAppliance_get_InternalAndReservedAttribute8IAppliance(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IAppliance(This,aReserved) ) 

#define IAppliance_Read(This,aFile,aProgress)	\
    ( (This)->lpVtbl -> Read(This,aFile,aProgress) ) 

#define IAppliance_Interpret(This)	\
    ( (This)->lpVtbl -> Interpret(This) ) 

#define IAppliance_ImportMachines(This,aOptions,aProgress)	\
    ( (This)->lpVtbl -> ImportMachines(This,aOptions,aProgress) ) 

#define IAppliance_CreateVFSExplorer(This,aURI,aExplorer)	\
    ( (This)->lpVtbl -> CreateVFSExplorer(This,aURI,aExplorer) ) 

#define IAppliance_Write(This,aFormat,aOptions,aPath,aProgress)	\
    ( (This)->lpVtbl -> Write(This,aFormat,aOptions,aPath,aProgress) ) 

#define IAppliance_GetWarnings(This,aWarnings)	\
    ( (This)->lpVtbl -> GetWarnings(This,aWarnings) ) 

#define IAppliance_GetPasswordIds(This,aIdentifiers)	\
    ( (This)->lpVtbl -> GetPasswordIds(This,aIdentifiers) ) 

#define IAppliance_GetMediumIdsForPasswordId(This,aPasswordId,aIdentifiers)	\
    ( (This)->lpVtbl -> GetMediumIdsForPasswordId(This,aPasswordId,aIdentifiers) ) 

#define IAppliance_AddPasswords(This,aIdentifiers,aPasswords)	\
    ( (This)->lpVtbl -> AddPasswords(This,aIdentifiers,aPasswords) ) 

#define IAppliance_CreateVirtualSystemDescriptions(This,aRequested,aCreated)	\
    ( (This)->lpVtbl -> CreateVirtualSystemDescriptions(This,aRequested,aCreated) ) 

#define IAppliance_InternalAndReservedMethod1IAppliance(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IAppliance(This) ) 

#define IAppliance_InternalAndReservedMethod2IAppliance(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IAppliance(This) ) 

#define IAppliance_InternalAndReservedMethod3IAppliance(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IAppliance(This) ) 

#define IAppliance_InternalAndReservedMethod4IAppliance(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IAppliance(This) ) 

#define IAppliance_InternalAndReservedMethod5IAppliance(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IAppliance(This) ) 

#define IAppliance_InternalAndReservedMethod6IAppliance(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IAppliance(This) ) 

#define IAppliance_InternalAndReservedMethod7IAppliance(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IAppliance(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAppliance_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0014 */
/* [local] */ 

#define COM_FORWARD_IAppliance_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }
#define COM_FORWARD_IAppliance_GETTER_Path_TO_OBJ(obj) COM_FORWARD_IAppliance_GETTER_Path_TO ((obj)->)
#define COM_FORWARD_IAppliance_GETTER_Path_TO_BASE(base) COM_FORWARD_IAppliance_GETTER_Path_TO (base::)
#define COM_FORWARD_IAppliance_GETTER_Disks_TO(smth) HRESULT STDMETHODCALLTYPE get_Disks (SAFEARRAY * * aDisks) { return smth get_Disks (aDisks); }
#define COM_FORWARD_IAppliance_GETTER_Disks_TO_OBJ(obj) COM_FORWARD_IAppliance_GETTER_Disks_TO ((obj)->)
#define COM_FORWARD_IAppliance_GETTER_Disks_TO_BASE(base) COM_FORWARD_IAppliance_GETTER_Disks_TO (base::)
#define COM_FORWARD_IAppliance_GETTER_VirtualSystemDescriptions_TO(smth) HRESULT STDMETHODCALLTYPE get_VirtualSystemDescriptions (SAFEARRAY * * aVirtualSystemDescriptions) { return smth get_VirtualSystemDescriptions (aVirtualSystemDescriptions); }
#define COM_FORWARD_IAppliance_GETTER_VirtualSystemDescriptions_TO_OBJ(obj) COM_FORWARD_IAppliance_GETTER_VirtualSystemDescriptions_TO ((obj)->)
#define COM_FORWARD_IAppliance_GETTER_VirtualSystemDescriptions_TO_BASE(base) COM_FORWARD_IAppliance_GETTER_VirtualSystemDescriptions_TO (base::)
#define COM_FORWARD_IAppliance_GETTER_Machines_TO(smth) HRESULT STDMETHODCALLTYPE get_Machines (SAFEARRAY * * aMachines) { return smth get_Machines (aMachines); }
#define COM_FORWARD_IAppliance_GETTER_Machines_TO_OBJ(obj) COM_FORWARD_IAppliance_GETTER_Machines_TO ((obj)->)
#define COM_FORWARD_IAppliance_GETTER_Machines_TO_BASE(base) COM_FORWARD_IAppliance_GETTER_Machines_TO (base::)
#define COM_FORWARD_IAppliance_GETTER_Certificate_TO(smth) HRESULT STDMETHODCALLTYPE get_Certificate (ICertificate * * aCertificate) { return smth get_Certificate (aCertificate); }
#define COM_FORWARD_IAppliance_GETTER_Certificate_TO_OBJ(obj) COM_FORWARD_IAppliance_GETTER_Certificate_TO ((obj)->)
#define COM_FORWARD_IAppliance_GETTER_Certificate_TO_BASE(base) COM_FORWARD_IAppliance_GETTER_Certificate_TO (base::)
#define COM_FORWARD_IAppliance_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (BSTR aFile, IProgress * * aProgress) { return smth Read (aFile, aProgress); }
#define COM_FORWARD_IAppliance_Read_TO_OBJ(obj) COM_FORWARD_IAppliance_Read_TO ((obj)->)
#define COM_FORWARD_IAppliance_Read_TO_BASE(base) COM_FORWARD_IAppliance_Read_TO (base::)
#define COM_FORWARD_IAppliance_Interpret_TO(smth) HRESULT STDMETHODCALLTYPE Interpret() { return smth Interpret(); }
#define COM_FORWARD_IAppliance_Interpret_TO_OBJ(obj) COM_FORWARD_IAppliance_Interpret_TO ((obj)->)
#define COM_FORWARD_IAppliance_Interpret_TO_BASE(base) COM_FORWARD_IAppliance_Interpret_TO (base::)
#define COM_FORWARD_IAppliance_ImportMachines_TO(smth) HRESULT STDMETHODCALLTYPE ImportMachines (SAFEARRAY * * aOptions, IProgress * * aProgress) { return smth ImportMachines (aOptions, aProgress); }
#define COM_FORWARD_IAppliance_ImportMachines_TO_OBJ(obj) COM_FORWARD_IAppliance_ImportMachines_TO ((obj)->)
#define COM_FORWARD_IAppliance_ImportMachines_TO_BASE(base) COM_FORWARD_IAppliance_ImportMachines_TO (base::)
#define COM_FORWARD_IAppliance_CreateVFSExplorer_TO(smth) HRESULT STDMETHODCALLTYPE CreateVFSExplorer (BSTR aURI, IVFSExplorer * * aExplorer) { return smth CreateVFSExplorer (aURI, aExplorer); }
#define COM_FORWARD_IAppliance_CreateVFSExplorer_TO_OBJ(obj) COM_FORWARD_IAppliance_CreateVFSExplorer_TO ((obj)->)
#define COM_FORWARD_IAppliance_CreateVFSExplorer_TO_BASE(base) COM_FORWARD_IAppliance_CreateVFSExplorer_TO (base::)
#define COM_FORWARD_IAppliance_Write_TO(smth) HRESULT STDMETHODCALLTYPE Write (BSTR aFormat, SAFEARRAY * * aOptions, BSTR aPath, IProgress * * aProgress) { return smth Write (aFormat, aOptions, aPath, aProgress); }
#define COM_FORWARD_IAppliance_Write_TO_OBJ(obj) COM_FORWARD_IAppliance_Write_TO ((obj)->)
#define COM_FORWARD_IAppliance_Write_TO_BASE(base) COM_FORWARD_IAppliance_Write_TO (base::)
#define COM_FORWARD_IAppliance_GetWarnings_TO(smth) HRESULT STDMETHODCALLTYPE GetWarnings (SAFEARRAY * * aWarnings) { return smth GetWarnings (aWarnings); }
#define COM_FORWARD_IAppliance_GetWarnings_TO_OBJ(obj) COM_FORWARD_IAppliance_GetWarnings_TO ((obj)->)
#define COM_FORWARD_IAppliance_GetWarnings_TO_BASE(base) COM_FORWARD_IAppliance_GetWarnings_TO (base::)
#define COM_FORWARD_IAppliance_GetPasswordIds_TO(smth) HRESULT STDMETHODCALLTYPE GetPasswordIds (SAFEARRAY * * aIdentifiers) { return smth GetPasswordIds (aIdentifiers); }
#define COM_FORWARD_IAppliance_GetPasswordIds_TO_OBJ(obj) COM_FORWARD_IAppliance_GetPasswordIds_TO ((obj)->)
#define COM_FORWARD_IAppliance_GetPasswordIds_TO_BASE(base) COM_FORWARD_IAppliance_GetPasswordIds_TO (base::)
#define COM_FORWARD_IAppliance_GetMediumIdsForPasswordId_TO(smth) HRESULT STDMETHODCALLTYPE GetMediumIdsForPasswordId (BSTR aPasswordId, SAFEARRAY * * aIdentifiers) { return smth GetMediumIdsForPasswordId (aPasswordId, aIdentifiers); }
#define COM_FORWARD_IAppliance_GetMediumIdsForPasswordId_TO_OBJ(obj) COM_FORWARD_IAppliance_GetMediumIdsForPasswordId_TO ((obj)->)
#define COM_FORWARD_IAppliance_GetMediumIdsForPasswordId_TO_BASE(base) COM_FORWARD_IAppliance_GetMediumIdsForPasswordId_TO (base::)
#define COM_FORWARD_IAppliance_AddPasswords_TO(smth) HRESULT STDMETHODCALLTYPE AddPasswords (SAFEARRAY * * aIdentifiers, SAFEARRAY * * aPasswords) { return smth AddPasswords (aIdentifiers, aPasswords); }
#define COM_FORWARD_IAppliance_AddPasswords_TO_OBJ(obj) COM_FORWARD_IAppliance_AddPasswords_TO ((obj)->)
#define COM_FORWARD_IAppliance_AddPasswords_TO_BASE(base) COM_FORWARD_IAppliance_AddPasswords_TO (base::)
#define COM_FORWARD_IAppliance_CreateVirtualSystemDescriptions_TO(smth) HRESULT STDMETHODCALLTYPE CreateVirtualSystemDescriptions (ULONG aRequested, ULONG * aCreated) { return smth CreateVirtualSystemDescriptions (aRequested, aCreated); }
#define COM_FORWARD_IAppliance_CreateVirtualSystemDescriptions_TO_OBJ(obj) COM_FORWARD_IAppliance_CreateVirtualSystemDescriptions_TO ((obj)->)
#define COM_FORWARD_IAppliance_CreateVirtualSystemDescriptions_TO_BASE(base) COM_FORWARD_IAppliance_CreateVirtualSystemDescriptions_TO (base::)
#define COM_FORWARD_IAppliance_TO(smth) COM_FORWARD_IAppliance_GETTER_Path_TO (smth) COM_FORWARD_IAppliance_GETTER_Disks_TO (smth) COM_FORWARD_IAppliance_GETTER_VirtualSystemDescriptions_TO (smth) COM_FORWARD_IAppliance_GETTER_Machines_TO (smth) COM_FORWARD_IAppliance_GETTER_Certificate_TO (smth) COM_FORWARD_IAppliance_Read_TO (smth) COM_FORWARD_IAppliance_Interpret_TO (smth) COM_FORWARD_IAppliance_ImportMachines_TO (smth) COM_FORWARD_IAppliance_CreateVFSExplorer_TO (smth) COM_FORWARD_IAppliance_Write_TO (smth) COM_FORWARD_IAppliance_GetWarnings_TO (smth) COM_FORWARD_IAppliance_GetPasswordIds_TO (smth) COM_FORWARD_IAppliance_GetMediumIdsForPasswordId_TO (smth) COM_FORWARD_IAppliance_AddPasswords_TO (smth) COM_FORWARD_IAppliance_CreateVirtualSystemDescriptions_TO (smth) 
#define COM_FORWARD_IAppliance_TO_OBJ(obj) COM_FORWARD_IAppliance_TO ((obj)->)
#define COM_FORWARD_IAppliance_TO_BASE(base) COM_FORWARD_IAppliance_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0014_v0_0_s_ifspec;

#ifndef __IVirtualSystemDescription_INTERFACE_DEFINED__
#define __IVirtualSystemDescription_INTERFACE_DEFINED__

/* interface IVirtualSystemDescription */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVirtualSystemDescription;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("01510f40-c196-4d26-b8db-4c8c389f1f82")
    IVirtualSystemDescription : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ ULONG *aCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IVirtualSystemDescription( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IVirtualSystemDescription( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IVirtualSystemDescription( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IVirtualSystemDescription( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDescription( 
            /* [out] */ SAFEARRAY * *aTypes,
            /* [out] */ SAFEARRAY * *aRefs,
            /* [out] */ SAFEARRAY * *aOVFValues,
            /* [out] */ SAFEARRAY * *aVBoxValues,
            /* [out] */ SAFEARRAY * *aExtraConfigValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDescriptionByType( 
            /* [in] */ VirtualSystemDescriptionType aType,
            /* [out] */ SAFEARRAY * *aTypes,
            /* [out] */ SAFEARRAY * *aRefs,
            /* [out] */ SAFEARRAY * *aOVFValues,
            /* [out] */ SAFEARRAY * *aVBoxValues,
            /* [out] */ SAFEARRAY * *aExtraConfigValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveDescriptionByType( 
            /* [in] */ VirtualSystemDescriptionType aType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetValuesByType( 
            /* [in] */ VirtualSystemDescriptionType aType,
            /* [in] */ VirtualSystemDescriptionValueType aWhich,
            /* [retval][out] */ SAFEARRAY * *aValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetFinalValues( 
            /* [in] */ SAFEARRAY * aEnabled,
            /* [in] */ SAFEARRAY * aVBoxValues,
            /* [in] */ SAFEARRAY * aExtraConfigValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddDescription( 
            /* [in] */ VirtualSystemDescriptionType aType,
            /* [in] */ BSTR aVBoxValue,
            /* [in] */ BSTR aExtraConfigValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IVirtualSystemDescription( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IVirtualSystemDescription( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IVirtualSystemDescription( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IVirtualSystemDescription( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVirtualSystemDescriptionVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVirtualSystemDescription * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVirtualSystemDescription * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVirtualSystemDescription * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IVirtualSystemDescription * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IVirtualSystemDescription * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IVirtualSystemDescription * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IVirtualSystemDescription * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IVirtualSystemDescription * This,
            /* [retval][out] */ ULONG *aCount);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, get_InternalAndReservedAttribute1IVirtualSystemDescription)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IVirtualSystemDescription )( 
            IVirtualSystemDescription * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, get_InternalAndReservedAttribute2IVirtualSystemDescription)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IVirtualSystemDescription )( 
            IVirtualSystemDescription * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, get_InternalAndReservedAttribute3IVirtualSystemDescription)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IVirtualSystemDescription )( 
            IVirtualSystemDescription * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, get_InternalAndReservedAttribute4IVirtualSystemDescription)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IVirtualSystemDescription )( 
            IVirtualSystemDescription * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, GetDescription)
        HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
            IVirtualSystemDescription * This,
            /* [out] */ SAFEARRAY * *aTypes,
            /* [out] */ SAFEARRAY * *aRefs,
            /* [out] */ SAFEARRAY * *aOVFValues,
            /* [out] */ SAFEARRAY * *aVBoxValues,
            /* [out] */ SAFEARRAY * *aExtraConfigValues);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, GetDescriptionByType)
        HRESULT ( STDMETHODCALLTYPE *GetDescriptionByType )( 
            IVirtualSystemDescription * This,
            /* [in] */ VirtualSystemDescriptionType aType,
            /* [out] */ SAFEARRAY * *aTypes,
            /* [out] */ SAFEARRAY * *aRefs,
            /* [out] */ SAFEARRAY * *aOVFValues,
            /* [out] */ SAFEARRAY * *aVBoxValues,
            /* [out] */ SAFEARRAY * *aExtraConfigValues);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, RemoveDescriptionByType)
        HRESULT ( STDMETHODCALLTYPE *RemoveDescriptionByType )( 
            IVirtualSystemDescription * This,
            /* [in] */ VirtualSystemDescriptionType aType);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, GetValuesByType)
        HRESULT ( STDMETHODCALLTYPE *GetValuesByType )( 
            IVirtualSystemDescription * This,
            /* [in] */ VirtualSystemDescriptionType aType,
            /* [in] */ VirtualSystemDescriptionValueType aWhich,
            /* [retval][out] */ SAFEARRAY * *aValues);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, SetFinalValues)
        HRESULT ( STDMETHODCALLTYPE *SetFinalValues )( 
            IVirtualSystemDescription * This,
            /* [in] */ SAFEARRAY * aEnabled,
            /* [in] */ SAFEARRAY * aVBoxValues,
            /* [in] */ SAFEARRAY * aExtraConfigValues);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, AddDescription)
        HRESULT ( STDMETHODCALLTYPE *AddDescription )( 
            IVirtualSystemDescription * This,
            /* [in] */ VirtualSystemDescriptionType aType,
            /* [in] */ BSTR aVBoxValue,
            /* [in] */ BSTR aExtraConfigValue);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, InternalAndReservedMethod1IVirtualSystemDescription)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IVirtualSystemDescription )( 
            IVirtualSystemDescription * This);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, InternalAndReservedMethod2IVirtualSystemDescription)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IVirtualSystemDescription )( 
            IVirtualSystemDescription * This);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, InternalAndReservedMethod3IVirtualSystemDescription)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IVirtualSystemDescription )( 
            IVirtualSystemDescription * This);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescription, InternalAndReservedMethod4IVirtualSystemDescription)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IVirtualSystemDescription )( 
            IVirtualSystemDescription * This);
        
        END_INTERFACE
    } IVirtualSystemDescriptionVtbl;

    interface IVirtualSystemDescription
    {
        CONST_VTBL struct IVirtualSystemDescriptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVirtualSystemDescription_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IVirtualSystemDescription_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IVirtualSystemDescription_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IVirtualSystemDescription_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IVirtualSystemDescription_get_Count(This,aCount)	\
    ( (This)->lpVtbl -> get_Count(This,aCount) ) 

#define IVirtualSystemDescription_get_InternalAndReservedAttribute1IVirtualSystemDescription(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IVirtualSystemDescription(This,aReserved) ) 

#define IVirtualSystemDescription_get_InternalAndReservedAttribute2IVirtualSystemDescription(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IVirtualSystemDescription(This,aReserved) ) 

#define IVirtualSystemDescription_get_InternalAndReservedAttribute3IVirtualSystemDescription(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IVirtualSystemDescription(This,aReserved) ) 

#define IVirtualSystemDescription_get_InternalAndReservedAttribute4IVirtualSystemDescription(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IVirtualSystemDescription(This,aReserved) ) 

#define IVirtualSystemDescription_GetDescription(This,aTypes,aRefs,aOVFValues,aVBoxValues,aExtraConfigValues)	\
    ( (This)->lpVtbl -> GetDescription(This,aTypes,aRefs,aOVFValues,aVBoxValues,aExtraConfigValues) ) 

#define IVirtualSystemDescription_GetDescriptionByType(This,aType,aTypes,aRefs,aOVFValues,aVBoxValues,aExtraConfigValues)	\
    ( (This)->lpVtbl -> GetDescriptionByType(This,aType,aTypes,aRefs,aOVFValues,aVBoxValues,aExtraConfigValues) ) 

#define IVirtualSystemDescription_RemoveDescriptionByType(This,aType)	\
    ( (This)->lpVtbl -> RemoveDescriptionByType(This,aType) ) 

#define IVirtualSystemDescription_GetValuesByType(This,aType,aWhich,aValues)	\
    ( (This)->lpVtbl -> GetValuesByType(This,aType,aWhich,aValues) ) 

#define IVirtualSystemDescription_SetFinalValues(This,aEnabled,aVBoxValues,aExtraConfigValues)	\
    ( (This)->lpVtbl -> SetFinalValues(This,aEnabled,aVBoxValues,aExtraConfigValues) ) 

#define IVirtualSystemDescription_AddDescription(This,aType,aVBoxValue,aExtraConfigValue)	\
    ( (This)->lpVtbl -> AddDescription(This,aType,aVBoxValue,aExtraConfigValue) ) 

#define IVirtualSystemDescription_InternalAndReservedMethod1IVirtualSystemDescription(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IVirtualSystemDescription(This) ) 

#define IVirtualSystemDescription_InternalAndReservedMethod2IVirtualSystemDescription(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IVirtualSystemDescription(This) ) 

#define IVirtualSystemDescription_InternalAndReservedMethod3IVirtualSystemDescription(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IVirtualSystemDescription(This) ) 

#define IVirtualSystemDescription_InternalAndReservedMethod4IVirtualSystemDescription(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IVirtualSystemDescription(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVirtualSystemDescription_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0015 */
/* [local] */ 

#define COM_FORWARD_IVirtualSystemDescription_GETTER_Count_TO(smth) HRESULT STDMETHODCALLTYPE get_Count (ULONG * aCount) { return smth get_Count (aCount); }
#define COM_FORWARD_IVirtualSystemDescription_GETTER_Count_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_GETTER_Count_TO ((obj)->)
#define COM_FORWARD_IVirtualSystemDescription_GETTER_Count_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_GETTER_Count_TO (base::)
#define COM_FORWARD_IVirtualSystemDescription_GetDescription_TO(smth) HRESULT STDMETHODCALLTYPE GetDescription (SAFEARRAY * * aTypes, SAFEARRAY * * aRefs, SAFEARRAY * * aOVFValues, SAFEARRAY * * aVBoxValues, SAFEARRAY * * aExtraConfigValues) { return smth GetDescription (aTypes, aRefs, aOVFValues, aVBoxValues, aExtraConfigValues); }
#define COM_FORWARD_IVirtualSystemDescription_GetDescription_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_GetDescription_TO ((obj)->)
#define COM_FORWARD_IVirtualSystemDescription_GetDescription_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_GetDescription_TO (base::)
#define COM_FORWARD_IVirtualSystemDescription_GetDescriptionByType_TO(smth) HRESULT STDMETHODCALLTYPE GetDescriptionByType (VirtualSystemDescriptionType aType, SAFEARRAY * * aTypes, SAFEARRAY * * aRefs, SAFEARRAY * * aOVFValues, SAFEARRAY * * aVBoxValues, SAFEARRAY * * aExtraConfigValues) { return smth GetDescriptionByType (aType, aTypes, aRefs, aOVFValues, aVBoxValues, aExtraConfigValues); }
#define COM_FORWARD_IVirtualSystemDescription_GetDescriptionByType_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_GetDescriptionByType_TO ((obj)->)
#define COM_FORWARD_IVirtualSystemDescription_GetDescriptionByType_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_GetDescriptionByType_TO (base::)
#define COM_FORWARD_IVirtualSystemDescription_RemoveDescriptionByType_TO(smth) HRESULT STDMETHODCALLTYPE RemoveDescriptionByType (VirtualSystemDescriptionType aType) { return smth RemoveDescriptionByType (aType); }
#define COM_FORWARD_IVirtualSystemDescription_RemoveDescriptionByType_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_RemoveDescriptionByType_TO ((obj)->)
#define COM_FORWARD_IVirtualSystemDescription_RemoveDescriptionByType_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_RemoveDescriptionByType_TO (base::)
#define COM_FORWARD_IVirtualSystemDescription_GetValuesByType_TO(smth) HRESULT STDMETHODCALLTYPE GetValuesByType (VirtualSystemDescriptionType aType, VirtualSystemDescriptionValueType aWhich, SAFEARRAY * * aValues) { return smth GetValuesByType (aType, aWhich, aValues); }
#define COM_FORWARD_IVirtualSystemDescription_GetValuesByType_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_GetValuesByType_TO ((obj)->)
#define COM_FORWARD_IVirtualSystemDescription_GetValuesByType_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_GetValuesByType_TO (base::)
#define COM_FORWARD_IVirtualSystemDescription_SetFinalValues_TO(smth) HRESULT STDMETHODCALLTYPE SetFinalValues (SAFEARRAY * * aEnabled, SAFEARRAY * * aVBoxValues, SAFEARRAY * * aExtraConfigValues) { return smth SetFinalValues (aEnabled, aVBoxValues, aExtraConfigValues); }
#define COM_FORWARD_IVirtualSystemDescription_SetFinalValues_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_SetFinalValues_TO ((obj)->)
#define COM_FORWARD_IVirtualSystemDescription_SetFinalValues_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_SetFinalValues_TO (base::)
#define COM_FORWARD_IVirtualSystemDescription_AddDescription_TO(smth) HRESULT STDMETHODCALLTYPE AddDescription (VirtualSystemDescriptionType aType, BSTR aVBoxValue, BSTR aExtraConfigValue) { return smth AddDescription (aType, aVBoxValue, aExtraConfigValue); }
#define COM_FORWARD_IVirtualSystemDescription_AddDescription_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_AddDescription_TO ((obj)->)
#define COM_FORWARD_IVirtualSystemDescription_AddDescription_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_AddDescription_TO (base::)
#define COM_FORWARD_IVirtualSystemDescription_TO(smth) COM_FORWARD_IVirtualSystemDescription_GETTER_Count_TO (smth) COM_FORWARD_IVirtualSystemDescription_GetDescription_TO (smth) COM_FORWARD_IVirtualSystemDescription_GetDescriptionByType_TO (smth) COM_FORWARD_IVirtualSystemDescription_RemoveDescriptionByType_TO (smth) COM_FORWARD_IVirtualSystemDescription_GetValuesByType_TO (smth) COM_FORWARD_IVirtualSystemDescription_SetFinalValues_TO (smth) COM_FORWARD_IVirtualSystemDescription_AddDescription_TO (smth) 
#define COM_FORWARD_IVirtualSystemDescription_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescription_TO ((obj)->)
#define COM_FORWARD_IVirtualSystemDescription_TO_BASE(base) COM_FORWARD_IVirtualSystemDescription_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0015_v0_0_s_ifspec;

#ifndef __IUnattended_INTERFACE_DEFINED__
#define __IUnattended_INTERFACE_DEFINED__

/* interface IUnattended */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUnattended;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a71e5822-365b-49ba-bd14-c8d616e6740d")
    IUnattended : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsoPath( 
            /* [retval][out] */ BSTR *aIsoPath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsoPath( 
            /* [in] */ BSTR aIsoPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Machine( 
            /* [retval][out] */ IMachine **aMachine) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Machine( 
            /* [in] */ IMachine *aMachine) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_User( 
            /* [retval][out] */ BSTR *aUser) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_User( 
            /* [in] */ BSTR aUser) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UserPassword( 
            /* [retval][out] */ BSTR *aUserPassword) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UserPassword( 
            /* [in] */ BSTR aUserPassword) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdminPassword( 
            /* [retval][out] */ BSTR *aAdminPassword) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AdminPassword( 
            /* [in] */ BSTR aAdminPassword) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FullUserName( 
            /* [retval][out] */ BSTR *aFullUserName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FullUserName( 
            /* [in] */ BSTR aFullUserName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProductKey( 
            /* [retval][out] */ BSTR *aProductKey) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProductKey( 
            /* [in] */ BSTR aProductKey) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdditionsIsoPath( 
            /* [retval][out] */ BSTR *aAdditionsIsoPath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AdditionsIsoPath( 
            /* [in] */ BSTR aAdditionsIsoPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InstallGuestAdditions( 
            /* [retval][out] */ BOOL *aInstallGuestAdditions) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InstallGuestAdditions( 
            /* [in] */ BOOL aInstallGuestAdditions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ValidationKitIsoPath( 
            /* [retval][out] */ BSTR *aValidationKitIsoPath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ValidationKitIsoPath( 
            /* [in] */ BSTR aValidationKitIsoPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InstallTestExecService( 
            /* [retval][out] */ BOOL *aInstallTestExecService) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InstallTestExecService( 
            /* [in] */ BOOL aInstallTestExecService) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UserPayloadIsoPath( 
            /* [retval][out] */ BSTR *aUserPayloadIsoPath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UserPayloadIsoPath( 
            /* [in] */ BSTR aUserPayloadIsoPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InstallUserPayload( 
            /* [retval][out] */ BOOL *aInstallUserPayload) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InstallUserPayload( 
            /* [in] */ BOOL aInstallUserPayload) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TimeZone( 
            /* [retval][out] */ BSTR *aTimeZone) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TimeZone( 
            /* [in] */ BSTR aTimeZone) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyboardLayout( 
            /* [retval][out] */ BSTR *aKeyboardLayout) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeyboardLayout( 
            /* [in] */ BSTR aKeyboardLayout) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyboardVariant( 
            /* [retval][out] */ BSTR *aKeyboardVariant) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeyboardVariant( 
            /* [in] */ BSTR aKeyboardVariant) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Locale( 
            /* [retval][out] */ BSTR *aLocale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Locale( 
            /* [in] */ BSTR aLocale) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Language( 
            /* [retval][out] */ BSTR *aLanguage) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Language( 
            /* [in] */ BSTR aLanguage) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Country( 
            /* [retval][out] */ BSTR *aCountry) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Country( 
            /* [in] */ BSTR aCountry) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Proxy( 
            /* [retval][out] */ BSTR *aProxy) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Proxy( 
            /* [in] */ BSTR aProxy) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PackageSelectionAdjustments( 
            /* [retval][out] */ BSTR *aPackageSelectionAdjustments) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PackageSelectionAdjustments( 
            /* [in] */ BSTR aPackageSelectionAdjustments) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Hostname( 
            /* [retval][out] */ BSTR *aHostname) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Hostname( 
            /* [in] */ BSTR aHostname) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AuxiliaryBasePath( 
            /* [retval][out] */ BSTR *aAuxiliaryBasePath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AuxiliaryBasePath( 
            /* [in] */ BSTR aAuxiliaryBasePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ImageIndex( 
            /* [retval][out] */ ULONG *aImageIndex) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ImageIndex( 
            /* [in] */ ULONG aImageIndex) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ScriptTemplatePath( 
            /* [retval][out] */ BSTR *aScriptTemplatePath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ScriptTemplatePath( 
            /* [in] */ BSTR aScriptTemplatePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PostInstallScriptTemplatePath( 
            /* [retval][out] */ BSTR *aPostInstallScriptTemplatePath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PostInstallScriptTemplatePath( 
            /* [in] */ BSTR aPostInstallScriptTemplatePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PostInstallCommand( 
            /* [retval][out] */ BSTR *aPostInstallCommand) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PostInstallCommand( 
            /* [in] */ BSTR aPostInstallCommand) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExtraInstallKernelParameters( 
            /* [retval][out] */ BSTR *aExtraInstallKernelParameters) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExtraInstallKernelParameters( 
            /* [in] */ BSTR aExtraInstallKernelParameters) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DetectedOSTypeId( 
            /* [retval][out] */ BSTR *aDetectedOSTypeId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DetectedOSVersion( 
            /* [retval][out] */ BSTR *aDetectedOSVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DetectedOSFlavor( 
            /* [retval][out] */ BSTR *aDetectedOSFlavor) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DetectedOSLanguages( 
            /* [retval][out] */ BSTR *aDetectedOSLanguages) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DetectedOSHints( 
            /* [retval][out] */ BSTR *aDetectedOSHints) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DetectedImageNames( 
            /* [retval][out] */ SAFEARRAY * *aDetectedImageNames) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DetectedImageIndices( 
            /* [retval][out] */ SAFEARRAY * *aDetectedImageIndices) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsUnattendedInstallSupported( 
            /* [retval][out] */ BOOL *aIsUnattendedInstallSupported) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AvoidUpdatesOverNetwork( 
            /* [retval][out] */ BOOL *aAvoidUpdatesOverNetwork) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AvoidUpdatesOverNetwork( 
            /* [in] */ BOOL aAvoidUpdatesOverNetwork) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16IUnattended( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DetectIsoOS( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Prepare( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ConstructMedia( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReconfigureVM( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Done( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IUnattended( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IUnattended( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IUnattended( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IUnattended( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUnattendedVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUnattended * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUnattended * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUnattended * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUnattended * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUnattended * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUnattended * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUnattended * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IUnattended, get_IsoPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsoPath )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aIsoPath);
        
        DECLSPEC_XFGVIRT(IUnattended, put_IsoPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsoPath )( 
            IUnattended * This,
            /* [in] */ BSTR aIsoPath);
        
        DECLSPEC_XFGVIRT(IUnattended, get_Machine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Machine )( 
            IUnattended * This,
            /* [retval][out] */ IMachine **aMachine);
        
        DECLSPEC_XFGVIRT(IUnattended, put_Machine)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Machine )( 
            IUnattended * This,
            /* [in] */ IMachine *aMachine);
        
        DECLSPEC_XFGVIRT(IUnattended, get_User)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_User )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aUser);
        
        DECLSPEC_XFGVIRT(IUnattended, put_User)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_User )( 
            IUnattended * This,
            /* [in] */ BSTR aUser);
        
        DECLSPEC_XFGVIRT(IUnattended, get_UserPassword)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserPassword )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aUserPassword);
        
        DECLSPEC_XFGVIRT(IUnattended, put_UserPassword)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserPassword )( 
            IUnattended * This,
            /* [in] */ BSTR aUserPassword);
        
        DECLSPEC_XFGVIRT(IUnattended, get_AdminPassword)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdminPassword )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aAdminPassword);
        
        DECLSPEC_XFGVIRT(IUnattended, put_AdminPassword)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AdminPassword )( 
            IUnattended * This,
            /* [in] */ BSTR aAdminPassword);
        
        DECLSPEC_XFGVIRT(IUnattended, get_FullUserName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FullUserName )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aFullUserName);
        
        DECLSPEC_XFGVIRT(IUnattended, put_FullUserName)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FullUserName )( 
            IUnattended * This,
            /* [in] */ BSTR aFullUserName);
        
        DECLSPEC_XFGVIRT(IUnattended, get_ProductKey)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProductKey )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aProductKey);
        
        DECLSPEC_XFGVIRT(IUnattended, put_ProductKey)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProductKey )( 
            IUnattended * This,
            /* [in] */ BSTR aProductKey);
        
        DECLSPEC_XFGVIRT(IUnattended, get_AdditionsIsoPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionsIsoPath )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aAdditionsIsoPath);
        
        DECLSPEC_XFGVIRT(IUnattended, put_AdditionsIsoPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AdditionsIsoPath )( 
            IUnattended * This,
            /* [in] */ BSTR aAdditionsIsoPath);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InstallGuestAdditions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InstallGuestAdditions )( 
            IUnattended * This,
            /* [retval][out] */ BOOL *aInstallGuestAdditions);
        
        DECLSPEC_XFGVIRT(IUnattended, put_InstallGuestAdditions)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_InstallGuestAdditions )( 
            IUnattended * This,
            /* [in] */ BOOL aInstallGuestAdditions);
        
        DECLSPEC_XFGVIRT(IUnattended, get_ValidationKitIsoPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValidationKitIsoPath )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aValidationKitIsoPath);
        
        DECLSPEC_XFGVIRT(IUnattended, put_ValidationKitIsoPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ValidationKitIsoPath )( 
            IUnattended * This,
            /* [in] */ BSTR aValidationKitIsoPath);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InstallTestExecService)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InstallTestExecService )( 
            IUnattended * This,
            /* [retval][out] */ BOOL *aInstallTestExecService);
        
        DECLSPEC_XFGVIRT(IUnattended, put_InstallTestExecService)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_InstallTestExecService )( 
            IUnattended * This,
            /* [in] */ BOOL aInstallTestExecService);
        
        DECLSPEC_XFGVIRT(IUnattended, get_UserPayloadIsoPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserPayloadIsoPath )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aUserPayloadIsoPath);
        
        DECLSPEC_XFGVIRT(IUnattended, put_UserPayloadIsoPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserPayloadIsoPath )( 
            IUnattended * This,
            /* [in] */ BSTR aUserPayloadIsoPath);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InstallUserPayload)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InstallUserPayload )( 
            IUnattended * This,
            /* [retval][out] */ BOOL *aInstallUserPayload);
        
        DECLSPEC_XFGVIRT(IUnattended, put_InstallUserPayload)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_InstallUserPayload )( 
            IUnattended * This,
            /* [in] */ BOOL aInstallUserPayload);
        
        DECLSPEC_XFGVIRT(IUnattended, get_TimeZone)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimeZone )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aTimeZone);
        
        DECLSPEC_XFGVIRT(IUnattended, put_TimeZone)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TimeZone )( 
            IUnattended * This,
            /* [in] */ BSTR aTimeZone);
        
        DECLSPEC_XFGVIRT(IUnattended, get_KeyboardLayout)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardLayout )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aKeyboardLayout);
        
        DECLSPEC_XFGVIRT(IUnattended, put_KeyboardLayout)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardLayout )( 
            IUnattended * This,
            /* [in] */ BSTR aKeyboardLayout);
        
        DECLSPEC_XFGVIRT(IUnattended, get_KeyboardVariant)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardVariant )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aKeyboardVariant);
        
        DECLSPEC_XFGVIRT(IUnattended, put_KeyboardVariant)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardVariant )( 
            IUnattended * This,
            /* [in] */ BSTR aKeyboardVariant);
        
        DECLSPEC_XFGVIRT(IUnattended, get_Locale)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Locale )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aLocale);
        
        DECLSPEC_XFGVIRT(IUnattended, put_Locale)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Locale )( 
            IUnattended * This,
            /* [in] */ BSTR aLocale);
        
        DECLSPEC_XFGVIRT(IUnattended, get_Language)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Language )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aLanguage);
        
        DECLSPEC_XFGVIRT(IUnattended, put_Language)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Language )( 
            IUnattended * This,
            /* [in] */ BSTR aLanguage);
        
        DECLSPEC_XFGVIRT(IUnattended, get_Country)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Country )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aCountry);
        
        DECLSPEC_XFGVIRT(IUnattended, put_Country)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Country )( 
            IUnattended * This,
            /* [in] */ BSTR aCountry);
        
        DECLSPEC_XFGVIRT(IUnattended, get_Proxy)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Proxy )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aProxy);
        
        DECLSPEC_XFGVIRT(IUnattended, put_Proxy)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Proxy )( 
            IUnattended * This,
            /* [in] */ BSTR aProxy);
        
        DECLSPEC_XFGVIRT(IUnattended, get_PackageSelectionAdjustments)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PackageSelectionAdjustments )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aPackageSelectionAdjustments);
        
        DECLSPEC_XFGVIRT(IUnattended, put_PackageSelectionAdjustments)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PackageSelectionAdjustments )( 
            IUnattended * This,
            /* [in] */ BSTR aPackageSelectionAdjustments);
        
        DECLSPEC_XFGVIRT(IUnattended, get_Hostname)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Hostname )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aHostname);
        
        DECLSPEC_XFGVIRT(IUnattended, put_Hostname)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Hostname )( 
            IUnattended * This,
            /* [in] */ BSTR aHostname);
        
        DECLSPEC_XFGVIRT(IUnattended, get_AuxiliaryBasePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AuxiliaryBasePath )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aAuxiliaryBasePath);
        
        DECLSPEC_XFGVIRT(IUnattended, put_AuxiliaryBasePath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AuxiliaryBasePath )( 
            IUnattended * This,
            /* [in] */ BSTR aAuxiliaryBasePath);
        
        DECLSPEC_XFGVIRT(IUnattended, get_ImageIndex)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageIndex )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aImageIndex);
        
        DECLSPEC_XFGVIRT(IUnattended, put_ImageIndex)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageIndex )( 
            IUnattended * This,
            /* [in] */ ULONG aImageIndex);
        
        DECLSPEC_XFGVIRT(IUnattended, get_ScriptTemplatePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScriptTemplatePath )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aScriptTemplatePath);
        
        DECLSPEC_XFGVIRT(IUnattended, put_ScriptTemplatePath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScriptTemplatePath )( 
            IUnattended * This,
            /* [in] */ BSTR aScriptTemplatePath);
        
        DECLSPEC_XFGVIRT(IUnattended, get_PostInstallScriptTemplatePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PostInstallScriptTemplatePath )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aPostInstallScriptTemplatePath);
        
        DECLSPEC_XFGVIRT(IUnattended, put_PostInstallScriptTemplatePath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PostInstallScriptTemplatePath )( 
            IUnattended * This,
            /* [in] */ BSTR aPostInstallScriptTemplatePath);
        
        DECLSPEC_XFGVIRT(IUnattended, get_PostInstallCommand)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PostInstallCommand )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aPostInstallCommand);
        
        DECLSPEC_XFGVIRT(IUnattended, put_PostInstallCommand)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PostInstallCommand )( 
            IUnattended * This,
            /* [in] */ BSTR aPostInstallCommand);
        
        DECLSPEC_XFGVIRT(IUnattended, get_ExtraInstallKernelParameters)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtraInstallKernelParameters )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aExtraInstallKernelParameters);
        
        DECLSPEC_XFGVIRT(IUnattended, put_ExtraInstallKernelParameters)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtraInstallKernelParameters )( 
            IUnattended * This,
            /* [in] */ BSTR aExtraInstallKernelParameters);
        
        DECLSPEC_XFGVIRT(IUnattended, get_DetectedOSTypeId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DetectedOSTypeId )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aDetectedOSTypeId);
        
        DECLSPEC_XFGVIRT(IUnattended, get_DetectedOSVersion)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DetectedOSVersion )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aDetectedOSVersion);
        
        DECLSPEC_XFGVIRT(IUnattended, get_DetectedOSFlavor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DetectedOSFlavor )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aDetectedOSFlavor);
        
        DECLSPEC_XFGVIRT(IUnattended, get_DetectedOSLanguages)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DetectedOSLanguages )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aDetectedOSLanguages);
        
        DECLSPEC_XFGVIRT(IUnattended, get_DetectedOSHints)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DetectedOSHints )( 
            IUnattended * This,
            /* [retval][out] */ BSTR *aDetectedOSHints);
        
        DECLSPEC_XFGVIRT(IUnattended, get_DetectedImageNames)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DetectedImageNames )( 
            IUnattended * This,
            /* [retval][out] */ SAFEARRAY * *aDetectedImageNames);
        
        DECLSPEC_XFGVIRT(IUnattended, get_DetectedImageIndices)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DetectedImageIndices )( 
            IUnattended * This,
            /* [retval][out] */ SAFEARRAY * *aDetectedImageIndices);
        
        DECLSPEC_XFGVIRT(IUnattended, get_IsUnattendedInstallSupported)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUnattendedInstallSupported )( 
            IUnattended * This,
            /* [retval][out] */ BOOL *aIsUnattendedInstallSupported);
        
        DECLSPEC_XFGVIRT(IUnattended, get_AvoidUpdatesOverNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AvoidUpdatesOverNetwork )( 
            IUnattended * This,
            /* [retval][out] */ BOOL *aAvoidUpdatesOverNetwork);
        
        DECLSPEC_XFGVIRT(IUnattended, put_AvoidUpdatesOverNetwork)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AvoidUpdatesOverNetwork )( 
            IUnattended * This,
            /* [in] */ BOOL aAvoidUpdatesOverNetwork);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute1IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute2IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute3IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute4IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute5IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute6IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute7IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute8IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute9IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute10IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute11IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute12IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute13IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute14IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute15IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, get_InternalAndReservedAttribute16IUnattended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IUnattended )( 
            IUnattended * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUnattended, DetectIsoOS)
        HRESULT ( STDMETHODCALLTYPE *DetectIsoOS )( 
            IUnattended * This);
        
        DECLSPEC_XFGVIRT(IUnattended, Prepare)
        HRESULT ( STDMETHODCALLTYPE *Prepare )( 
            IUnattended * This);
        
        DECLSPEC_XFGVIRT(IUnattended, ConstructMedia)
        HRESULT ( STDMETHODCALLTYPE *ConstructMedia )( 
            IUnattended * This);
        
        DECLSPEC_XFGVIRT(IUnattended, ReconfigureVM)
        HRESULT ( STDMETHODCALLTYPE *ReconfigureVM )( 
            IUnattended * This);
        
        DECLSPEC_XFGVIRT(IUnattended, Done)
        HRESULT ( STDMETHODCALLTYPE *Done )( 
            IUnattended * This);
        
        DECLSPEC_XFGVIRT(IUnattended, InternalAndReservedMethod1IUnattended)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IUnattended )( 
            IUnattended * This);
        
        DECLSPEC_XFGVIRT(IUnattended, InternalAndReservedMethod2IUnattended)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IUnattended )( 
            IUnattended * This);
        
        DECLSPEC_XFGVIRT(IUnattended, InternalAndReservedMethod3IUnattended)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IUnattended )( 
            IUnattended * This);
        
        DECLSPEC_XFGVIRT(IUnattended, InternalAndReservedMethod4IUnattended)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IUnattended )( 
            IUnattended * This);
        
        END_INTERFACE
    } IUnattendedVtbl;

    interface IUnattended
    {
        CONST_VTBL struct IUnattendedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUnattended_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUnattended_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUnattended_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUnattended_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUnattended_get_IsoPath(This,aIsoPath)	\
    ( (This)->lpVtbl -> get_IsoPath(This,aIsoPath) ) 

#define IUnattended_put_IsoPath(This,aIsoPath)	\
    ( (This)->lpVtbl -> put_IsoPath(This,aIsoPath) ) 

#define IUnattended_get_Machine(This,aMachine)	\
    ( (This)->lpVtbl -> get_Machine(This,aMachine) ) 

#define IUnattended_put_Machine(This,aMachine)	\
    ( (This)->lpVtbl -> put_Machine(This,aMachine) ) 

#define IUnattended_get_User(This,aUser)	\
    ( (This)->lpVtbl -> get_User(This,aUser) ) 

#define IUnattended_put_User(This,aUser)	\
    ( (This)->lpVtbl -> put_User(This,aUser) ) 

#define IUnattended_get_UserPassword(This,aUserPassword)	\
    ( (This)->lpVtbl -> get_UserPassword(This,aUserPassword) ) 

#define IUnattended_put_UserPassword(This,aUserPassword)	\
    ( (This)->lpVtbl -> put_UserPassword(This,aUserPassword) ) 

#define IUnattended_get_AdminPassword(This,aAdminPassword)	\
    ( (This)->lpVtbl -> get_AdminPassword(This,aAdminPassword) ) 

#define IUnattended_put_AdminPassword(This,aAdminPassword)	\
    ( (This)->lpVtbl -> put_AdminPassword(This,aAdminPassword) ) 

#define IUnattended_get_FullUserName(This,aFullUserName)	\
    ( (This)->lpVtbl -> get_FullUserName(This,aFullUserName) ) 

#define IUnattended_put_FullUserName(This,aFullUserName)	\
    ( (This)->lpVtbl -> put_FullUserName(This,aFullUserName) ) 

#define IUnattended_get_ProductKey(This,aProductKey)	\
    ( (This)->lpVtbl -> get_ProductKey(This,aProductKey) ) 

#define IUnattended_put_ProductKey(This,aProductKey)	\
    ( (This)->lpVtbl -> put_ProductKey(This,aProductKey) ) 

#define IUnattended_get_AdditionsIsoPath(This,aAdditionsIsoPath)	\
    ( (This)->lpVtbl -> get_AdditionsIsoPath(This,aAdditionsIsoPath) ) 

#define IUnattended_put_AdditionsIsoPath(This,aAdditionsIsoPath)	\
    ( (This)->lpVtbl -> put_AdditionsIsoPath(This,aAdditionsIsoPath) ) 

#define IUnattended_get_InstallGuestAdditions(This,aInstallGuestAdditions)	\
    ( (This)->lpVtbl -> get_InstallGuestAdditions(This,aInstallGuestAdditions) ) 

#define IUnattended_put_InstallGuestAdditions(This,aInstallGuestAdditions)	\
    ( (This)->lpVtbl -> put_InstallGuestAdditions(This,aInstallGuestAdditions) ) 

#define IUnattended_get_ValidationKitIsoPath(This,aValidationKitIsoPath)	\
    ( (This)->lpVtbl -> get_ValidationKitIsoPath(This,aValidationKitIsoPath) ) 

#define IUnattended_put_ValidationKitIsoPath(This,aValidationKitIsoPath)	\
    ( (This)->lpVtbl -> put_ValidationKitIsoPath(This,aValidationKitIsoPath) ) 

#define IUnattended_get_InstallTestExecService(This,aInstallTestExecService)	\
    ( (This)->lpVtbl -> get_InstallTestExecService(This,aInstallTestExecService) ) 

#define IUnattended_put_InstallTestExecService(This,aInstallTestExecService)	\
    ( (This)->lpVtbl -> put_InstallTestExecService(This,aInstallTestExecService) ) 

#define IUnattended_get_UserPayloadIsoPath(This,aUserPayloadIsoPath)	\
    ( (This)->lpVtbl -> get_UserPayloadIsoPath(This,aUserPayloadIsoPath) ) 

#define IUnattended_put_UserPayloadIsoPath(This,aUserPayloadIsoPath)	\
    ( (This)->lpVtbl -> put_UserPayloadIsoPath(This,aUserPayloadIsoPath) ) 

#define IUnattended_get_InstallUserPayload(This,aInstallUserPayload)	\
    ( (This)->lpVtbl -> get_InstallUserPayload(This,aInstallUserPayload) ) 

#define IUnattended_put_InstallUserPayload(This,aInstallUserPayload)	\
    ( (This)->lpVtbl -> put_InstallUserPayload(This,aInstallUserPayload) ) 

#define IUnattended_get_TimeZone(This,aTimeZone)	\
    ( (This)->lpVtbl -> get_TimeZone(This,aTimeZone) ) 

#define IUnattended_put_TimeZone(This,aTimeZone)	\
    ( (This)->lpVtbl -> put_TimeZone(This,aTimeZone) ) 

#define IUnattended_get_KeyboardLayout(This,aKeyboardLayout)	\
    ( (This)->lpVtbl -> get_KeyboardLayout(This,aKeyboardLayout) ) 

#define IUnattended_put_KeyboardLayout(This,aKeyboardLayout)	\
    ( (This)->lpVtbl -> put_KeyboardLayout(This,aKeyboardLayout) ) 

#define IUnattended_get_KeyboardVariant(This,aKeyboardVariant)	\
    ( (This)->lpVtbl -> get_KeyboardVariant(This,aKeyboardVariant) ) 

#define IUnattended_put_KeyboardVariant(This,aKeyboardVariant)	\
    ( (This)->lpVtbl -> put_KeyboardVariant(This,aKeyboardVariant) ) 

#define IUnattended_get_Locale(This,aLocale)	\
    ( (This)->lpVtbl -> get_Locale(This,aLocale) ) 

#define IUnattended_put_Locale(This,aLocale)	\
    ( (This)->lpVtbl -> put_Locale(This,aLocale) ) 

#define IUnattended_get_Language(This,aLanguage)	\
    ( (This)->lpVtbl -> get_Language(This,aLanguage) ) 

#define IUnattended_put_Language(This,aLanguage)	\
    ( (This)->lpVtbl -> put_Language(This,aLanguage) ) 

#define IUnattended_get_Country(This,aCountry)	\
    ( (This)->lpVtbl -> get_Country(This,aCountry) ) 

#define IUnattended_put_Country(This,aCountry)	\
    ( (This)->lpVtbl -> put_Country(This,aCountry) ) 

#define IUnattended_get_Proxy(This,aProxy)	\
    ( (This)->lpVtbl -> get_Proxy(This,aProxy) ) 

#define IUnattended_put_Proxy(This,aProxy)	\
    ( (This)->lpVtbl -> put_Proxy(This,aProxy) ) 

#define IUnattended_get_PackageSelectionAdjustments(This,aPackageSelectionAdjustments)	\
    ( (This)->lpVtbl -> get_PackageSelectionAdjustments(This,aPackageSelectionAdjustments) ) 

#define IUnattended_put_PackageSelectionAdjustments(This,aPackageSelectionAdjustments)	\
    ( (This)->lpVtbl -> put_PackageSelectionAdjustments(This,aPackageSelectionAdjustments) ) 

#define IUnattended_get_Hostname(This,aHostname)	\
    ( (This)->lpVtbl -> get_Hostname(This,aHostname) ) 

#define IUnattended_put_Hostname(This,aHostname)	\
    ( (This)->lpVtbl -> put_Hostname(This,aHostname) ) 

#define IUnattended_get_AuxiliaryBasePath(This,aAuxiliaryBasePath)	\
    ( (This)->lpVtbl -> get_AuxiliaryBasePath(This,aAuxiliaryBasePath) ) 

#define IUnattended_put_AuxiliaryBasePath(This,aAuxiliaryBasePath)	\
    ( (This)->lpVtbl -> put_AuxiliaryBasePath(This,aAuxiliaryBasePath) ) 

#define IUnattended_get_ImageIndex(This,aImageIndex)	\
    ( (This)->lpVtbl -> get_ImageIndex(This,aImageIndex) ) 

#define IUnattended_put_ImageIndex(This,aImageIndex)	\
    ( (This)->lpVtbl -> put_ImageIndex(This,aImageIndex) ) 

#define IUnattended_get_ScriptTemplatePath(This,aScriptTemplatePath)	\
    ( (This)->lpVtbl -> get_ScriptTemplatePath(This,aScriptTemplatePath) ) 

#define IUnattended_put_ScriptTemplatePath(This,aScriptTemplatePath)	\
    ( (This)->lpVtbl -> put_ScriptTemplatePath(This,aScriptTemplatePath) ) 

#define IUnattended_get_PostInstallScriptTemplatePath(This,aPostInstallScriptTemplatePath)	\
    ( (This)->lpVtbl -> get_PostInstallScriptTemplatePath(This,aPostInstallScriptTemplatePath) ) 

#define IUnattended_put_PostInstallScriptTemplatePath(This,aPostInstallScriptTemplatePath)	\
    ( (This)->lpVtbl -> put_PostInstallScriptTemplatePath(This,aPostInstallScriptTemplatePath) ) 

#define IUnattended_get_PostInstallCommand(This,aPostInstallCommand)	\
    ( (This)->lpVtbl -> get_PostInstallCommand(This,aPostInstallCommand) ) 

#define IUnattended_put_PostInstallCommand(This,aPostInstallCommand)	\
    ( (This)->lpVtbl -> put_PostInstallCommand(This,aPostInstallCommand) ) 

#define IUnattended_get_ExtraInstallKernelParameters(This,aExtraInstallKernelParameters)	\
    ( (This)->lpVtbl -> get_ExtraInstallKernelParameters(This,aExtraInstallKernelParameters) ) 

#define IUnattended_put_ExtraInstallKernelParameters(This,aExtraInstallKernelParameters)	\
    ( (This)->lpVtbl -> put_ExtraInstallKernelParameters(This,aExtraInstallKernelParameters) ) 

#define IUnattended_get_DetectedOSTypeId(This,aDetectedOSTypeId)	\
    ( (This)->lpVtbl -> get_DetectedOSTypeId(This,aDetectedOSTypeId) ) 

#define IUnattended_get_DetectedOSVersion(This,aDetectedOSVersion)	\
    ( (This)->lpVtbl -> get_DetectedOSVersion(This,aDetectedOSVersion) ) 

#define IUnattended_get_DetectedOSFlavor(This,aDetectedOSFlavor)	\
    ( (This)->lpVtbl -> get_DetectedOSFlavor(This,aDetectedOSFlavor) ) 

#define IUnattended_get_DetectedOSLanguages(This,aDetectedOSLanguages)	\
    ( (This)->lpVtbl -> get_DetectedOSLanguages(This,aDetectedOSLanguages) ) 

#define IUnattended_get_DetectedOSHints(This,aDetectedOSHints)	\
    ( (This)->lpVtbl -> get_DetectedOSHints(This,aDetectedOSHints) ) 

#define IUnattended_get_DetectedImageNames(This,aDetectedImageNames)	\
    ( (This)->lpVtbl -> get_DetectedImageNames(This,aDetectedImageNames) ) 

#define IUnattended_get_DetectedImageIndices(This,aDetectedImageIndices)	\
    ( (This)->lpVtbl -> get_DetectedImageIndices(This,aDetectedImageIndices) ) 

#define IUnattended_get_IsUnattendedInstallSupported(This,aIsUnattendedInstallSupported)	\
    ( (This)->lpVtbl -> get_IsUnattendedInstallSupported(This,aIsUnattendedInstallSupported) ) 

#define IUnattended_get_AvoidUpdatesOverNetwork(This,aAvoidUpdatesOverNetwork)	\
    ( (This)->lpVtbl -> get_AvoidUpdatesOverNetwork(This,aAvoidUpdatesOverNetwork) ) 

#define IUnattended_put_AvoidUpdatesOverNetwork(This,aAvoidUpdatesOverNetwork)	\
    ( (This)->lpVtbl -> put_AvoidUpdatesOverNetwork(This,aAvoidUpdatesOverNetwork) ) 

#define IUnattended_get_InternalAndReservedAttribute1IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute2IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute3IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute4IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute5IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute6IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute7IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute8IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute9IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute10IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute11IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute12IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute13IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute14IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute15IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IUnattended(This,aReserved) ) 

#define IUnattended_get_InternalAndReservedAttribute16IUnattended(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IUnattended(This,aReserved) ) 

#define IUnattended_DetectIsoOS(This)	\
    ( (This)->lpVtbl -> DetectIsoOS(This) ) 

#define IUnattended_Prepare(This)	\
    ( (This)->lpVtbl -> Prepare(This) ) 

#define IUnattended_ConstructMedia(This)	\
    ( (This)->lpVtbl -> ConstructMedia(This) ) 

#define IUnattended_ReconfigureVM(This)	\
    ( (This)->lpVtbl -> ReconfigureVM(This) ) 

#define IUnattended_Done(This)	\
    ( (This)->lpVtbl -> Done(This) ) 

#define IUnattended_InternalAndReservedMethod1IUnattended(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IUnattended(This) ) 

#define IUnattended_InternalAndReservedMethod2IUnattended(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IUnattended(This) ) 

#define IUnattended_InternalAndReservedMethod3IUnattended(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IUnattended(This) ) 

#define IUnattended_InternalAndReservedMethod4IUnattended(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IUnattended(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUnattended_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0016 */
/* [local] */ 

#define COM_FORWARD_IUnattended_GETTER_IsoPath_TO(smth) HRESULT STDMETHODCALLTYPE get_IsoPath (BSTR * aIsoPath) { return smth get_IsoPath (aIsoPath); }
#define COM_FORWARD_IUnattended_GETTER_IsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_IsoPath_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_IsoPath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_IsoPath_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_IsoPath_TO(smth) HRESULT STDMETHODCALLTYPE put_IsoPath (BSTR aIsoPath) { return smth put_IsoPath (aIsoPath); }
#define COM_FORWARD_IUnattended_SETTER_IsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_IsoPath_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_IsoPath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_IsoPath_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE get_Machine (IMachine * * aMachine) { return smth get_Machine (aMachine); }
#define COM_FORWARD_IUnattended_GETTER_Machine_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Machine_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_Machine_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Machine_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE put_Machine (IMachine * aMachine) { return smth put_Machine (aMachine); }
#define COM_FORWARD_IUnattended_SETTER_Machine_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Machine_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_Machine_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Machine_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_User_TO(smth) HRESULT STDMETHODCALLTYPE get_User (BSTR * aUser) { return smth get_User (aUser); }
#define COM_FORWARD_IUnattended_GETTER_User_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_User_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_User_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_User_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_User_TO(smth) HRESULT STDMETHODCALLTYPE put_User (BSTR aUser) { return smth put_User (aUser); }
#define COM_FORWARD_IUnattended_SETTER_User_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_User_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_User_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_User_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_UserPassword_TO(smth) HRESULT STDMETHODCALLTYPE get_UserPassword (BSTR * aUserPassword) { return smth get_UserPassword (aUserPassword); }
#define COM_FORWARD_IUnattended_GETTER_UserPassword_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_UserPassword_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_UserPassword_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_UserPassword_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_UserPassword_TO(smth) HRESULT STDMETHODCALLTYPE put_UserPassword (BSTR aUserPassword) { return smth put_UserPassword (aUserPassword); }
#define COM_FORWARD_IUnattended_SETTER_UserPassword_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_UserPassword_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_UserPassword_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_UserPassword_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_AdminPassword_TO(smth) HRESULT STDMETHODCALLTYPE get_AdminPassword (BSTR * aAdminPassword) { return smth get_AdminPassword (aAdminPassword); }
#define COM_FORWARD_IUnattended_GETTER_AdminPassword_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_AdminPassword_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_AdminPassword_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_AdminPassword_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_AdminPassword_TO(smth) HRESULT STDMETHODCALLTYPE put_AdminPassword (BSTR aAdminPassword) { return smth put_AdminPassword (aAdminPassword); }
#define COM_FORWARD_IUnattended_SETTER_AdminPassword_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_AdminPassword_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_AdminPassword_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_AdminPassword_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_FullUserName_TO(smth) HRESULT STDMETHODCALLTYPE get_FullUserName (BSTR * aFullUserName) { return smth get_FullUserName (aFullUserName); }
#define COM_FORWARD_IUnattended_GETTER_FullUserName_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_FullUserName_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_FullUserName_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_FullUserName_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_FullUserName_TO(smth) HRESULT STDMETHODCALLTYPE put_FullUserName (BSTR aFullUserName) { return smth put_FullUserName (aFullUserName); }
#define COM_FORWARD_IUnattended_SETTER_FullUserName_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_FullUserName_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_FullUserName_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_FullUserName_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_ProductKey_TO(smth) HRESULT STDMETHODCALLTYPE get_ProductKey (BSTR * aProductKey) { return smth get_ProductKey (aProductKey); }
#define COM_FORWARD_IUnattended_GETTER_ProductKey_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_ProductKey_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_ProductKey_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_ProductKey_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_ProductKey_TO(smth) HRESULT STDMETHODCALLTYPE put_ProductKey (BSTR aProductKey) { return smth put_ProductKey (aProductKey); }
#define COM_FORWARD_IUnattended_SETTER_ProductKey_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_ProductKey_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_ProductKey_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_ProductKey_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_AdditionsIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE get_AdditionsIsoPath (BSTR * aAdditionsIsoPath) { return smth get_AdditionsIsoPath (aAdditionsIsoPath); }
#define COM_FORWARD_IUnattended_GETTER_AdditionsIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_AdditionsIsoPath_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_AdditionsIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_AdditionsIsoPath_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_AdditionsIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE put_AdditionsIsoPath (BSTR aAdditionsIsoPath) { return smth put_AdditionsIsoPath (aAdditionsIsoPath); }
#define COM_FORWARD_IUnattended_SETTER_AdditionsIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_AdditionsIsoPath_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_AdditionsIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_AdditionsIsoPath_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_InstallGuestAdditions_TO(smth) HRESULT STDMETHODCALLTYPE get_InstallGuestAdditions (BOOL * aInstallGuestAdditions) { return smth get_InstallGuestAdditions (aInstallGuestAdditions); }
#define COM_FORWARD_IUnattended_GETTER_InstallGuestAdditions_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_InstallGuestAdditions_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_InstallGuestAdditions_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_InstallGuestAdditions_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_InstallGuestAdditions_TO(smth) HRESULT STDMETHODCALLTYPE put_InstallGuestAdditions (BOOL aInstallGuestAdditions) { return smth put_InstallGuestAdditions (aInstallGuestAdditions); }
#define COM_FORWARD_IUnattended_SETTER_InstallGuestAdditions_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_InstallGuestAdditions_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_InstallGuestAdditions_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_InstallGuestAdditions_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_ValidationKitIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE get_ValidationKitIsoPath (BSTR * aValidationKitIsoPath) { return smth get_ValidationKitIsoPath (aValidationKitIsoPath); }
#define COM_FORWARD_IUnattended_GETTER_ValidationKitIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_ValidationKitIsoPath_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_ValidationKitIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_ValidationKitIsoPath_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_ValidationKitIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE put_ValidationKitIsoPath (BSTR aValidationKitIsoPath) { return smth put_ValidationKitIsoPath (aValidationKitIsoPath); }
#define COM_FORWARD_IUnattended_SETTER_ValidationKitIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_ValidationKitIsoPath_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_ValidationKitIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_ValidationKitIsoPath_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_InstallTestExecService_TO(smth) HRESULT STDMETHODCALLTYPE get_InstallTestExecService (BOOL * aInstallTestExecService) { return smth get_InstallTestExecService (aInstallTestExecService); }
#define COM_FORWARD_IUnattended_GETTER_InstallTestExecService_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_InstallTestExecService_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_InstallTestExecService_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_InstallTestExecService_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_InstallTestExecService_TO(smth) HRESULT STDMETHODCALLTYPE put_InstallTestExecService (BOOL aInstallTestExecService) { return smth put_InstallTestExecService (aInstallTestExecService); }
#define COM_FORWARD_IUnattended_SETTER_InstallTestExecService_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_InstallTestExecService_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_InstallTestExecService_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_InstallTestExecService_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_UserPayloadIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE get_UserPayloadIsoPath (BSTR * aUserPayloadIsoPath) { return smth get_UserPayloadIsoPath (aUserPayloadIsoPath); }
#define COM_FORWARD_IUnattended_GETTER_UserPayloadIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_UserPayloadIsoPath_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_UserPayloadIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_UserPayloadIsoPath_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_UserPayloadIsoPath_TO(smth) HRESULT STDMETHODCALLTYPE put_UserPayloadIsoPath (BSTR aUserPayloadIsoPath) { return smth put_UserPayloadIsoPath (aUserPayloadIsoPath); }
#define COM_FORWARD_IUnattended_SETTER_UserPayloadIsoPath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_UserPayloadIsoPath_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_UserPayloadIsoPath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_UserPayloadIsoPath_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_InstallUserPayload_TO(smth) HRESULT STDMETHODCALLTYPE get_InstallUserPayload (BOOL * aInstallUserPayload) { return smth get_InstallUserPayload (aInstallUserPayload); }
#define COM_FORWARD_IUnattended_GETTER_InstallUserPayload_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_InstallUserPayload_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_InstallUserPayload_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_InstallUserPayload_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_InstallUserPayload_TO(smth) HRESULT STDMETHODCALLTYPE put_InstallUserPayload (BOOL aInstallUserPayload) { return smth put_InstallUserPayload (aInstallUserPayload); }
#define COM_FORWARD_IUnattended_SETTER_InstallUserPayload_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_InstallUserPayload_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_InstallUserPayload_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_InstallUserPayload_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_TimeZone_TO(smth) HRESULT STDMETHODCALLTYPE get_TimeZone (BSTR * aTimeZone) { return smth get_TimeZone (aTimeZone); }
#define COM_FORWARD_IUnattended_GETTER_TimeZone_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_TimeZone_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_TimeZone_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_TimeZone_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_TimeZone_TO(smth) HRESULT STDMETHODCALLTYPE put_TimeZone (BSTR aTimeZone) { return smth put_TimeZone (aTimeZone); }
#define COM_FORWARD_IUnattended_SETTER_TimeZone_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_TimeZone_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_TimeZone_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_TimeZone_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_KeyboardLayout_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyboardLayout (BSTR * aKeyboardLayout) { return smth get_KeyboardLayout (aKeyboardLayout); }
#define COM_FORWARD_IUnattended_GETTER_KeyboardLayout_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_KeyboardLayout_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_KeyboardLayout_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_KeyboardLayout_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_KeyboardLayout_TO(smth) HRESULT STDMETHODCALLTYPE put_KeyboardLayout (BSTR aKeyboardLayout) { return smth put_KeyboardLayout (aKeyboardLayout); }
#define COM_FORWARD_IUnattended_SETTER_KeyboardLayout_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_KeyboardLayout_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_KeyboardLayout_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_KeyboardLayout_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_KeyboardVariant_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyboardVariant (BSTR * aKeyboardVariant) { return smth get_KeyboardVariant (aKeyboardVariant); }
#define COM_FORWARD_IUnattended_GETTER_KeyboardVariant_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_KeyboardVariant_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_KeyboardVariant_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_KeyboardVariant_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_KeyboardVariant_TO(smth) HRESULT STDMETHODCALLTYPE put_KeyboardVariant (BSTR aKeyboardVariant) { return smth put_KeyboardVariant (aKeyboardVariant); }
#define COM_FORWARD_IUnattended_SETTER_KeyboardVariant_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_KeyboardVariant_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_KeyboardVariant_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_KeyboardVariant_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_Locale_TO(smth) HRESULT STDMETHODCALLTYPE get_Locale (BSTR * aLocale) { return smth get_Locale (aLocale); }
#define COM_FORWARD_IUnattended_GETTER_Locale_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Locale_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_Locale_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Locale_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_Locale_TO(smth) HRESULT STDMETHODCALLTYPE put_Locale (BSTR aLocale) { return smth put_Locale (aLocale); }
#define COM_FORWARD_IUnattended_SETTER_Locale_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Locale_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_Locale_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Locale_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_Language_TO(smth) HRESULT STDMETHODCALLTYPE get_Language (BSTR * aLanguage) { return smth get_Language (aLanguage); }
#define COM_FORWARD_IUnattended_GETTER_Language_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Language_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_Language_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Language_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_Language_TO(smth) HRESULT STDMETHODCALLTYPE put_Language (BSTR aLanguage) { return smth put_Language (aLanguage); }
#define COM_FORWARD_IUnattended_SETTER_Language_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Language_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_Language_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Language_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_Country_TO(smth) HRESULT STDMETHODCALLTYPE get_Country (BSTR * aCountry) { return smth get_Country (aCountry); }
#define COM_FORWARD_IUnattended_GETTER_Country_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Country_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_Country_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Country_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_Country_TO(smth) HRESULT STDMETHODCALLTYPE put_Country (BSTR aCountry) { return smth put_Country (aCountry); }
#define COM_FORWARD_IUnattended_SETTER_Country_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Country_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_Country_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Country_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_Proxy_TO(smth) HRESULT STDMETHODCALLTYPE get_Proxy (BSTR * aProxy) { return smth get_Proxy (aProxy); }
#define COM_FORWARD_IUnattended_GETTER_Proxy_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Proxy_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_Proxy_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Proxy_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_Proxy_TO(smth) HRESULT STDMETHODCALLTYPE put_Proxy (BSTR aProxy) { return smth put_Proxy (aProxy); }
#define COM_FORWARD_IUnattended_SETTER_Proxy_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Proxy_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_Proxy_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Proxy_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_PackageSelectionAdjustments_TO(smth) HRESULT STDMETHODCALLTYPE get_PackageSelectionAdjustments (BSTR * aPackageSelectionAdjustments) { return smth get_PackageSelectionAdjustments (aPackageSelectionAdjustments); }
#define COM_FORWARD_IUnattended_GETTER_PackageSelectionAdjustments_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_PackageSelectionAdjustments_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_PackageSelectionAdjustments_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_PackageSelectionAdjustments_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_PackageSelectionAdjustments_TO(smth) HRESULT STDMETHODCALLTYPE put_PackageSelectionAdjustments (BSTR aPackageSelectionAdjustments) { return smth put_PackageSelectionAdjustments (aPackageSelectionAdjustments); }
#define COM_FORWARD_IUnattended_SETTER_PackageSelectionAdjustments_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_PackageSelectionAdjustments_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_PackageSelectionAdjustments_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_PackageSelectionAdjustments_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_Hostname_TO(smth) HRESULT STDMETHODCALLTYPE get_Hostname (BSTR * aHostname) { return smth get_Hostname (aHostname); }
#define COM_FORWARD_IUnattended_GETTER_Hostname_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_Hostname_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_Hostname_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_Hostname_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_Hostname_TO(smth) HRESULT STDMETHODCALLTYPE put_Hostname (BSTR aHostname) { return smth put_Hostname (aHostname); }
#define COM_FORWARD_IUnattended_SETTER_Hostname_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_Hostname_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_Hostname_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_Hostname_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_AuxiliaryBasePath_TO(smth) HRESULT STDMETHODCALLTYPE get_AuxiliaryBasePath (BSTR * aAuxiliaryBasePath) { return smth get_AuxiliaryBasePath (aAuxiliaryBasePath); }
#define COM_FORWARD_IUnattended_GETTER_AuxiliaryBasePath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_AuxiliaryBasePath_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_AuxiliaryBasePath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_AuxiliaryBasePath_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_AuxiliaryBasePath_TO(smth) HRESULT STDMETHODCALLTYPE put_AuxiliaryBasePath (BSTR aAuxiliaryBasePath) { return smth put_AuxiliaryBasePath (aAuxiliaryBasePath); }
#define COM_FORWARD_IUnattended_SETTER_AuxiliaryBasePath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_AuxiliaryBasePath_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_AuxiliaryBasePath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_AuxiliaryBasePath_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_ImageIndex_TO(smth) HRESULT STDMETHODCALLTYPE get_ImageIndex (ULONG * aImageIndex) { return smth get_ImageIndex (aImageIndex); }
#define COM_FORWARD_IUnattended_GETTER_ImageIndex_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_ImageIndex_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_ImageIndex_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_ImageIndex_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_ImageIndex_TO(smth) HRESULT STDMETHODCALLTYPE put_ImageIndex (ULONG aImageIndex) { return smth put_ImageIndex (aImageIndex); }
#define COM_FORWARD_IUnattended_SETTER_ImageIndex_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_ImageIndex_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_ImageIndex_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_ImageIndex_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_ScriptTemplatePath_TO(smth) HRESULT STDMETHODCALLTYPE get_ScriptTemplatePath (BSTR * aScriptTemplatePath) { return smth get_ScriptTemplatePath (aScriptTemplatePath); }
#define COM_FORWARD_IUnattended_GETTER_ScriptTemplatePath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_ScriptTemplatePath_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_ScriptTemplatePath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_ScriptTemplatePath_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_ScriptTemplatePath_TO(smth) HRESULT STDMETHODCALLTYPE put_ScriptTemplatePath (BSTR aScriptTemplatePath) { return smth put_ScriptTemplatePath (aScriptTemplatePath); }
#define COM_FORWARD_IUnattended_SETTER_ScriptTemplatePath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_ScriptTemplatePath_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_ScriptTemplatePath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_ScriptTemplatePath_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_PostInstallScriptTemplatePath_TO(smth) HRESULT STDMETHODCALLTYPE get_PostInstallScriptTemplatePath (BSTR * aPostInstallScriptTemplatePath) { return smth get_PostInstallScriptTemplatePath (aPostInstallScriptTemplatePath); }
#define COM_FORWARD_IUnattended_GETTER_PostInstallScriptTemplatePath_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_PostInstallScriptTemplatePath_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_PostInstallScriptTemplatePath_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_PostInstallScriptTemplatePath_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_PostInstallScriptTemplatePath_TO(smth) HRESULT STDMETHODCALLTYPE put_PostInstallScriptTemplatePath (BSTR aPostInstallScriptTemplatePath) { return smth put_PostInstallScriptTemplatePath (aPostInstallScriptTemplatePath); }
#define COM_FORWARD_IUnattended_SETTER_PostInstallScriptTemplatePath_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_PostInstallScriptTemplatePath_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_PostInstallScriptTemplatePath_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_PostInstallScriptTemplatePath_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_PostInstallCommand_TO(smth) HRESULT STDMETHODCALLTYPE get_PostInstallCommand (BSTR * aPostInstallCommand) { return smth get_PostInstallCommand (aPostInstallCommand); }
#define COM_FORWARD_IUnattended_GETTER_PostInstallCommand_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_PostInstallCommand_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_PostInstallCommand_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_PostInstallCommand_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_PostInstallCommand_TO(smth) HRESULT STDMETHODCALLTYPE put_PostInstallCommand (BSTR aPostInstallCommand) { return smth put_PostInstallCommand (aPostInstallCommand); }
#define COM_FORWARD_IUnattended_SETTER_PostInstallCommand_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_PostInstallCommand_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_PostInstallCommand_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_PostInstallCommand_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_ExtraInstallKernelParameters_TO(smth) HRESULT STDMETHODCALLTYPE get_ExtraInstallKernelParameters (BSTR * aExtraInstallKernelParameters) { return smth get_ExtraInstallKernelParameters (aExtraInstallKernelParameters); }
#define COM_FORWARD_IUnattended_GETTER_ExtraInstallKernelParameters_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_ExtraInstallKernelParameters_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_ExtraInstallKernelParameters_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_ExtraInstallKernelParameters_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_ExtraInstallKernelParameters_TO(smth) HRESULT STDMETHODCALLTYPE put_ExtraInstallKernelParameters (BSTR aExtraInstallKernelParameters) { return smth put_ExtraInstallKernelParameters (aExtraInstallKernelParameters); }
#define COM_FORWARD_IUnattended_SETTER_ExtraInstallKernelParameters_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_ExtraInstallKernelParameters_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_ExtraInstallKernelParameters_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_ExtraInstallKernelParameters_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_DetectedOSTypeId_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedOSTypeId (BSTR * aDetectedOSTypeId) { return smth get_DetectedOSTypeId (aDetectedOSTypeId); }
#define COM_FORWARD_IUnattended_GETTER_DetectedOSTypeId_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedOSTypeId_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_DetectedOSTypeId_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedOSTypeId_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_DetectedOSVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedOSVersion (BSTR * aDetectedOSVersion) { return smth get_DetectedOSVersion (aDetectedOSVersion); }
#define COM_FORWARD_IUnattended_GETTER_DetectedOSVersion_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedOSVersion_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_DetectedOSVersion_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedOSVersion_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_DetectedOSFlavor_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedOSFlavor (BSTR * aDetectedOSFlavor) { return smth get_DetectedOSFlavor (aDetectedOSFlavor); }
#define COM_FORWARD_IUnattended_GETTER_DetectedOSFlavor_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedOSFlavor_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_DetectedOSFlavor_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedOSFlavor_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_DetectedOSLanguages_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedOSLanguages (BSTR * aDetectedOSLanguages) { return smth get_DetectedOSLanguages (aDetectedOSLanguages); }
#define COM_FORWARD_IUnattended_GETTER_DetectedOSLanguages_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedOSLanguages_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_DetectedOSLanguages_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedOSLanguages_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_DetectedOSHints_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedOSHints (BSTR * aDetectedOSHints) { return smth get_DetectedOSHints (aDetectedOSHints); }
#define COM_FORWARD_IUnattended_GETTER_DetectedOSHints_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedOSHints_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_DetectedOSHints_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedOSHints_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_DetectedImageNames_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedImageNames (SAFEARRAY * * aDetectedImageNames) { return smth get_DetectedImageNames (aDetectedImageNames); }
#define COM_FORWARD_IUnattended_GETTER_DetectedImageNames_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedImageNames_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_DetectedImageNames_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedImageNames_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_DetectedImageIndices_TO(smth) HRESULT STDMETHODCALLTYPE get_DetectedImageIndices (SAFEARRAY * * aDetectedImageIndices) { return smth get_DetectedImageIndices (aDetectedImageIndices); }
#define COM_FORWARD_IUnattended_GETTER_DetectedImageIndices_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_DetectedImageIndices_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_DetectedImageIndices_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_DetectedImageIndices_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_IsUnattendedInstallSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_IsUnattendedInstallSupported (BOOL * aIsUnattendedInstallSupported) { return smth get_IsUnattendedInstallSupported (aIsUnattendedInstallSupported); }
#define COM_FORWARD_IUnattended_GETTER_IsUnattendedInstallSupported_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_IsUnattendedInstallSupported_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_IsUnattendedInstallSupported_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_IsUnattendedInstallSupported_TO (base::)
#define COM_FORWARD_IUnattended_GETTER_AvoidUpdatesOverNetwork_TO(smth) HRESULT STDMETHODCALLTYPE get_AvoidUpdatesOverNetwork (BOOL * aAvoidUpdatesOverNetwork) { return smth get_AvoidUpdatesOverNetwork (aAvoidUpdatesOverNetwork); }
#define COM_FORWARD_IUnattended_GETTER_AvoidUpdatesOverNetwork_TO_OBJ(obj) COM_FORWARD_IUnattended_GETTER_AvoidUpdatesOverNetwork_TO ((obj)->)
#define COM_FORWARD_IUnattended_GETTER_AvoidUpdatesOverNetwork_TO_BASE(base) COM_FORWARD_IUnattended_GETTER_AvoidUpdatesOverNetwork_TO (base::)
#define COM_FORWARD_IUnattended_SETTER_AvoidUpdatesOverNetwork_TO(smth) HRESULT STDMETHODCALLTYPE put_AvoidUpdatesOverNetwork (BOOL aAvoidUpdatesOverNetwork) { return smth put_AvoidUpdatesOverNetwork (aAvoidUpdatesOverNetwork); }
#define COM_FORWARD_IUnattended_SETTER_AvoidUpdatesOverNetwork_TO_OBJ(obj) COM_FORWARD_IUnattended_SETTER_AvoidUpdatesOverNetwork_TO ((obj)->)
#define COM_FORWARD_IUnattended_SETTER_AvoidUpdatesOverNetwork_TO_BASE(base) COM_FORWARD_IUnattended_SETTER_AvoidUpdatesOverNetwork_TO (base::)
#define COM_FORWARD_IUnattended_DetectIsoOS_TO(smth) HRESULT STDMETHODCALLTYPE DetectIsoOS() { return smth DetectIsoOS(); }
#define COM_FORWARD_IUnattended_DetectIsoOS_TO_OBJ(obj) COM_FORWARD_IUnattended_DetectIsoOS_TO ((obj)->)
#define COM_FORWARD_IUnattended_DetectIsoOS_TO_BASE(base) COM_FORWARD_IUnattended_DetectIsoOS_TO (base::)
#define COM_FORWARD_IUnattended_Prepare_TO(smth) HRESULT STDMETHODCALLTYPE Prepare() { return smth Prepare(); }
#define COM_FORWARD_IUnattended_Prepare_TO_OBJ(obj) COM_FORWARD_IUnattended_Prepare_TO ((obj)->)
#define COM_FORWARD_IUnattended_Prepare_TO_BASE(base) COM_FORWARD_IUnattended_Prepare_TO (base::)
#define COM_FORWARD_IUnattended_ConstructMedia_TO(smth) HRESULT STDMETHODCALLTYPE ConstructMedia() { return smth ConstructMedia(); }
#define COM_FORWARD_IUnattended_ConstructMedia_TO_OBJ(obj) COM_FORWARD_IUnattended_ConstructMedia_TO ((obj)->)
#define COM_FORWARD_IUnattended_ConstructMedia_TO_BASE(base) COM_FORWARD_IUnattended_ConstructMedia_TO (base::)
#define COM_FORWARD_IUnattended_ReconfigureVM_TO(smth) HRESULT STDMETHODCALLTYPE ReconfigureVM() { return smth ReconfigureVM(); }
#define COM_FORWARD_IUnattended_ReconfigureVM_TO_OBJ(obj) COM_FORWARD_IUnattended_ReconfigureVM_TO ((obj)->)
#define COM_FORWARD_IUnattended_ReconfigureVM_TO_BASE(base) COM_FORWARD_IUnattended_ReconfigureVM_TO (base::)
#define COM_FORWARD_IUnattended_Done_TO(smth) HRESULT STDMETHODCALLTYPE Done() { return smth Done(); }
#define COM_FORWARD_IUnattended_Done_TO_OBJ(obj) COM_FORWARD_IUnattended_Done_TO ((obj)->)
#define COM_FORWARD_IUnattended_Done_TO_BASE(base) COM_FORWARD_IUnattended_Done_TO (base::)
#define COM_FORWARD_IUnattended_TO(smth) COM_FORWARD_IUnattended_GETTER_IsoPath_TO (smth) COM_FORWARD_IUnattended_SETTER_IsoPath_TO (smth) COM_FORWARD_IUnattended_GETTER_Machine_TO (smth) COM_FORWARD_IUnattended_SETTER_Machine_TO (smth) COM_FORWARD_IUnattended_GETTER_User_TO (smth) COM_FORWARD_IUnattended_SETTER_User_TO (smth) COM_FORWARD_IUnattended_GETTER_UserPassword_TO (smth) COM_FORWARD_IUnattended_SETTER_UserPassword_TO (smth) COM_FORWARD_IUnattended_GETTER_AdminPassword_TO (smth) COM_FORWARD_IUnattended_SETTER_AdminPassword_TO (smth) COM_FORWARD_IUnattended_GETTER_FullUserName_TO (smth) COM_FORWARD_IUnattended_SETTER_FullUserName_TO (smth) COM_FORWARD_IUnattended_GETTER_ProductKey_TO (smth) COM_FORWARD_IUnattended_SETTER_ProductKey_TO (smth) COM_FORWARD_IUnattended_GETTER_AdditionsIsoPath_TO (smth) COM_FORWARD_IUnattended_SETTER_AdditionsIsoPath_TO (smth) COM_FORWARD_IUnattended_GETTER_InstallGuestAdditions_TO (smth) COM_FORWARD_IUnattended_SETTER_InstallGuestAdditions_TO (smth) COM_FORWARD_IUnattended_GETTER_ValidationKitIsoPath_TO (smth) COM_FORWARD_IUnattended_SETTER_ValidationKitIsoPath_TO (smth) COM_FORWARD_IUnattended_GETTER_InstallTestExecService_TO (smth) COM_FORWARD_IUnattended_SETTER_InstallTestExecService_TO (smth) COM_FORWARD_IUnattended_GETTER_UserPayloadIsoPath_TO (smth) COM_FORWARD_IUnattended_SETTER_UserPayloadIsoPath_TO (smth) COM_FORWARD_IUnattended_GETTER_InstallUserPayload_TO (smth) COM_FORWARD_IUnattended_SETTER_InstallUserPayload_TO (smth) COM_FORWARD_IUnattended_GETTER_TimeZone_TO (smth) COM_FORWARD_IUnattended_SETTER_TimeZone_TO (smth) COM_FORWARD_IUnattended_GETTER_KeyboardLayout_TO (smth) COM_FORWARD_IUnattended_SETTER_KeyboardLayout_TO (smth) COM_FORWARD_IUnattended_GETTER_KeyboardVariant_TO (smth) COM_FORWARD_IUnattended_SETTER_KeyboardVariant_TO (smth) COM_FORWARD_IUnattended_GETTER_Locale_TO (smth) COM_FORWARD_IUnattended_SETTER_Locale_TO (smth) COM_FORWARD_IUnattended_GETTER_Language_TO (smth) COM_FORWARD_IUnattended_SETTER_Language_TO (smth) COM_FORWARD_IUnattended_GETTER_Country_TO (smth) COM_FORWARD_IUnattended_SETTER_Country_TO (smth) COM_FORWARD_IUnattended_GETTER_Proxy_TO (smth) COM_FORWARD_IUnattended_SETTER_Proxy_TO (smth) COM_FORWARD_IUnattended_GETTER_PackageSelectionAdjustments_TO (smth) COM_FORWARD_IUnattended_SETTER_PackageSelectionAdjustments_TO (smth) COM_FORWARD_IUnattended_GETTER_Hostname_TO (smth) COM_FORWARD_IUnattended_SETTER_Hostname_TO (smth) COM_FORWARD_IUnattended_GETTER_AuxiliaryBasePath_TO (smth) COM_FORWARD_IUnattended_SETTER_AuxiliaryBasePath_TO (smth) COM_FORWARD_IUnattended_GETTER_ImageIndex_TO (smth) COM_FORWARD_IUnattended_SETTER_ImageIndex_TO (smth) COM_FORWARD_IUnattended_GETTER_ScriptTemplatePath_TO (smth) COM_FORWARD_IUnattended_SETTER_ScriptTemplatePath_TO (smth) COM_FORWARD_IUnattended_GETTER_PostInstallScriptTemplatePath_TO (smth) COM_FORWARD_IUnattended_SETTER_PostInstallScriptTemplatePath_TO (smth) COM_FORWARD_IUnattended_GETTER_PostInstallCommand_TO (smth) COM_FORWARD_IUnattended_SETTER_PostInstallCommand_TO (smth) COM_FORWARD_IUnattended_GETTER_ExtraInstallKernelParameters_TO (smth) COM_FORWARD_IUnattended_SETTER_ExtraInstallKernelParameters_TO (smth) COM_FORWARD_IUnattended_GETTER_DetectedOSTypeId_TO (smth) COM_FORWARD_IUnattended_GETTER_DetectedOSVersion_TO (smth) COM_FORWARD_IUnattended_GETTER_DetectedOSFlavor_TO (smth) COM_FORWARD_IUnattended_GETTER_DetectedOSLanguages_TO (smth) COM_FORWARD_IUnattended_GETTER_DetectedOSHints_TO (smth) COM_FORWARD_IUnattended_GETTER_DetectedImageNames_TO (smth) COM_FORWARD_IUnattended_GETTER_DetectedImageIndices_TO (smth) COM_FORWARD_IUnattended_GETTER_IsUnattendedInstallSupported_TO (smth) COM_FORWARD_IUnattended_GETTER_AvoidUpdatesOverNetwork_TO (smth) COM_FORWARD_IUnattended_SETTER_AvoidUpdatesOverNetwork_TO (smth) COM_FORWARD_IUnattended_DetectIsoOS_TO (smth) COM_FORWARD_IUnattended_Prepare_TO (smth) COM_FORWARD_IUnattended_ConstructMedia_TO (smth) COM_FORWARD_IUnattended_ReconfigureVM_TO (smth) COM_FORWARD_IUnattended_Done_TO (smth) 
#define COM_FORWARD_IUnattended_TO_OBJ(obj) COM_FORWARD_IUnattended_TO ((obj)->)
#define COM_FORWARD_IUnattended_TO_BASE(base) COM_FORWARD_IUnattended_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0016_v0_0_s_ifspec;

#ifndef __IInternalMachineControl_INTERFACE_DEFINED__
#define __IInternalMachineControl_INTERFACE_DEFINED__

/* interface IInternalMachineControl */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IInternalMachineControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EA05E40C-CB31-423B-B3B7-A5B19300F40C")
    IInternalMachineControl : public IDispatch
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE UpdateState( 
            /* [in] */ MachineState aState) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BeginPowerUp( 
            /* [in] */ IProgress *aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EndPowerUp( 
            /* [in] */ LONG aResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BeginPoweringDown( 
            /* [out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EndPoweringDown( 
            /* [in] */ LONG aResult,
            /* [in] */ BSTR aErrMsg) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RunUSBDeviceFilters( 
            /* [in] */ IUSBDevice *aDevice,
            /* [out] */ BOOL *aMatched,
            /* [out] */ ULONG *aMaskedInterfaces) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CaptureUSBDevice( 
            /* [in] */ BSTR aId,
            /* [in] */ BSTR aCaptureFilename) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DetachUSBDevice( 
            /* [in] */ BSTR aId,
            /* [in] */ BOOL aDone) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AutoCaptureUSBDevices( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DetachAllUSBDevices( 
            /* [in] */ BOOL aDone) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnSessionEnd( 
            /* [in] */ ISession *aSession,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FinishOnlineMergeMedium( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PullGuestProperties( 
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aValues,
            /* [out] */ SAFEARRAY * *aTimestamps,
            /* [out] */ SAFEARRAY * *aFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PushGuestProperty( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue,
            /* [in] */ LONG64 aTimestamp,
            /* [in] */ BSTR aFlags,
            /* [in] */ BOOL aFWasDeleted) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LockMedia( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnlockMedia( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EjectMedium( 
            /* [in] */ IMediumAttachment *aAttachment,
            /* [retval][out] */ IMediumAttachment **aNewAttachment) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReportVmStatistics( 
            /* [in] */ ULONG aValidStats,
            /* [in] */ ULONG aCpuUser,
            /* [in] */ ULONG aCpuKernel,
            /* [in] */ ULONG aCpuIdle,
            /* [in] */ ULONG aMemTotal,
            /* [in] */ ULONG aMemFree,
            /* [in] */ ULONG aMemBalloon,
            /* [in] */ ULONG aMemShared,
            /* [in] */ ULONG aMemCache,
            /* [in] */ ULONG aPagedTotal,
            /* [in] */ ULONG aMemAllocTotal,
            /* [in] */ ULONG aMemFreeTotal,
            /* [in] */ ULONG aMemBalloonTotal,
            /* [in] */ ULONG aMemSharedTotal,
            /* [in] */ ULONG aVmNetRx,
            /* [in] */ ULONG aVmNetTx) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AuthenticateExternal( 
            /* [in] */ SAFEARRAY * aAuthParams,
            /* [out] */ BSTR *aResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IInternalMachineControlVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IInternalMachineControl * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IInternalMachineControl * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IInternalMachineControl * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IInternalMachineControl * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IInternalMachineControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IInternalMachineControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IInternalMachineControl * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, UpdateState)
        HRESULT ( STDMETHODCALLTYPE *UpdateState )( 
            IInternalMachineControl * This,
            /* [in] */ MachineState aState);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, BeginPowerUp)
        HRESULT ( STDMETHODCALLTYPE *BeginPowerUp )( 
            IInternalMachineControl * This,
            /* [in] */ IProgress *aProgress);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, EndPowerUp)
        HRESULT ( STDMETHODCALLTYPE *EndPowerUp )( 
            IInternalMachineControl * This,
            /* [in] */ LONG aResult);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, BeginPoweringDown)
        HRESULT ( STDMETHODCALLTYPE *BeginPoweringDown )( 
            IInternalMachineControl * This,
            /* [out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, EndPoweringDown)
        HRESULT ( STDMETHODCALLTYPE *EndPoweringDown )( 
            IInternalMachineControl * This,
            /* [in] */ LONG aResult,
            /* [in] */ BSTR aErrMsg);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, RunUSBDeviceFilters)
        HRESULT ( STDMETHODCALLTYPE *RunUSBDeviceFilters )( 
            IInternalMachineControl * This,
            /* [in] */ IUSBDevice *aDevice,
            /* [out] */ BOOL *aMatched,
            /* [out] */ ULONG *aMaskedInterfaces);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, CaptureUSBDevice)
        HRESULT ( STDMETHODCALLTYPE *CaptureUSBDevice )( 
            IInternalMachineControl * This,
            /* [in] */ BSTR aId,
            /* [in] */ BSTR aCaptureFilename);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, DetachUSBDevice)
        HRESULT ( STDMETHODCALLTYPE *DetachUSBDevice )( 
            IInternalMachineControl * This,
            /* [in] */ BSTR aId,
            /* [in] */ BOOL aDone);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, AutoCaptureUSBDevices)
        HRESULT ( STDMETHODCALLTYPE *AutoCaptureUSBDevices )( 
            IInternalMachineControl * This);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, DetachAllUSBDevices)
        HRESULT ( STDMETHODCALLTYPE *DetachAllUSBDevices )( 
            IInternalMachineControl * This,
            /* [in] */ BOOL aDone);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, OnSessionEnd)
        HRESULT ( STDMETHODCALLTYPE *OnSessionEnd )( 
            IInternalMachineControl * This,
            /* [in] */ ISession *aSession,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, FinishOnlineMergeMedium)
        HRESULT ( STDMETHODCALLTYPE *FinishOnlineMergeMedium )( 
            IInternalMachineControl * This);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, PullGuestProperties)
        HRESULT ( STDMETHODCALLTYPE *PullGuestProperties )( 
            IInternalMachineControl * This,
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aValues,
            /* [out] */ SAFEARRAY * *aTimestamps,
            /* [out] */ SAFEARRAY * *aFlags);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, PushGuestProperty)
        HRESULT ( STDMETHODCALLTYPE *PushGuestProperty )( 
            IInternalMachineControl * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue,
            /* [in] */ LONG64 aTimestamp,
            /* [in] */ BSTR aFlags,
            /* [in] */ BOOL aFWasDeleted);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, LockMedia)
        HRESULT ( STDMETHODCALLTYPE *LockMedia )( 
            IInternalMachineControl * This);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, UnlockMedia)
        HRESULT ( STDMETHODCALLTYPE *UnlockMedia )( 
            IInternalMachineControl * This);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, EjectMedium)
        HRESULT ( STDMETHODCALLTYPE *EjectMedium )( 
            IInternalMachineControl * This,
            /* [in] */ IMediumAttachment *aAttachment,
            /* [retval][out] */ IMediumAttachment **aNewAttachment);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, ReportVmStatistics)
        HRESULT ( STDMETHODCALLTYPE *ReportVmStatistics )( 
            IInternalMachineControl * This,
            /* [in] */ ULONG aValidStats,
            /* [in] */ ULONG aCpuUser,
            /* [in] */ ULONG aCpuKernel,
            /* [in] */ ULONG aCpuIdle,
            /* [in] */ ULONG aMemTotal,
            /* [in] */ ULONG aMemFree,
            /* [in] */ ULONG aMemBalloon,
            /* [in] */ ULONG aMemShared,
            /* [in] */ ULONG aMemCache,
            /* [in] */ ULONG aPagedTotal,
            /* [in] */ ULONG aMemAllocTotal,
            /* [in] */ ULONG aMemFreeTotal,
            /* [in] */ ULONG aMemBalloonTotal,
            /* [in] */ ULONG aMemSharedTotal,
            /* [in] */ ULONG aVmNetRx,
            /* [in] */ ULONG aVmNetTx);
        
        DECLSPEC_XFGVIRT(IInternalMachineControl, AuthenticateExternal)
        HRESULT ( STDMETHODCALLTYPE *AuthenticateExternal )( 
            IInternalMachineControl * This,
            /* [in] */ SAFEARRAY * aAuthParams,
            /* [out] */ BSTR *aResult);
        
        END_INTERFACE
    } IInternalMachineControlVtbl;

    interface IInternalMachineControl
    {
        CONST_VTBL struct IInternalMachineControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IInternalMachineControl_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IInternalMachineControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IInternalMachineControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IInternalMachineControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IInternalMachineControl_UpdateState(This,aState)	\
    ( (This)->lpVtbl -> UpdateState(This,aState) ) 

#define IInternalMachineControl_BeginPowerUp(This,aProgress)	\
    ( (This)->lpVtbl -> BeginPowerUp(This,aProgress) ) 

#define IInternalMachineControl_EndPowerUp(This,aResult)	\
    ( (This)->lpVtbl -> EndPowerUp(This,aResult) ) 

#define IInternalMachineControl_BeginPoweringDown(This,aProgress)	\
    ( (This)->lpVtbl -> BeginPoweringDown(This,aProgress) ) 

#define IInternalMachineControl_EndPoweringDown(This,aResult,aErrMsg)	\
    ( (This)->lpVtbl -> EndPoweringDown(This,aResult,aErrMsg) ) 

#define IInternalMachineControl_RunUSBDeviceFilters(This,aDevice,aMatched,aMaskedInterfaces)	\
    ( (This)->lpVtbl -> RunUSBDeviceFilters(This,aDevice,aMatched,aMaskedInterfaces) ) 

#define IInternalMachineControl_CaptureUSBDevice(This,aId,aCaptureFilename)	\
    ( (This)->lpVtbl -> CaptureUSBDevice(This,aId,aCaptureFilename) ) 

#define IInternalMachineControl_DetachUSBDevice(This,aId,aDone)	\
    ( (This)->lpVtbl -> DetachUSBDevice(This,aId,aDone) ) 

#define IInternalMachineControl_AutoCaptureUSBDevices(This)	\
    ( (This)->lpVtbl -> AutoCaptureUSBDevices(This) ) 

#define IInternalMachineControl_DetachAllUSBDevices(This,aDone)	\
    ( (This)->lpVtbl -> DetachAllUSBDevices(This,aDone) ) 

#define IInternalMachineControl_OnSessionEnd(This,aSession,aProgress)	\
    ( (This)->lpVtbl -> OnSessionEnd(This,aSession,aProgress) ) 

#define IInternalMachineControl_FinishOnlineMergeMedium(This)	\
    ( (This)->lpVtbl -> FinishOnlineMergeMedium(This) ) 

#define IInternalMachineControl_PullGuestProperties(This,aNames,aValues,aTimestamps,aFlags)	\
    ( (This)->lpVtbl -> PullGuestProperties(This,aNames,aValues,aTimestamps,aFlags) ) 

#define IInternalMachineControl_PushGuestProperty(This,aName,aValue,aTimestamp,aFlags,aFWasDeleted)	\
    ( (This)->lpVtbl -> PushGuestProperty(This,aName,aValue,aTimestamp,aFlags,aFWasDeleted) ) 

#define IInternalMachineControl_LockMedia(This)	\
    ( (This)->lpVtbl -> LockMedia(This) ) 

#define IInternalMachineControl_UnlockMedia(This)	\
    ( (This)->lpVtbl -> UnlockMedia(This) ) 

#define IInternalMachineControl_EjectMedium(This,aAttachment,aNewAttachment)	\
    ( (This)->lpVtbl -> EjectMedium(This,aAttachment,aNewAttachment) ) 

#define IInternalMachineControl_ReportVmStatistics(This,aValidStats,aCpuUser,aCpuKernel,aCpuIdle,aMemTotal,aMemFree,aMemBalloon,aMemShared,aMemCache,aPagedTotal,aMemAllocTotal,aMemFreeTotal,aMemBalloonTotal,aMemSharedTotal,aVmNetRx,aVmNetTx)	\
    ( (This)->lpVtbl -> ReportVmStatistics(This,aValidStats,aCpuUser,aCpuKernel,aCpuIdle,aMemTotal,aMemFree,aMemBalloon,aMemShared,aMemCache,aPagedTotal,aMemAllocTotal,aMemFreeTotal,aMemBalloonTotal,aMemSharedTotal,aVmNetRx,aVmNetTx) ) 

#define IInternalMachineControl_AuthenticateExternal(This,aAuthParams,aResult)	\
    ( (This)->lpVtbl -> AuthenticateExternal(This,aAuthParams,aResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IInternalMachineControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0017 */
/* [local] */ 

#define COM_FORWARD_IInternalMachineControl_UpdateState_TO(smth) HRESULT STDMETHODCALLTYPE UpdateState (MachineState aState) { return smth UpdateState (aState); }
#define COM_FORWARD_IInternalMachineControl_UpdateState_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_UpdateState_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_UpdateState_TO_BASE(base) COM_FORWARD_IInternalMachineControl_UpdateState_TO (base::)
#define COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO(smth) HRESULT STDMETHODCALLTYPE BeginPowerUp (IProgress * aProgress) { return smth BeginPowerUp (aProgress); }
#define COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO_BASE(base) COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO (base::)
#define COM_FORWARD_IInternalMachineControl_EndPowerUp_TO(smth) HRESULT STDMETHODCALLTYPE EndPowerUp (LONG aResult) { return smth EndPowerUp (aResult); }
#define COM_FORWARD_IInternalMachineControl_EndPowerUp_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_EndPowerUp_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_EndPowerUp_TO_BASE(base) COM_FORWARD_IInternalMachineControl_EndPowerUp_TO (base::)
#define COM_FORWARD_IInternalMachineControl_BeginPoweringDown_TO(smth) HRESULT STDMETHODCALLTYPE BeginPoweringDown (IProgress * * aProgress) { return smth BeginPoweringDown (aProgress); }
#define COM_FORWARD_IInternalMachineControl_BeginPoweringDown_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_BeginPoweringDown_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_BeginPoweringDown_TO_BASE(base) COM_FORWARD_IInternalMachineControl_BeginPoweringDown_TO (base::)
#define COM_FORWARD_IInternalMachineControl_EndPoweringDown_TO(smth) HRESULT STDMETHODCALLTYPE EndPoweringDown (LONG aResult, BSTR aErrMsg) { return smth EndPoweringDown (aResult, aErrMsg); }
#define COM_FORWARD_IInternalMachineControl_EndPoweringDown_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_EndPoweringDown_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_EndPoweringDown_TO_BASE(base) COM_FORWARD_IInternalMachineControl_EndPoweringDown_TO (base::)
#define COM_FORWARD_IInternalMachineControl_RunUSBDeviceFilters_TO(smth) HRESULT STDMETHODCALLTYPE RunUSBDeviceFilters (IUSBDevice * aDevice, BOOL * aMatched, ULONG * aMaskedInterfaces) { return smth RunUSBDeviceFilters (aDevice, aMatched, aMaskedInterfaces); }
#define COM_FORWARD_IInternalMachineControl_RunUSBDeviceFilters_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_RunUSBDeviceFilters_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_RunUSBDeviceFilters_TO_BASE(base) COM_FORWARD_IInternalMachineControl_RunUSBDeviceFilters_TO (base::)
#define COM_FORWARD_IInternalMachineControl_CaptureUSBDevice_TO(smth) HRESULT STDMETHODCALLTYPE CaptureUSBDevice (BSTR aId, BSTR aCaptureFilename) { return smth CaptureUSBDevice (aId, aCaptureFilename); }
#define COM_FORWARD_IInternalMachineControl_CaptureUSBDevice_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_CaptureUSBDevice_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_CaptureUSBDevice_TO_BASE(base) COM_FORWARD_IInternalMachineControl_CaptureUSBDevice_TO (base::)
#define COM_FORWARD_IInternalMachineControl_DetachUSBDevice_TO(smth) HRESULT STDMETHODCALLTYPE DetachUSBDevice (BSTR aId, BOOL aDone) { return smth DetachUSBDevice (aId, aDone); }
#define COM_FORWARD_IInternalMachineControl_DetachUSBDevice_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_DetachUSBDevice_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_DetachUSBDevice_TO_BASE(base) COM_FORWARD_IInternalMachineControl_DetachUSBDevice_TO (base::)
#define COM_FORWARD_IInternalMachineControl_AutoCaptureUSBDevices_TO(smth) HRESULT STDMETHODCALLTYPE AutoCaptureUSBDevices() { return smth AutoCaptureUSBDevices(); }
#define COM_FORWARD_IInternalMachineControl_AutoCaptureUSBDevices_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_AutoCaptureUSBDevices_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_AutoCaptureUSBDevices_TO_BASE(base) COM_FORWARD_IInternalMachineControl_AutoCaptureUSBDevices_TO (base::)
#define COM_FORWARD_IInternalMachineControl_DetachAllUSBDevices_TO(smth) HRESULT STDMETHODCALLTYPE DetachAllUSBDevices (BOOL aDone) { return smth DetachAllUSBDevices (aDone); }
#define COM_FORWARD_IInternalMachineControl_DetachAllUSBDevices_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_DetachAllUSBDevices_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_DetachAllUSBDevices_TO_BASE(base) COM_FORWARD_IInternalMachineControl_DetachAllUSBDevices_TO (base::)
#define COM_FORWARD_IInternalMachineControl_OnSessionEnd_TO(smth) HRESULT STDMETHODCALLTYPE OnSessionEnd (ISession * aSession, IProgress * * aProgress) { return smth OnSessionEnd (aSession, aProgress); }
#define COM_FORWARD_IInternalMachineControl_OnSessionEnd_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_OnSessionEnd_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_OnSessionEnd_TO_BASE(base) COM_FORWARD_IInternalMachineControl_OnSessionEnd_TO (base::)
#define COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO(smth) HRESULT STDMETHODCALLTYPE FinishOnlineMergeMedium() { return smth FinishOnlineMergeMedium(); }
#define COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO_BASE(base) COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO (base::)
#define COM_FORWARD_IInternalMachineControl_PullGuestProperties_TO(smth) HRESULT STDMETHODCALLTYPE PullGuestProperties (SAFEARRAY * * aNames, SAFEARRAY * * aValues, SAFEARRAY * * aTimestamps, SAFEARRAY * * aFlags) { return smth PullGuestProperties (aNames, aValues, aTimestamps, aFlags); }
#define COM_FORWARD_IInternalMachineControl_PullGuestProperties_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_PullGuestProperties_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_PullGuestProperties_TO_BASE(base) COM_FORWARD_IInternalMachineControl_PullGuestProperties_TO (base::)
#define COM_FORWARD_IInternalMachineControl_PushGuestProperty_TO(smth) HRESULT STDMETHODCALLTYPE PushGuestProperty (BSTR aName, BSTR aValue, LONG64 aTimestamp, BSTR aFlags, BOOL aFWasDeleted) { return smth PushGuestProperty (aName, aValue, aTimestamp, aFlags, aFWasDeleted); }
#define COM_FORWARD_IInternalMachineControl_PushGuestProperty_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_PushGuestProperty_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_PushGuestProperty_TO_BASE(base) COM_FORWARD_IInternalMachineControl_PushGuestProperty_TO (base::)
#define COM_FORWARD_IInternalMachineControl_LockMedia_TO(smth) HRESULT STDMETHODCALLTYPE LockMedia() { return smth LockMedia(); }
#define COM_FORWARD_IInternalMachineControl_LockMedia_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_LockMedia_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_LockMedia_TO_BASE(base) COM_FORWARD_IInternalMachineControl_LockMedia_TO (base::)
#define COM_FORWARD_IInternalMachineControl_UnlockMedia_TO(smth) HRESULT STDMETHODCALLTYPE UnlockMedia() { return smth UnlockMedia(); }
#define COM_FORWARD_IInternalMachineControl_UnlockMedia_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_UnlockMedia_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_UnlockMedia_TO_BASE(base) COM_FORWARD_IInternalMachineControl_UnlockMedia_TO (base::)
#define COM_FORWARD_IInternalMachineControl_EjectMedium_TO(smth) HRESULT STDMETHODCALLTYPE EjectMedium (IMediumAttachment * aAttachment, IMediumAttachment * * aNewAttachment) { return smth EjectMedium (aAttachment, aNewAttachment); }
#define COM_FORWARD_IInternalMachineControl_EjectMedium_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_EjectMedium_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_EjectMedium_TO_BASE(base) COM_FORWARD_IInternalMachineControl_EjectMedium_TO (base::)
#define COM_FORWARD_IInternalMachineControl_ReportVmStatistics_TO(smth) HRESULT STDMETHODCALLTYPE ReportVmStatistics (ULONG aValidStats, ULONG aCpuUser, ULONG aCpuKernel, ULONG aCpuIdle, ULONG aMemTotal, ULONG aMemFree, ULONG aMemBalloon, ULONG aMemShared, ULONG aMemCache, ULONG aPagedTotal, ULONG aMemAllocTotal, ULONG aMemFreeTotal, ULONG aMemBalloonTotal, ULONG aMemSharedTotal, ULONG aVmNetRx, ULONG aVmNetTx) { return smth ReportVmStatistics (aValidStats, aCpuUser, aCpuKernel, aCpuIdle, aMemTotal, aMemFree, aMemBalloon, aMemShared, aMemCache, aPagedTotal, aMemAllocTotal, aMemFreeTotal, aMemBalloonTotal, aMemSharedTotal, aVmNetRx, aVmNetTx); }
#define COM_FORWARD_IInternalMachineControl_ReportVmStatistics_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_ReportVmStatistics_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_ReportVmStatistics_TO_BASE(base) COM_FORWARD_IInternalMachineControl_ReportVmStatistics_TO (base::)
#define COM_FORWARD_IInternalMachineControl_AuthenticateExternal_TO(smth) HRESULT STDMETHODCALLTYPE AuthenticateExternal (SAFEARRAY * * aAuthParams, BSTR * aResult) { return smth AuthenticateExternal (aAuthParams, aResult); }
#define COM_FORWARD_IInternalMachineControl_AuthenticateExternal_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_AuthenticateExternal_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_AuthenticateExternal_TO_BASE(base) COM_FORWARD_IInternalMachineControl_AuthenticateExternal_TO (base::)
#define COM_FORWARD_IInternalMachineControl_TO(smth) COM_FORWARD_IInternalMachineControl_UpdateState_TO (smth) COM_FORWARD_IInternalMachineControl_BeginPowerUp_TO (smth) COM_FORWARD_IInternalMachineControl_EndPowerUp_TO (smth) COM_FORWARD_IInternalMachineControl_BeginPoweringDown_TO (smth) COM_FORWARD_IInternalMachineControl_EndPoweringDown_TO (smth) COM_FORWARD_IInternalMachineControl_RunUSBDeviceFilters_TO (smth) COM_FORWARD_IInternalMachineControl_CaptureUSBDevice_TO (smth) COM_FORWARD_IInternalMachineControl_DetachUSBDevice_TO (smth) COM_FORWARD_IInternalMachineControl_AutoCaptureUSBDevices_TO (smth) COM_FORWARD_IInternalMachineControl_DetachAllUSBDevices_TO (smth) COM_FORWARD_IInternalMachineControl_OnSessionEnd_TO (smth) COM_FORWARD_IInternalMachineControl_FinishOnlineMergeMedium_TO (smth) COM_FORWARD_IInternalMachineControl_PullGuestProperties_TO (smth) COM_FORWARD_IInternalMachineControl_PushGuestProperty_TO (smth) COM_FORWARD_IInternalMachineControl_LockMedia_TO (smth) COM_FORWARD_IInternalMachineControl_UnlockMedia_TO (smth) COM_FORWARD_IInternalMachineControl_EjectMedium_TO (smth) COM_FORWARD_IInternalMachineControl_ReportVmStatistics_TO (smth) COM_FORWARD_IInternalMachineControl_AuthenticateExternal_TO (smth) 
#define COM_FORWARD_IInternalMachineControl_TO_OBJ(obj) COM_FORWARD_IInternalMachineControl_TO ((obj)->)
#define COM_FORWARD_IInternalMachineControl_TO_BASE(base) COM_FORWARD_IInternalMachineControl_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0017_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0017_v0_0_s_ifspec;

#ifndef __IGraphicsAdapter_INTERFACE_DEFINED__
#define __IGraphicsAdapter_INTERFACE_DEFINED__

/* interface IGraphicsAdapter */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGraphicsAdapter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("13ee6eb4-06fe-406b-ad69-f6e08b0587a3")
    IGraphicsAdapter : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GraphicsControllerType( 
            /* [retval][out] */ GraphicsControllerType *aGraphicsControllerType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GraphicsControllerType( 
            /* [in] */ GraphicsControllerType aGraphicsControllerType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VRAMSize( 
            /* [retval][out] */ ULONG *aVRAMSize) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VRAMSize( 
            /* [in] */ ULONG aVRAMSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MonitorCount( 
            /* [retval][out] */ ULONG *aMonitorCount) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MonitorCount( 
            /* [in] */ ULONG aMonitorCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IGraphicsAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IGraphicsAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IGraphicsAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IGraphicsAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IGraphicsAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IGraphicsAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IGraphicsAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IGraphicsAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetFeature( 
            /* [in] */ GraphicsFeature aFeature,
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsFeatureEnabled( 
            /* [in] */ GraphicsFeature aFeature,
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IGraphicsAdapter( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IGraphicsAdapter( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IGraphicsAdapter( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IGraphicsAdapter( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGraphicsAdapterVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGraphicsAdapter * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGraphicsAdapter * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGraphicsAdapter * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGraphicsAdapter * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGraphicsAdapter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGraphicsAdapter * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGraphicsAdapter * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, get_GraphicsControllerType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GraphicsControllerType )( 
            IGraphicsAdapter * This,
            /* [retval][out] */ GraphicsControllerType *aGraphicsControllerType);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, put_GraphicsControllerType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GraphicsControllerType )( 
            IGraphicsAdapter * This,
            /* [in] */ GraphicsControllerType aGraphicsControllerType);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, get_VRAMSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VRAMSize )( 
            IGraphicsAdapter * This,
            /* [retval][out] */ ULONG *aVRAMSize);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, put_VRAMSize)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VRAMSize )( 
            IGraphicsAdapter * This,
            /* [in] */ ULONG aVRAMSize);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, get_MonitorCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MonitorCount )( 
            IGraphicsAdapter * This,
            /* [retval][out] */ ULONG *aMonitorCount);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, put_MonitorCount)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MonitorCount )( 
            IGraphicsAdapter * This,
            /* [in] */ ULONG aMonitorCount);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, get_InternalAndReservedAttribute1IGraphicsAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IGraphicsAdapter )( 
            IGraphicsAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, get_InternalAndReservedAttribute2IGraphicsAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IGraphicsAdapter )( 
            IGraphicsAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, get_InternalAndReservedAttribute3IGraphicsAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IGraphicsAdapter )( 
            IGraphicsAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, get_InternalAndReservedAttribute4IGraphicsAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IGraphicsAdapter )( 
            IGraphicsAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, get_InternalAndReservedAttribute5IGraphicsAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IGraphicsAdapter )( 
            IGraphicsAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, get_InternalAndReservedAttribute6IGraphicsAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IGraphicsAdapter )( 
            IGraphicsAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, get_InternalAndReservedAttribute7IGraphicsAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IGraphicsAdapter )( 
            IGraphicsAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, get_InternalAndReservedAttribute8IGraphicsAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IGraphicsAdapter )( 
            IGraphicsAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, SetFeature)
        HRESULT ( STDMETHODCALLTYPE *SetFeature )( 
            IGraphicsAdapter * This,
            /* [in] */ GraphicsFeature aFeature,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, IsFeatureEnabled)
        HRESULT ( STDMETHODCALLTYPE *IsFeatureEnabled )( 
            IGraphicsAdapter * This,
            /* [in] */ GraphicsFeature aFeature,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, InternalAndReservedMethod1IGraphicsAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IGraphicsAdapter )( 
            IGraphicsAdapter * This);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, InternalAndReservedMethod2IGraphicsAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IGraphicsAdapter )( 
            IGraphicsAdapter * This);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, InternalAndReservedMethod3IGraphicsAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IGraphicsAdapter )( 
            IGraphicsAdapter * This);
        
        DECLSPEC_XFGVIRT(IGraphicsAdapter, InternalAndReservedMethod4IGraphicsAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IGraphicsAdapter )( 
            IGraphicsAdapter * This);
        
        END_INTERFACE
    } IGraphicsAdapterVtbl;

    interface IGraphicsAdapter
    {
        CONST_VTBL struct IGraphicsAdapterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGraphicsAdapter_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGraphicsAdapter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGraphicsAdapter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGraphicsAdapter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGraphicsAdapter_get_GraphicsControllerType(This,aGraphicsControllerType)	\
    ( (This)->lpVtbl -> get_GraphicsControllerType(This,aGraphicsControllerType) ) 

#define IGraphicsAdapter_put_GraphicsControllerType(This,aGraphicsControllerType)	\
    ( (This)->lpVtbl -> put_GraphicsControllerType(This,aGraphicsControllerType) ) 

#define IGraphicsAdapter_get_VRAMSize(This,aVRAMSize)	\
    ( (This)->lpVtbl -> get_VRAMSize(This,aVRAMSize) ) 

#define IGraphicsAdapter_put_VRAMSize(This,aVRAMSize)	\
    ( (This)->lpVtbl -> put_VRAMSize(This,aVRAMSize) ) 

#define IGraphicsAdapter_get_MonitorCount(This,aMonitorCount)	\
    ( (This)->lpVtbl -> get_MonitorCount(This,aMonitorCount) ) 

#define IGraphicsAdapter_put_MonitorCount(This,aMonitorCount)	\
    ( (This)->lpVtbl -> put_MonitorCount(This,aMonitorCount) ) 

#define IGraphicsAdapter_get_InternalAndReservedAttribute1IGraphicsAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IGraphicsAdapter(This,aReserved) ) 

#define IGraphicsAdapter_get_InternalAndReservedAttribute2IGraphicsAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IGraphicsAdapter(This,aReserved) ) 

#define IGraphicsAdapter_get_InternalAndReservedAttribute3IGraphicsAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IGraphicsAdapter(This,aReserved) ) 

#define IGraphicsAdapter_get_InternalAndReservedAttribute4IGraphicsAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IGraphicsAdapter(This,aReserved) ) 

#define IGraphicsAdapter_get_InternalAndReservedAttribute5IGraphicsAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IGraphicsAdapter(This,aReserved) ) 

#define IGraphicsAdapter_get_InternalAndReservedAttribute6IGraphicsAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IGraphicsAdapter(This,aReserved) ) 

#define IGraphicsAdapter_get_InternalAndReservedAttribute7IGraphicsAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IGraphicsAdapter(This,aReserved) ) 

#define IGraphicsAdapter_get_InternalAndReservedAttribute8IGraphicsAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IGraphicsAdapter(This,aReserved) ) 

#define IGraphicsAdapter_SetFeature(This,aFeature,aEnabled)	\
    ( (This)->lpVtbl -> SetFeature(This,aFeature,aEnabled) ) 

#define IGraphicsAdapter_IsFeatureEnabled(This,aFeature,aEnabled)	\
    ( (This)->lpVtbl -> IsFeatureEnabled(This,aFeature,aEnabled) ) 

#define IGraphicsAdapter_InternalAndReservedMethod1IGraphicsAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IGraphicsAdapter(This) ) 

#define IGraphicsAdapter_InternalAndReservedMethod2IGraphicsAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IGraphicsAdapter(This) ) 

#define IGraphicsAdapter_InternalAndReservedMethod3IGraphicsAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IGraphicsAdapter(This) ) 

#define IGraphicsAdapter_InternalAndReservedMethod4IGraphicsAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IGraphicsAdapter(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGraphicsAdapter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0018 */
/* [local] */ 

#define COM_FORWARD_IGraphicsAdapter_GETTER_GraphicsControllerType_TO(smth) HRESULT STDMETHODCALLTYPE get_GraphicsControllerType (GraphicsControllerType * aGraphicsControllerType) { return smth get_GraphicsControllerType (aGraphicsControllerType); }
#define COM_FORWARD_IGraphicsAdapter_GETTER_GraphicsControllerType_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_GETTER_GraphicsControllerType_TO ((obj)->)
#define COM_FORWARD_IGraphicsAdapter_GETTER_GraphicsControllerType_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_GETTER_GraphicsControllerType_TO (base::)
#define COM_FORWARD_IGraphicsAdapter_SETTER_GraphicsControllerType_TO(smth) HRESULT STDMETHODCALLTYPE put_GraphicsControllerType (GraphicsControllerType aGraphicsControllerType) { return smth put_GraphicsControllerType (aGraphicsControllerType); }
#define COM_FORWARD_IGraphicsAdapter_SETTER_GraphicsControllerType_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_SETTER_GraphicsControllerType_TO ((obj)->)
#define COM_FORWARD_IGraphicsAdapter_SETTER_GraphicsControllerType_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_SETTER_GraphicsControllerType_TO (base::)
#define COM_FORWARD_IGraphicsAdapter_GETTER_VRAMSize_TO(smth) HRESULT STDMETHODCALLTYPE get_VRAMSize (ULONG * aVRAMSize) { return smth get_VRAMSize (aVRAMSize); }
#define COM_FORWARD_IGraphicsAdapter_GETTER_VRAMSize_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_GETTER_VRAMSize_TO ((obj)->)
#define COM_FORWARD_IGraphicsAdapter_GETTER_VRAMSize_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_GETTER_VRAMSize_TO (base::)
#define COM_FORWARD_IGraphicsAdapter_SETTER_VRAMSize_TO(smth) HRESULT STDMETHODCALLTYPE put_VRAMSize (ULONG aVRAMSize) { return smth put_VRAMSize (aVRAMSize); }
#define COM_FORWARD_IGraphicsAdapter_SETTER_VRAMSize_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_SETTER_VRAMSize_TO ((obj)->)
#define COM_FORWARD_IGraphicsAdapter_SETTER_VRAMSize_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_SETTER_VRAMSize_TO (base::)
#define COM_FORWARD_IGraphicsAdapter_GETTER_MonitorCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MonitorCount (ULONG * aMonitorCount) { return smth get_MonitorCount (aMonitorCount); }
#define COM_FORWARD_IGraphicsAdapter_GETTER_MonitorCount_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_GETTER_MonitorCount_TO ((obj)->)
#define COM_FORWARD_IGraphicsAdapter_GETTER_MonitorCount_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_GETTER_MonitorCount_TO (base::)
#define COM_FORWARD_IGraphicsAdapter_SETTER_MonitorCount_TO(smth) HRESULT STDMETHODCALLTYPE put_MonitorCount (ULONG aMonitorCount) { return smth put_MonitorCount (aMonitorCount); }
#define COM_FORWARD_IGraphicsAdapter_SETTER_MonitorCount_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_SETTER_MonitorCount_TO ((obj)->)
#define COM_FORWARD_IGraphicsAdapter_SETTER_MonitorCount_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_SETTER_MonitorCount_TO (base::)
#define COM_FORWARD_IGraphicsAdapter_SetFeature_TO(smth) HRESULT STDMETHODCALLTYPE SetFeature (GraphicsFeature aFeature, BOOL aEnabled) { return smth SetFeature (aFeature, aEnabled); }
#define COM_FORWARD_IGraphicsAdapter_SetFeature_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_SetFeature_TO ((obj)->)
#define COM_FORWARD_IGraphicsAdapter_SetFeature_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_SetFeature_TO (base::)
#define COM_FORWARD_IGraphicsAdapter_IsFeatureEnabled_TO(smth) HRESULT STDMETHODCALLTYPE IsFeatureEnabled (GraphicsFeature aFeature, BOOL * aEnabled) { return smth IsFeatureEnabled (aFeature, aEnabled); }
#define COM_FORWARD_IGraphicsAdapter_IsFeatureEnabled_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_IsFeatureEnabled_TO ((obj)->)
#define COM_FORWARD_IGraphicsAdapter_IsFeatureEnabled_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_IsFeatureEnabled_TO (base::)
#define COM_FORWARD_IGraphicsAdapter_TO(smth) COM_FORWARD_IGraphicsAdapter_GETTER_GraphicsControllerType_TO (smth) COM_FORWARD_IGraphicsAdapter_SETTER_GraphicsControllerType_TO (smth) COM_FORWARD_IGraphicsAdapter_GETTER_VRAMSize_TO (smth) COM_FORWARD_IGraphicsAdapter_SETTER_VRAMSize_TO (smth) COM_FORWARD_IGraphicsAdapter_GETTER_MonitorCount_TO (smth) COM_FORWARD_IGraphicsAdapter_SETTER_MonitorCount_TO (smth) COM_FORWARD_IGraphicsAdapter_SetFeature_TO (smth) COM_FORWARD_IGraphicsAdapter_IsFeatureEnabled_TO (smth) 
#define COM_FORWARD_IGraphicsAdapter_TO_OBJ(obj) COM_FORWARD_IGraphicsAdapter_TO ((obj)->)
#define COM_FORWARD_IGraphicsAdapter_TO_BASE(base) COM_FORWARD_IGraphicsAdapter_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0018_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0018_v0_0_s_ifspec;

#ifndef __IFirmwareSettings_INTERFACE_DEFINED__
#define __IFirmwareSettings_INTERFACE_DEFINED__

/* interface IFirmwareSettings */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IFirmwareSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("426EF1B8-DE91-49FB-ABC3-0E2BAE654FF2")
    IFirmwareSettings : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FirmwareType( 
            /* [retval][out] */ FirmwareType *aFirmwareType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FirmwareType( 
            /* [in] */ FirmwareType aFirmwareType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogoFadeIn( 
            /* [retval][out] */ BOOL *aLogoFadeIn) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LogoFadeIn( 
            /* [in] */ BOOL aLogoFadeIn) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogoFadeOut( 
            /* [retval][out] */ BOOL *aLogoFadeOut) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LogoFadeOut( 
            /* [in] */ BOOL aLogoFadeOut) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogoDisplayTime( 
            /* [retval][out] */ ULONG *aLogoDisplayTime) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LogoDisplayTime( 
            /* [in] */ ULONG aLogoDisplayTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogoImagePath( 
            /* [retval][out] */ BSTR *aLogoImagePath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LogoImagePath( 
            /* [in] */ BSTR aLogoImagePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BootMenuMode( 
            /* [retval][out] */ FirmwareBootMenuMode *aBootMenuMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BootMenuMode( 
            /* [in] */ FirmwareBootMenuMode aBootMenuMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ACPIEnabled( 
            /* [retval][out] */ BOOL *aACPIEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ACPIEnabled( 
            /* [in] */ BOOL aACPIEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IOAPICEnabled( 
            /* [retval][out] */ BOOL *aIOAPICEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IOAPICEnabled( 
            /* [in] */ BOOL aIOAPICEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_APICMode( 
            /* [retval][out] */ APICMode *aAPICMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_APICMode( 
            /* [in] */ APICMode aAPICMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TimeOffset( 
            /* [retval][out] */ LONG64 *aTimeOffset) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TimeOffset( 
            /* [in] */ LONG64 aTimeOffset) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PXEDebugEnabled( 
            /* [retval][out] */ BOOL *aPXEDebugEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PXEDebugEnabled( 
            /* [in] */ BOOL aPXEDebugEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SMBIOSUuidLittleEndian( 
            /* [retval][out] */ BOOL *aSMBIOSUuidLittleEndian) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SMBIOSUuidLittleEndian( 
            /* [in] */ BOOL aSMBIOSUuidLittleEndian) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutoSerialNumGen( 
            /* [retval][out] */ BOOL *aAutoSerialNumGen) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutoSerialNumGen( 
            /* [in] */ BOOL aAutoSerialNumGen) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IFirmwareSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IFirmwareSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IFirmwareSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IFirmwareSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IFirmwareSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IFirmwareSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IFirmwareSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IFirmwareSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IFirmwareSettings( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IFirmwareSettings( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IFirmwareSettingsVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IFirmwareSettings * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IFirmwareSettings * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IFirmwareSettings * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IFirmwareSettings * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IFirmwareSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IFirmwareSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IFirmwareSettings * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_FirmwareType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FirmwareType )( 
            IFirmwareSettings * This,
            /* [retval][out] */ FirmwareType *aFirmwareType);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_FirmwareType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FirmwareType )( 
            IFirmwareSettings * This,
            /* [in] */ FirmwareType aFirmwareType);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_LogoFadeIn)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogoFadeIn )( 
            IFirmwareSettings * This,
            /* [retval][out] */ BOOL *aLogoFadeIn);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_LogoFadeIn)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LogoFadeIn )( 
            IFirmwareSettings * This,
            /* [in] */ BOOL aLogoFadeIn);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_LogoFadeOut)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogoFadeOut )( 
            IFirmwareSettings * This,
            /* [retval][out] */ BOOL *aLogoFadeOut);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_LogoFadeOut)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LogoFadeOut )( 
            IFirmwareSettings * This,
            /* [in] */ BOOL aLogoFadeOut);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_LogoDisplayTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogoDisplayTime )( 
            IFirmwareSettings * This,
            /* [retval][out] */ ULONG *aLogoDisplayTime);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_LogoDisplayTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LogoDisplayTime )( 
            IFirmwareSettings * This,
            /* [in] */ ULONG aLogoDisplayTime);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_LogoImagePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogoImagePath )( 
            IFirmwareSettings * This,
            /* [retval][out] */ BSTR *aLogoImagePath);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_LogoImagePath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LogoImagePath )( 
            IFirmwareSettings * This,
            /* [in] */ BSTR aLogoImagePath);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_BootMenuMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BootMenuMode )( 
            IFirmwareSettings * This,
            /* [retval][out] */ FirmwareBootMenuMode *aBootMenuMode);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_BootMenuMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BootMenuMode )( 
            IFirmwareSettings * This,
            /* [in] */ FirmwareBootMenuMode aBootMenuMode);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_ACPIEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ACPIEnabled )( 
            IFirmwareSettings * This,
            /* [retval][out] */ BOOL *aACPIEnabled);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_ACPIEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ACPIEnabled )( 
            IFirmwareSettings * This,
            /* [in] */ BOOL aACPIEnabled);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_IOAPICEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IOAPICEnabled )( 
            IFirmwareSettings * This,
            /* [retval][out] */ BOOL *aIOAPICEnabled);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_IOAPICEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IOAPICEnabled )( 
            IFirmwareSettings * This,
            /* [in] */ BOOL aIOAPICEnabled);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_APICMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_APICMode )( 
            IFirmwareSettings * This,
            /* [retval][out] */ APICMode *aAPICMode);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_APICMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_APICMode )( 
            IFirmwareSettings * This,
            /* [in] */ APICMode aAPICMode);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_TimeOffset)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimeOffset )( 
            IFirmwareSettings * This,
            /* [retval][out] */ LONG64 *aTimeOffset);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_TimeOffset)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TimeOffset )( 
            IFirmwareSettings * This,
            /* [in] */ LONG64 aTimeOffset);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_PXEDebugEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PXEDebugEnabled )( 
            IFirmwareSettings * This,
            /* [retval][out] */ BOOL *aPXEDebugEnabled);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_PXEDebugEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PXEDebugEnabled )( 
            IFirmwareSettings * This,
            /* [in] */ BOOL aPXEDebugEnabled);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_SMBIOSUuidLittleEndian)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SMBIOSUuidLittleEndian )( 
            IFirmwareSettings * This,
            /* [retval][out] */ BOOL *aSMBIOSUuidLittleEndian);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_SMBIOSUuidLittleEndian)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SMBIOSUuidLittleEndian )( 
            IFirmwareSettings * This,
            /* [in] */ BOOL aSMBIOSUuidLittleEndian);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_AutoSerialNumGen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSerialNumGen )( 
            IFirmwareSettings * This,
            /* [retval][out] */ BOOL *aAutoSerialNumGen);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, put_AutoSerialNumGen)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSerialNumGen )( 
            IFirmwareSettings * This,
            /* [in] */ BOOL aAutoSerialNumGen);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_InternalAndReservedAttribute1IFirmwareSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFirmwareSettings )( 
            IFirmwareSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_InternalAndReservedAttribute2IFirmwareSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFirmwareSettings )( 
            IFirmwareSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_InternalAndReservedAttribute3IFirmwareSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFirmwareSettings )( 
            IFirmwareSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_InternalAndReservedAttribute4IFirmwareSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFirmwareSettings )( 
            IFirmwareSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_InternalAndReservedAttribute5IFirmwareSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFirmwareSettings )( 
            IFirmwareSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_InternalAndReservedAttribute6IFirmwareSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFirmwareSettings )( 
            IFirmwareSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_InternalAndReservedAttribute7IFirmwareSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFirmwareSettings )( 
            IFirmwareSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, get_InternalAndReservedAttribute8IFirmwareSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFirmwareSettings )( 
            IFirmwareSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, InternalAndReservedMethod1IFirmwareSettings)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IFirmwareSettings )( 
            IFirmwareSettings * This);
        
        DECLSPEC_XFGVIRT(IFirmwareSettings, InternalAndReservedMethod2IFirmwareSettings)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IFirmwareSettings )( 
            IFirmwareSettings * This);
        
        END_INTERFACE
    } IFirmwareSettingsVtbl;

    interface IFirmwareSettings
    {
        CONST_VTBL struct IFirmwareSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IFirmwareSettings_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IFirmwareSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IFirmwareSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IFirmwareSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IFirmwareSettings_get_FirmwareType(This,aFirmwareType)	\
    ( (This)->lpVtbl -> get_FirmwareType(This,aFirmwareType) ) 

#define IFirmwareSettings_put_FirmwareType(This,aFirmwareType)	\
    ( (This)->lpVtbl -> put_FirmwareType(This,aFirmwareType) ) 

#define IFirmwareSettings_get_LogoFadeIn(This,aLogoFadeIn)	\
    ( (This)->lpVtbl -> get_LogoFadeIn(This,aLogoFadeIn) ) 

#define IFirmwareSettings_put_LogoFadeIn(This,aLogoFadeIn)	\
    ( (This)->lpVtbl -> put_LogoFadeIn(This,aLogoFadeIn) ) 

#define IFirmwareSettings_get_LogoFadeOut(This,aLogoFadeOut)	\
    ( (This)->lpVtbl -> get_LogoFadeOut(This,aLogoFadeOut) ) 

#define IFirmwareSettings_put_LogoFadeOut(This,aLogoFadeOut)	\
    ( (This)->lpVtbl -> put_LogoFadeOut(This,aLogoFadeOut) ) 

#define IFirmwareSettings_get_LogoDisplayTime(This,aLogoDisplayTime)	\
    ( (This)->lpVtbl -> get_LogoDisplayTime(This,aLogoDisplayTime) ) 

#define IFirmwareSettings_put_LogoDisplayTime(This,aLogoDisplayTime)	\
    ( (This)->lpVtbl -> put_LogoDisplayTime(This,aLogoDisplayTime) ) 

#define IFirmwareSettings_get_LogoImagePath(This,aLogoImagePath)	\
    ( (This)->lpVtbl -> get_LogoImagePath(This,aLogoImagePath) ) 

#define IFirmwareSettings_put_LogoImagePath(This,aLogoImagePath)	\
    ( (This)->lpVtbl -> put_LogoImagePath(This,aLogoImagePath) ) 

#define IFirmwareSettings_get_BootMenuMode(This,aBootMenuMode)	\
    ( (This)->lpVtbl -> get_BootMenuMode(This,aBootMenuMode) ) 

#define IFirmwareSettings_put_BootMenuMode(This,aBootMenuMode)	\
    ( (This)->lpVtbl -> put_BootMenuMode(This,aBootMenuMode) ) 

#define IFirmwareSettings_get_ACPIEnabled(This,aACPIEnabled)	\
    ( (This)->lpVtbl -> get_ACPIEnabled(This,aACPIEnabled) ) 

#define IFirmwareSettings_put_ACPIEnabled(This,aACPIEnabled)	\
    ( (This)->lpVtbl -> put_ACPIEnabled(This,aACPIEnabled) ) 

#define IFirmwareSettings_get_IOAPICEnabled(This,aIOAPICEnabled)	\
    ( (This)->lpVtbl -> get_IOAPICEnabled(This,aIOAPICEnabled) ) 

#define IFirmwareSettings_put_IOAPICEnabled(This,aIOAPICEnabled)	\
    ( (This)->lpVtbl -> put_IOAPICEnabled(This,aIOAPICEnabled) ) 

#define IFirmwareSettings_get_APICMode(This,aAPICMode)	\
    ( (This)->lpVtbl -> get_APICMode(This,aAPICMode) ) 

#define IFirmwareSettings_put_APICMode(This,aAPICMode)	\
    ( (This)->lpVtbl -> put_APICMode(This,aAPICMode) ) 

#define IFirmwareSettings_get_TimeOffset(This,aTimeOffset)	\
    ( (This)->lpVtbl -> get_TimeOffset(This,aTimeOffset) ) 

#define IFirmwareSettings_put_TimeOffset(This,aTimeOffset)	\
    ( (This)->lpVtbl -> put_TimeOffset(This,aTimeOffset) ) 

#define IFirmwareSettings_get_PXEDebugEnabled(This,aPXEDebugEnabled)	\
    ( (This)->lpVtbl -> get_PXEDebugEnabled(This,aPXEDebugEnabled) ) 

#define IFirmwareSettings_put_PXEDebugEnabled(This,aPXEDebugEnabled)	\
    ( (This)->lpVtbl -> put_PXEDebugEnabled(This,aPXEDebugEnabled) ) 

#define IFirmwareSettings_get_SMBIOSUuidLittleEndian(This,aSMBIOSUuidLittleEndian)	\
    ( (This)->lpVtbl -> get_SMBIOSUuidLittleEndian(This,aSMBIOSUuidLittleEndian) ) 

#define IFirmwareSettings_put_SMBIOSUuidLittleEndian(This,aSMBIOSUuidLittleEndian)	\
    ( (This)->lpVtbl -> put_SMBIOSUuidLittleEndian(This,aSMBIOSUuidLittleEndian) ) 

#define IFirmwareSettings_get_AutoSerialNumGen(This,aAutoSerialNumGen)	\
    ( (This)->lpVtbl -> get_AutoSerialNumGen(This,aAutoSerialNumGen) ) 

#define IFirmwareSettings_put_AutoSerialNumGen(This,aAutoSerialNumGen)	\
    ( (This)->lpVtbl -> put_AutoSerialNumGen(This,aAutoSerialNumGen) ) 

#define IFirmwareSettings_get_InternalAndReservedAttribute1IFirmwareSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFirmwareSettings(This,aReserved) ) 

#define IFirmwareSettings_get_InternalAndReservedAttribute2IFirmwareSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFirmwareSettings(This,aReserved) ) 

#define IFirmwareSettings_get_InternalAndReservedAttribute3IFirmwareSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFirmwareSettings(This,aReserved) ) 

#define IFirmwareSettings_get_InternalAndReservedAttribute4IFirmwareSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFirmwareSettings(This,aReserved) ) 

#define IFirmwareSettings_get_InternalAndReservedAttribute5IFirmwareSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFirmwareSettings(This,aReserved) ) 

#define IFirmwareSettings_get_InternalAndReservedAttribute6IFirmwareSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFirmwareSettings(This,aReserved) ) 

#define IFirmwareSettings_get_InternalAndReservedAttribute7IFirmwareSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFirmwareSettings(This,aReserved) ) 

#define IFirmwareSettings_get_InternalAndReservedAttribute8IFirmwareSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFirmwareSettings(This,aReserved) ) 

#define IFirmwareSettings_InternalAndReservedMethod1IFirmwareSettings(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IFirmwareSettings(This) ) 

#define IFirmwareSettings_InternalAndReservedMethod2IFirmwareSettings(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IFirmwareSettings(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IFirmwareSettings_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0019 */
/* [local] */ 

#define COM_FORWARD_IFirmwareSettings_GETTER_FirmwareType_TO(smth) HRESULT STDMETHODCALLTYPE get_FirmwareType (FirmwareType * aFirmwareType) { return smth get_FirmwareType (aFirmwareType); }
#define COM_FORWARD_IFirmwareSettings_GETTER_FirmwareType_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_FirmwareType_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_FirmwareType_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_FirmwareType_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_FirmwareType_TO(smth) HRESULT STDMETHODCALLTYPE put_FirmwareType (FirmwareType aFirmwareType) { return smth put_FirmwareType (aFirmwareType); }
#define COM_FORWARD_IFirmwareSettings_SETTER_FirmwareType_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_FirmwareType_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_FirmwareType_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_FirmwareType_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeIn_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoFadeIn (BOOL * aLogoFadeIn) { return smth get_LogoFadeIn (aLogoFadeIn); }
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeIn_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeIn_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeIn_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeIn_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeIn_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoFadeIn (BOOL aLogoFadeIn) { return smth put_LogoFadeIn (aLogoFadeIn); }
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeIn_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeIn_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeIn_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeIn_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeOut_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoFadeOut (BOOL * aLogoFadeOut) { return smth get_LogoFadeOut (aLogoFadeOut); }
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeOut_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeOut_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeOut_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeOut_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeOut_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoFadeOut (BOOL aLogoFadeOut) { return smth put_LogoFadeOut (aLogoFadeOut); }
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeOut_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeOut_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeOut_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeOut_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoDisplayTime_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoDisplayTime (ULONG * aLogoDisplayTime) { return smth get_LogoDisplayTime (aLogoDisplayTime); }
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoDisplayTime_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_LogoDisplayTime_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoDisplayTime_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_LogoDisplayTime_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoDisplayTime_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoDisplayTime (ULONG aLogoDisplayTime) { return smth put_LogoDisplayTime (aLogoDisplayTime); }
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoDisplayTime_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_LogoDisplayTime_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoDisplayTime_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_LogoDisplayTime_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoImagePath_TO(smth) HRESULT STDMETHODCALLTYPE get_LogoImagePath (BSTR * aLogoImagePath) { return smth get_LogoImagePath (aLogoImagePath); }
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoImagePath_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_LogoImagePath_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_LogoImagePath_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_LogoImagePath_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoImagePath_TO(smth) HRESULT STDMETHODCALLTYPE put_LogoImagePath (BSTR aLogoImagePath) { return smth put_LogoImagePath (aLogoImagePath); }
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoImagePath_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_LogoImagePath_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_LogoImagePath_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_LogoImagePath_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_BootMenuMode_TO(smth) HRESULT STDMETHODCALLTYPE get_BootMenuMode (FirmwareBootMenuMode * aBootMenuMode) { return smth get_BootMenuMode (aBootMenuMode); }
#define COM_FORWARD_IFirmwareSettings_GETTER_BootMenuMode_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_BootMenuMode_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_BootMenuMode_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_BootMenuMode_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_BootMenuMode_TO(smth) HRESULT STDMETHODCALLTYPE put_BootMenuMode (FirmwareBootMenuMode aBootMenuMode) { return smth put_BootMenuMode (aBootMenuMode); }
#define COM_FORWARD_IFirmwareSettings_SETTER_BootMenuMode_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_BootMenuMode_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_BootMenuMode_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_BootMenuMode_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_ACPIEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_ACPIEnabled (BOOL * aACPIEnabled) { return smth get_ACPIEnabled (aACPIEnabled); }
#define COM_FORWARD_IFirmwareSettings_GETTER_ACPIEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_ACPIEnabled_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_ACPIEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_ACPIEnabled_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_ACPIEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_ACPIEnabled (BOOL aACPIEnabled) { return smth put_ACPIEnabled (aACPIEnabled); }
#define COM_FORWARD_IFirmwareSettings_SETTER_ACPIEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_ACPIEnabled_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_ACPIEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_ACPIEnabled_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_IOAPICEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_IOAPICEnabled (BOOL * aIOAPICEnabled) { return smth get_IOAPICEnabled (aIOAPICEnabled); }
#define COM_FORWARD_IFirmwareSettings_GETTER_IOAPICEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_IOAPICEnabled_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_IOAPICEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_IOAPICEnabled_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_IOAPICEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_IOAPICEnabled (BOOL aIOAPICEnabled) { return smth put_IOAPICEnabled (aIOAPICEnabled); }
#define COM_FORWARD_IFirmwareSettings_SETTER_IOAPICEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_IOAPICEnabled_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_IOAPICEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_IOAPICEnabled_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_APICMode_TO(smth) HRESULT STDMETHODCALLTYPE get_APICMode (APICMode * aAPICMode) { return smth get_APICMode (aAPICMode); }
#define COM_FORWARD_IFirmwareSettings_GETTER_APICMode_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_APICMode_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_APICMode_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_APICMode_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_APICMode_TO(smth) HRESULT STDMETHODCALLTYPE put_APICMode (APICMode aAPICMode) { return smth put_APICMode (aAPICMode); }
#define COM_FORWARD_IFirmwareSettings_SETTER_APICMode_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_APICMode_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_APICMode_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_APICMode_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_TimeOffset_TO(smth) HRESULT STDMETHODCALLTYPE get_TimeOffset (LONG64 * aTimeOffset) { return smth get_TimeOffset (aTimeOffset); }
#define COM_FORWARD_IFirmwareSettings_GETTER_TimeOffset_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_TimeOffset_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_TimeOffset_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_TimeOffset_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_TimeOffset_TO(smth) HRESULT STDMETHODCALLTYPE put_TimeOffset (LONG64 aTimeOffset) { return smth put_TimeOffset (aTimeOffset); }
#define COM_FORWARD_IFirmwareSettings_SETTER_TimeOffset_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_TimeOffset_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_TimeOffset_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_TimeOffset_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_PXEDebugEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_PXEDebugEnabled (BOOL * aPXEDebugEnabled) { return smth get_PXEDebugEnabled (aPXEDebugEnabled); }
#define COM_FORWARD_IFirmwareSettings_GETTER_PXEDebugEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_PXEDebugEnabled_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_PXEDebugEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_PXEDebugEnabled_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_PXEDebugEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_PXEDebugEnabled (BOOL aPXEDebugEnabled) { return smth put_PXEDebugEnabled (aPXEDebugEnabled); }
#define COM_FORWARD_IFirmwareSettings_SETTER_PXEDebugEnabled_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_PXEDebugEnabled_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_PXEDebugEnabled_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_PXEDebugEnabled_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_SMBIOSUuidLittleEndian_TO(smth) HRESULT STDMETHODCALLTYPE get_SMBIOSUuidLittleEndian (BOOL * aSMBIOSUuidLittleEndian) { return smth get_SMBIOSUuidLittleEndian (aSMBIOSUuidLittleEndian); }
#define COM_FORWARD_IFirmwareSettings_GETTER_SMBIOSUuidLittleEndian_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_SMBIOSUuidLittleEndian_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_SMBIOSUuidLittleEndian_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_SMBIOSUuidLittleEndian_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_SMBIOSUuidLittleEndian_TO(smth) HRESULT STDMETHODCALLTYPE put_SMBIOSUuidLittleEndian (BOOL aSMBIOSUuidLittleEndian) { return smth put_SMBIOSUuidLittleEndian (aSMBIOSUuidLittleEndian); }
#define COM_FORWARD_IFirmwareSettings_SETTER_SMBIOSUuidLittleEndian_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_SMBIOSUuidLittleEndian_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_SMBIOSUuidLittleEndian_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_SMBIOSUuidLittleEndian_TO (base::)
#define COM_FORWARD_IFirmwareSettings_GETTER_AutoSerialNumGen_TO(smth) HRESULT STDMETHODCALLTYPE get_AutoSerialNumGen (BOOL * aAutoSerialNumGen) { return smth get_AutoSerialNumGen (aAutoSerialNumGen); }
#define COM_FORWARD_IFirmwareSettings_GETTER_AutoSerialNumGen_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_GETTER_AutoSerialNumGen_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_GETTER_AutoSerialNumGen_TO_BASE(base) COM_FORWARD_IFirmwareSettings_GETTER_AutoSerialNumGen_TO (base::)
#define COM_FORWARD_IFirmwareSettings_SETTER_AutoSerialNumGen_TO(smth) HRESULT STDMETHODCALLTYPE put_AutoSerialNumGen (BOOL aAutoSerialNumGen) { return smth put_AutoSerialNumGen (aAutoSerialNumGen); }
#define COM_FORWARD_IFirmwareSettings_SETTER_AutoSerialNumGen_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_SETTER_AutoSerialNumGen_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_SETTER_AutoSerialNumGen_TO_BASE(base) COM_FORWARD_IFirmwareSettings_SETTER_AutoSerialNumGen_TO (base::)
#define COM_FORWARD_IFirmwareSettings_TO(smth) COM_FORWARD_IFirmwareSettings_GETTER_FirmwareType_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_FirmwareType_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeIn_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeIn_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_LogoFadeOut_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_LogoFadeOut_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_LogoDisplayTime_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_LogoDisplayTime_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_LogoImagePath_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_LogoImagePath_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_BootMenuMode_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_BootMenuMode_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_ACPIEnabled_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_ACPIEnabled_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_IOAPICEnabled_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_IOAPICEnabled_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_APICMode_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_APICMode_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_TimeOffset_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_TimeOffset_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_PXEDebugEnabled_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_PXEDebugEnabled_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_SMBIOSUuidLittleEndian_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_SMBIOSUuidLittleEndian_TO (smth) COM_FORWARD_IFirmwareSettings_GETTER_AutoSerialNumGen_TO (smth) COM_FORWARD_IFirmwareSettings_SETTER_AutoSerialNumGen_TO (smth) 
#define COM_FORWARD_IFirmwareSettings_TO_OBJ(obj) COM_FORWARD_IFirmwareSettings_TO ((obj)->)
#define COM_FORWARD_IFirmwareSettings_TO_BASE(base) COM_FORWARD_IFirmwareSettings_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0019_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0019_v0_0_s_ifspec;

#ifndef __ITrustedPlatformModule_INTERFACE_DEFINED__
#define __ITrustedPlatformModule_INTERFACE_DEFINED__

/* interface ITrustedPlatformModule */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ITrustedPlatformModule;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cf11d345-0241-4ea9-ac4c-c69ed3d674e3")
    ITrustedPlatformModule : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ TpmType *aType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ TpmType aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Location( 
            /* [retval][out] */ BSTR *aLocation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Location( 
            /* [in] */ BSTR aLocation) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ITrustedPlatformModule( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ITrustedPlatformModule( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ITrustedPlatformModule( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ITrustedPlatformModule( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ITrustedPlatformModule( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ITrustedPlatformModule( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ITrustedPlatformModule( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ITrustedPlatformModule( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ITrustedPlatformModule( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ITrustedPlatformModule( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ITrustedPlatformModuleVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ITrustedPlatformModule * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ITrustedPlatformModule * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ITrustedPlatformModule * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ITrustedPlatformModule * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ITrustedPlatformModule * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ITrustedPlatformModule * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ITrustedPlatformModule * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ITrustedPlatformModule * This,
            /* [retval][out] */ TpmType *aType);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, put_Type)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            ITrustedPlatformModule * This,
            /* [in] */ TpmType aType);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, get_Location)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Location )( 
            ITrustedPlatformModule * This,
            /* [retval][out] */ BSTR *aLocation);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, put_Location)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Location )( 
            ITrustedPlatformModule * This,
            /* [in] */ BSTR aLocation);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, get_InternalAndReservedAttribute1ITrustedPlatformModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ITrustedPlatformModule )( 
            ITrustedPlatformModule * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, get_InternalAndReservedAttribute2ITrustedPlatformModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ITrustedPlatformModule )( 
            ITrustedPlatformModule * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, get_InternalAndReservedAttribute3ITrustedPlatformModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ITrustedPlatformModule )( 
            ITrustedPlatformModule * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, get_InternalAndReservedAttribute4ITrustedPlatformModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ITrustedPlatformModule )( 
            ITrustedPlatformModule * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, get_InternalAndReservedAttribute5ITrustedPlatformModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ITrustedPlatformModule )( 
            ITrustedPlatformModule * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, get_InternalAndReservedAttribute6ITrustedPlatformModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ITrustedPlatformModule )( 
            ITrustedPlatformModule * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, get_InternalAndReservedAttribute7ITrustedPlatformModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ITrustedPlatformModule )( 
            ITrustedPlatformModule * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, get_InternalAndReservedAttribute8ITrustedPlatformModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ITrustedPlatformModule )( 
            ITrustedPlatformModule * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, InternalAndReservedMethod1ITrustedPlatformModule)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ITrustedPlatformModule )( 
            ITrustedPlatformModule * This);
        
        DECLSPEC_XFGVIRT(ITrustedPlatformModule, InternalAndReservedMethod2ITrustedPlatformModule)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ITrustedPlatformModule )( 
            ITrustedPlatformModule * This);
        
        END_INTERFACE
    } ITrustedPlatformModuleVtbl;

    interface ITrustedPlatformModule
    {
        CONST_VTBL struct ITrustedPlatformModuleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ITrustedPlatformModule_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ITrustedPlatformModule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ITrustedPlatformModule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ITrustedPlatformModule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ITrustedPlatformModule_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ITrustedPlatformModule_put_Type(This,aType)	\
    ( (This)->lpVtbl -> put_Type(This,aType) ) 

#define ITrustedPlatformModule_get_Location(This,aLocation)	\
    ( (This)->lpVtbl -> get_Location(This,aLocation) ) 

#define ITrustedPlatformModule_put_Location(This,aLocation)	\
    ( (This)->lpVtbl -> put_Location(This,aLocation) ) 

#define ITrustedPlatformModule_get_InternalAndReservedAttribute1ITrustedPlatformModule(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ITrustedPlatformModule(This,aReserved) ) 

#define ITrustedPlatformModule_get_InternalAndReservedAttribute2ITrustedPlatformModule(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ITrustedPlatformModule(This,aReserved) ) 

#define ITrustedPlatformModule_get_InternalAndReservedAttribute3ITrustedPlatformModule(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ITrustedPlatformModule(This,aReserved) ) 

#define ITrustedPlatformModule_get_InternalAndReservedAttribute4ITrustedPlatformModule(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ITrustedPlatformModule(This,aReserved) ) 

#define ITrustedPlatformModule_get_InternalAndReservedAttribute5ITrustedPlatformModule(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ITrustedPlatformModule(This,aReserved) ) 

#define ITrustedPlatformModule_get_InternalAndReservedAttribute6ITrustedPlatformModule(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ITrustedPlatformModule(This,aReserved) ) 

#define ITrustedPlatformModule_get_InternalAndReservedAttribute7ITrustedPlatformModule(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ITrustedPlatformModule(This,aReserved) ) 

#define ITrustedPlatformModule_get_InternalAndReservedAttribute8ITrustedPlatformModule(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ITrustedPlatformModule(This,aReserved) ) 

#define ITrustedPlatformModule_InternalAndReservedMethod1ITrustedPlatformModule(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ITrustedPlatformModule(This) ) 

#define ITrustedPlatformModule_InternalAndReservedMethod2ITrustedPlatformModule(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ITrustedPlatformModule(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ITrustedPlatformModule_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0020 */
/* [local] */ 

#define COM_FORWARD_ITrustedPlatformModule_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (TpmType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_ITrustedPlatformModule_GETTER_Type_TO_OBJ(obj) COM_FORWARD_ITrustedPlatformModule_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_ITrustedPlatformModule_GETTER_Type_TO_BASE(base) COM_FORWARD_ITrustedPlatformModule_GETTER_Type_TO (base::)
#define COM_FORWARD_ITrustedPlatformModule_SETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE put_Type (TpmType aType) { return smth put_Type (aType); }
#define COM_FORWARD_ITrustedPlatformModule_SETTER_Type_TO_OBJ(obj) COM_FORWARD_ITrustedPlatformModule_SETTER_Type_TO ((obj)->)
#define COM_FORWARD_ITrustedPlatformModule_SETTER_Type_TO_BASE(base) COM_FORWARD_ITrustedPlatformModule_SETTER_Type_TO (base::)
#define COM_FORWARD_ITrustedPlatformModule_GETTER_Location_TO(smth) HRESULT STDMETHODCALLTYPE get_Location (BSTR * aLocation) { return smth get_Location (aLocation); }
#define COM_FORWARD_ITrustedPlatformModule_GETTER_Location_TO_OBJ(obj) COM_FORWARD_ITrustedPlatformModule_GETTER_Location_TO ((obj)->)
#define COM_FORWARD_ITrustedPlatformModule_GETTER_Location_TO_BASE(base) COM_FORWARD_ITrustedPlatformModule_GETTER_Location_TO (base::)
#define COM_FORWARD_ITrustedPlatformModule_SETTER_Location_TO(smth) HRESULT STDMETHODCALLTYPE put_Location (BSTR aLocation) { return smth put_Location (aLocation); }
#define COM_FORWARD_ITrustedPlatformModule_SETTER_Location_TO_OBJ(obj) COM_FORWARD_ITrustedPlatformModule_SETTER_Location_TO ((obj)->)
#define COM_FORWARD_ITrustedPlatformModule_SETTER_Location_TO_BASE(base) COM_FORWARD_ITrustedPlatformModule_SETTER_Location_TO (base::)
#define COM_FORWARD_ITrustedPlatformModule_TO(smth) COM_FORWARD_ITrustedPlatformModule_GETTER_Type_TO (smth) COM_FORWARD_ITrustedPlatformModule_SETTER_Type_TO (smth) COM_FORWARD_ITrustedPlatformModule_GETTER_Location_TO (smth) COM_FORWARD_ITrustedPlatformModule_SETTER_Location_TO (smth) 
#define COM_FORWARD_ITrustedPlatformModule_TO_OBJ(obj) COM_FORWARD_ITrustedPlatformModule_TO ((obj)->)
#define COM_FORWARD_ITrustedPlatformModule_TO_BASE(base) COM_FORWARD_ITrustedPlatformModule_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0020_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0020_v0_0_s_ifspec;

#ifndef __IRecordingScreenSettings_INTERFACE_DEFINED__
#define __IRecordingScreenSettings_INTERFACE_DEFINED__

/* interface IRecordingScreenSettings */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IRecordingScreenSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c1844087-ec6b-488d-afbb-c90f6452a04b")
    IRecordingScreenSettings : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ ULONG *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Features( 
            /* [retval][out] */ SAFEARRAY * *aFeatures) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Features( 
            /* [in] */ SAFEARRAY * aFeatures) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Destination( 
            /* [retval][out] */ RecordingDestination *aDestination) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Destination( 
            /* [in] */ RecordingDestination aDestination) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Filename( 
            /* [retval][out] */ BSTR *aFilename) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Filename( 
            /* [in] */ BSTR aFilename) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxTime( 
            /* [retval][out] */ ULONG *aMaxTime) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MaxTime( 
            /* [in] */ ULONG aMaxTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxFileSize( 
            /* [retval][out] */ ULONG *aMaxFileSize) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MaxFileSize( 
            /* [in] */ ULONG aMaxFileSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Options( 
            /* [retval][out] */ BSTR *aOptions) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Options( 
            /* [in] */ BSTR aOptions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioCodec( 
            /* [retval][out] */ RecordingAudioCodec *aAudioCodec) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AudioCodec( 
            /* [in] */ RecordingAudioCodec aAudioCodec) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioRateControlMode( 
            /* [retval][out] */ RecordingRateControlMode *aAudioRateControlMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AudioRateControlMode( 
            /* [in] */ RecordingRateControlMode aAudioRateControlMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioDeadline( 
            /* [retval][out] */ RecordingCodecDeadline *aAudioDeadline) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AudioDeadline( 
            /* [in] */ RecordingCodecDeadline aAudioDeadline) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioHz( 
            /* [retval][out] */ ULONG *aAudioHz) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AudioHz( 
            /* [in] */ ULONG aAudioHz) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioBits( 
            /* [retval][out] */ ULONG *aAudioBits) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AudioBits( 
            /* [in] */ ULONG aAudioBits) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioChannels( 
            /* [retval][out] */ ULONG *aAudioChannels) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AudioChannels( 
            /* [in] */ ULONG aAudioChannels) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoCodec( 
            /* [retval][out] */ RecordingVideoCodec *aVideoCodec) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VideoCodec( 
            /* [in] */ RecordingVideoCodec aVideoCodec) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoDeadline( 
            /* [retval][out] */ RecordingCodecDeadline *aVideoDeadline) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VideoDeadline( 
            /* [in] */ RecordingCodecDeadline aVideoDeadline) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoWidth( 
            /* [retval][out] */ ULONG *aVideoWidth) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VideoWidth( 
            /* [in] */ ULONG aVideoWidth) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoHeight( 
            /* [retval][out] */ ULONG *aVideoHeight) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VideoHeight( 
            /* [in] */ ULONG aVideoHeight) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoRate( 
            /* [retval][out] */ ULONG *aVideoRate) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VideoRate( 
            /* [in] */ ULONG aVideoRate) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoRateControlMode( 
            /* [retval][out] */ RecordingRateControlMode *aVideoRateControlMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VideoRateControlMode( 
            /* [in] */ RecordingRateControlMode aVideoRateControlMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoFPS( 
            /* [retval][out] */ ULONG *aVideoFPS) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VideoFPS( 
            /* [in] */ ULONG aVideoFPS) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoScalingMode( 
            /* [retval][out] */ RecordingVideoScalingMode *aVideoScalingMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VideoScalingMode( 
            /* [in] */ RecordingVideoScalingMode aVideoScalingMode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsFeatureEnabled( 
            /* [in] */ RecordingFeature aFeature,
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRecordingScreenSettingsVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRecordingScreenSettings * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRecordingScreenSettings * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRecordingScreenSettings * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRecordingScreenSettings * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRecordingScreenSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRecordingScreenSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRecordingScreenSettings * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ ULONG *aId);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IRecordingScreenSettings * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_Features)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Features )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ SAFEARRAY * *aFeatures);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_Features)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Features )( 
            IRecordingScreenSettings * This,
            /* [in] */ SAFEARRAY * aFeatures);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_Destination)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Destination )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ RecordingDestination *aDestination);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_Destination)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Destination )( 
            IRecordingScreenSettings * This,
            /* [in] */ RecordingDestination aDestination);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_Filename)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Filename )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ BSTR *aFilename);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_Filename)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Filename )( 
            IRecordingScreenSettings * This,
            /* [in] */ BSTR aFilename);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_MaxTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxTime )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ ULONG *aMaxTime);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_MaxTime)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxTime )( 
            IRecordingScreenSettings * This,
            /* [in] */ ULONG aMaxTime);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_MaxFileSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxFileSize )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ ULONG *aMaxFileSize);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_MaxFileSize)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxFileSize )( 
            IRecordingScreenSettings * This,
            /* [in] */ ULONG aMaxFileSize);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_Options)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Options )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ BSTR *aOptions);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_Options)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Options )( 
            IRecordingScreenSettings * This,
            /* [in] */ BSTR aOptions);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_AudioCodec)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioCodec )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ RecordingAudioCodec *aAudioCodec);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_AudioCodec)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioCodec )( 
            IRecordingScreenSettings * This,
            /* [in] */ RecordingAudioCodec aAudioCodec);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_AudioRateControlMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioRateControlMode )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ RecordingRateControlMode *aAudioRateControlMode);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_AudioRateControlMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioRateControlMode )( 
            IRecordingScreenSettings * This,
            /* [in] */ RecordingRateControlMode aAudioRateControlMode);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_AudioDeadline)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioDeadline )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ RecordingCodecDeadline *aAudioDeadline);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_AudioDeadline)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioDeadline )( 
            IRecordingScreenSettings * This,
            /* [in] */ RecordingCodecDeadline aAudioDeadline);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_AudioHz)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioHz )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ ULONG *aAudioHz);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_AudioHz)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioHz )( 
            IRecordingScreenSettings * This,
            /* [in] */ ULONG aAudioHz);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_AudioBits)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioBits )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ ULONG *aAudioBits);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_AudioBits)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioBits )( 
            IRecordingScreenSettings * This,
            /* [in] */ ULONG aAudioBits);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_AudioChannels)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioChannels )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ ULONG *aAudioChannels);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_AudioChannels)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioChannels )( 
            IRecordingScreenSettings * This,
            /* [in] */ ULONG aAudioChannels);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_VideoCodec)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoCodec )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ RecordingVideoCodec *aVideoCodec);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_VideoCodec)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoCodec )( 
            IRecordingScreenSettings * This,
            /* [in] */ RecordingVideoCodec aVideoCodec);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_VideoDeadline)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoDeadline )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ RecordingCodecDeadline *aVideoDeadline);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_VideoDeadline)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoDeadline )( 
            IRecordingScreenSettings * This,
            /* [in] */ RecordingCodecDeadline aVideoDeadline);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_VideoWidth)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoWidth )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ ULONG *aVideoWidth);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_VideoWidth)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoWidth )( 
            IRecordingScreenSettings * This,
            /* [in] */ ULONG aVideoWidth);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_VideoHeight)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoHeight )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ ULONG *aVideoHeight);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_VideoHeight)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoHeight )( 
            IRecordingScreenSettings * This,
            /* [in] */ ULONG aVideoHeight);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_VideoRate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoRate )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ ULONG *aVideoRate);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_VideoRate)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoRate )( 
            IRecordingScreenSettings * This,
            /* [in] */ ULONG aVideoRate);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_VideoRateControlMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoRateControlMode )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ RecordingRateControlMode *aVideoRateControlMode);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_VideoRateControlMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoRateControlMode )( 
            IRecordingScreenSettings * This,
            /* [in] */ RecordingRateControlMode aVideoRateControlMode);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_VideoFPS)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoFPS )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ ULONG *aVideoFPS);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_VideoFPS)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoFPS )( 
            IRecordingScreenSettings * This,
            /* [in] */ ULONG aVideoFPS);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, get_VideoScalingMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoScalingMode )( 
            IRecordingScreenSettings * This,
            /* [retval][out] */ RecordingVideoScalingMode *aVideoScalingMode);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, put_VideoScalingMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VideoScalingMode )( 
            IRecordingScreenSettings * This,
            /* [in] */ RecordingVideoScalingMode aVideoScalingMode);
        
        DECLSPEC_XFGVIRT(IRecordingScreenSettings, IsFeatureEnabled)
        HRESULT ( STDMETHODCALLTYPE *IsFeatureEnabled )( 
            IRecordingScreenSettings * This,
            /* [in] */ RecordingFeature aFeature,
            /* [retval][out] */ BOOL *aEnabled);
        
        END_INTERFACE
    } IRecordingScreenSettingsVtbl;

    interface IRecordingScreenSettings
    {
        CONST_VTBL struct IRecordingScreenSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRecordingScreenSettings_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRecordingScreenSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRecordingScreenSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRecordingScreenSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRecordingScreenSettings_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IRecordingScreenSettings_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IRecordingScreenSettings_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define IRecordingScreenSettings_get_Features(This,aFeatures)	\
    ( (This)->lpVtbl -> get_Features(This,aFeatures) ) 

#define IRecordingScreenSettings_put_Features(This,aFeatures)	\
    ( (This)->lpVtbl -> put_Features(This,aFeatures) ) 

#define IRecordingScreenSettings_get_Destination(This,aDestination)	\
    ( (This)->lpVtbl -> get_Destination(This,aDestination) ) 

#define IRecordingScreenSettings_put_Destination(This,aDestination)	\
    ( (This)->lpVtbl -> put_Destination(This,aDestination) ) 

#define IRecordingScreenSettings_get_Filename(This,aFilename)	\
    ( (This)->lpVtbl -> get_Filename(This,aFilename) ) 

#define IRecordingScreenSettings_put_Filename(This,aFilename)	\
    ( (This)->lpVtbl -> put_Filename(This,aFilename) ) 

#define IRecordingScreenSettings_get_MaxTime(This,aMaxTime)	\
    ( (This)->lpVtbl -> get_MaxTime(This,aMaxTime) ) 

#define IRecordingScreenSettings_put_MaxTime(This,aMaxTime)	\
    ( (This)->lpVtbl -> put_MaxTime(This,aMaxTime) ) 

#define IRecordingScreenSettings_get_MaxFileSize(This,aMaxFileSize)	\
    ( (This)->lpVtbl -> get_MaxFileSize(This,aMaxFileSize) ) 

#define IRecordingScreenSettings_put_MaxFileSize(This,aMaxFileSize)	\
    ( (This)->lpVtbl -> put_MaxFileSize(This,aMaxFileSize) ) 

#define IRecordingScreenSettings_get_Options(This,aOptions)	\
    ( (This)->lpVtbl -> get_Options(This,aOptions) ) 

#define IRecordingScreenSettings_put_Options(This,aOptions)	\
    ( (This)->lpVtbl -> put_Options(This,aOptions) ) 

#define IRecordingScreenSettings_get_AudioCodec(This,aAudioCodec)	\
    ( (This)->lpVtbl -> get_AudioCodec(This,aAudioCodec) ) 

#define IRecordingScreenSettings_put_AudioCodec(This,aAudioCodec)	\
    ( (This)->lpVtbl -> put_AudioCodec(This,aAudioCodec) ) 

#define IRecordingScreenSettings_get_AudioRateControlMode(This,aAudioRateControlMode)	\
    ( (This)->lpVtbl -> get_AudioRateControlMode(This,aAudioRateControlMode) ) 

#define IRecordingScreenSettings_put_AudioRateControlMode(This,aAudioRateControlMode)	\
    ( (This)->lpVtbl -> put_AudioRateControlMode(This,aAudioRateControlMode) ) 

#define IRecordingScreenSettings_get_AudioDeadline(This,aAudioDeadline)	\
    ( (This)->lpVtbl -> get_AudioDeadline(This,aAudioDeadline) ) 

#define IRecordingScreenSettings_put_AudioDeadline(This,aAudioDeadline)	\
    ( (This)->lpVtbl -> put_AudioDeadline(This,aAudioDeadline) ) 

#define IRecordingScreenSettings_get_AudioHz(This,aAudioHz)	\
    ( (This)->lpVtbl -> get_AudioHz(This,aAudioHz) ) 

#define IRecordingScreenSettings_put_AudioHz(This,aAudioHz)	\
    ( (This)->lpVtbl -> put_AudioHz(This,aAudioHz) ) 

#define IRecordingScreenSettings_get_AudioBits(This,aAudioBits)	\
    ( (This)->lpVtbl -> get_AudioBits(This,aAudioBits) ) 

#define IRecordingScreenSettings_put_AudioBits(This,aAudioBits)	\
    ( (This)->lpVtbl -> put_AudioBits(This,aAudioBits) ) 

#define IRecordingScreenSettings_get_AudioChannels(This,aAudioChannels)	\
    ( (This)->lpVtbl -> get_AudioChannels(This,aAudioChannels) ) 

#define IRecordingScreenSettings_put_AudioChannels(This,aAudioChannels)	\
    ( (This)->lpVtbl -> put_AudioChannels(This,aAudioChannels) ) 

#define IRecordingScreenSettings_get_VideoCodec(This,aVideoCodec)	\
    ( (This)->lpVtbl -> get_VideoCodec(This,aVideoCodec) ) 

#define IRecordingScreenSettings_put_VideoCodec(This,aVideoCodec)	\
    ( (This)->lpVtbl -> put_VideoCodec(This,aVideoCodec) ) 

#define IRecordingScreenSettings_get_VideoDeadline(This,aVideoDeadline)	\
    ( (This)->lpVtbl -> get_VideoDeadline(This,aVideoDeadline) ) 

#define IRecordingScreenSettings_put_VideoDeadline(This,aVideoDeadline)	\
    ( (This)->lpVtbl -> put_VideoDeadline(This,aVideoDeadline) ) 

#define IRecordingScreenSettings_get_VideoWidth(This,aVideoWidth)	\
    ( (This)->lpVtbl -> get_VideoWidth(This,aVideoWidth) ) 

#define IRecordingScreenSettings_put_VideoWidth(This,aVideoWidth)	\
    ( (This)->lpVtbl -> put_VideoWidth(This,aVideoWidth) ) 

#define IRecordingScreenSettings_get_VideoHeight(This,aVideoHeight)	\
    ( (This)->lpVtbl -> get_VideoHeight(This,aVideoHeight) ) 

#define IRecordingScreenSettings_put_VideoHeight(This,aVideoHeight)	\
    ( (This)->lpVtbl -> put_VideoHeight(This,aVideoHeight) ) 

#define IRecordingScreenSettings_get_VideoRate(This,aVideoRate)	\
    ( (This)->lpVtbl -> get_VideoRate(This,aVideoRate) ) 

#define IRecordingScreenSettings_put_VideoRate(This,aVideoRate)	\
    ( (This)->lpVtbl -> put_VideoRate(This,aVideoRate) ) 

#define IRecordingScreenSettings_get_VideoRateControlMode(This,aVideoRateControlMode)	\
    ( (This)->lpVtbl -> get_VideoRateControlMode(This,aVideoRateControlMode) ) 

#define IRecordingScreenSettings_put_VideoRateControlMode(This,aVideoRateControlMode)	\
    ( (This)->lpVtbl -> put_VideoRateControlMode(This,aVideoRateControlMode) ) 

#define IRecordingScreenSettings_get_VideoFPS(This,aVideoFPS)	\
    ( (This)->lpVtbl -> get_VideoFPS(This,aVideoFPS) ) 

#define IRecordingScreenSettings_put_VideoFPS(This,aVideoFPS)	\
    ( (This)->lpVtbl -> put_VideoFPS(This,aVideoFPS) ) 

#define IRecordingScreenSettings_get_VideoScalingMode(This,aVideoScalingMode)	\
    ( (This)->lpVtbl -> get_VideoScalingMode(This,aVideoScalingMode) ) 

#define IRecordingScreenSettings_put_VideoScalingMode(This,aVideoScalingMode)	\
    ( (This)->lpVtbl -> put_VideoScalingMode(This,aVideoScalingMode) ) 

#define IRecordingScreenSettings_IsFeatureEnabled(This,aFeature,aEnabled)	\
    ( (This)->lpVtbl -> IsFeatureEnabled(This,aFeature,aEnabled) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRecordingScreenSettings_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0021 */
/* [local] */ 

#define COM_FORWARD_IRecordingScreenSettings_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (ULONG * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Id_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Id_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Enabled_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_Enabled_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Features_TO(smth) HRESULT STDMETHODCALLTYPE get_Features (SAFEARRAY * * aFeatures) { return smth get_Features (aFeatures); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Features_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Features_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Features_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Features_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Features_TO(smth) HRESULT STDMETHODCALLTYPE put_Features (SAFEARRAY * aFeatures) { return smth put_Features (aFeatures); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Features_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_Features_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Features_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_Features_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Destination_TO(smth) HRESULT STDMETHODCALLTYPE get_Destination (RecordingDestination * aDestination) { return smth get_Destination (aDestination); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Destination_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Destination_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Destination_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Destination_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Destination_TO(smth) HRESULT STDMETHODCALLTYPE put_Destination (RecordingDestination aDestination) { return smth put_Destination (aDestination); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Destination_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_Destination_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Destination_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_Destination_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Filename_TO(smth) HRESULT STDMETHODCALLTYPE get_Filename (BSTR * aFilename) { return smth get_Filename (aFilename); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Filename_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Filename_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Filename_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Filename_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Filename_TO(smth) HRESULT STDMETHODCALLTYPE put_Filename (BSTR aFilename) { return smth put_Filename (aFilename); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Filename_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_Filename_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Filename_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_Filename_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxTime_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxTime (ULONG * aMaxTime) { return smth get_MaxTime (aMaxTime); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxTime_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_MaxTime_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxTime_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_MaxTime_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxTime_TO(smth) HRESULT STDMETHODCALLTYPE put_MaxTime (ULONG aMaxTime) { return smth put_MaxTime (aMaxTime); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxTime_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_MaxTime_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxTime_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_MaxTime_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxFileSize_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxFileSize (ULONG * aMaxFileSize) { return smth get_MaxFileSize (aMaxFileSize); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxFileSize_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_MaxFileSize_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_MaxFileSize_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_MaxFileSize_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxFileSize_TO(smth) HRESULT STDMETHODCALLTYPE put_MaxFileSize (ULONG aMaxFileSize) { return smth put_MaxFileSize (aMaxFileSize); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxFileSize_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_MaxFileSize_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_MaxFileSize_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_MaxFileSize_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Options_TO(smth) HRESULT STDMETHODCALLTYPE get_Options (BSTR * aOptions) { return smth get_Options (aOptions); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Options_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_Options_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_Options_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_Options_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Options_TO(smth) HRESULT STDMETHODCALLTYPE put_Options (BSTR aOptions) { return smth put_Options (aOptions); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Options_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_Options_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_Options_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_Options_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioCodec_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioCodec (RecordingAudioCodec * aAudioCodec) { return smth get_AudioCodec (aAudioCodec); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioCodec_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioCodec_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioCodec_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioCodec_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioCodec_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioCodec (RecordingAudioCodec aAudioCodec) { return smth put_AudioCodec (aAudioCodec); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioCodec_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioCodec_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioCodec_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioCodec_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioRateControlMode_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioRateControlMode (RecordingRateControlMode * aAudioRateControlMode) { return smth get_AudioRateControlMode (aAudioRateControlMode); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioRateControlMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioRateControlMode_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioRateControlMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioRateControlMode_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioRateControlMode_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioRateControlMode (RecordingRateControlMode aAudioRateControlMode) { return smth put_AudioRateControlMode (aAudioRateControlMode); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioRateControlMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioRateControlMode_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioRateControlMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioRateControlMode_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioDeadline_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioDeadline (RecordingCodecDeadline * aAudioDeadline) { return smth get_AudioDeadline (aAudioDeadline); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioDeadline_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioDeadline_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioDeadline_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioDeadline_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioDeadline_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioDeadline (RecordingCodecDeadline aAudioDeadline) { return smth put_AudioDeadline (aAudioDeadline); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioDeadline_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioDeadline_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioDeadline_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioDeadline_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioHz_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioHz (ULONG * aAudioHz) { return smth get_AudioHz (aAudioHz); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioHz_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioHz_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioHz_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioHz_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioHz_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioHz (ULONG aAudioHz) { return smth put_AudioHz (aAudioHz); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioHz_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioHz_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioHz_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioHz_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioBits_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioBits (ULONG * aAudioBits) { return smth get_AudioBits (aAudioBits); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioBits_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioBits_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioBits_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioBits_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioBits_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioBits (ULONG aAudioBits) { return smth put_AudioBits (aAudioBits); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioBits_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioBits_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioBits_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioBits_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioChannels_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioChannels (ULONG * aAudioChannels) { return smth get_AudioChannels (aAudioChannels); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioChannels_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioChannels_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_AudioChannels_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioChannels_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioChannels_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioChannels (ULONG aAudioChannels) { return smth put_AudioChannels (aAudioChannels); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioChannels_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioChannels_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_AudioChannels_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioChannels_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoCodec_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoCodec (RecordingVideoCodec * aVideoCodec) { return smth get_VideoCodec (aVideoCodec); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoCodec_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoCodec_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoCodec_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoCodec_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoCodec_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoCodec (RecordingVideoCodec aVideoCodec) { return smth put_VideoCodec (aVideoCodec); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoCodec_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoCodec_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoCodec_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoCodec_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoDeadline_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoDeadline (RecordingCodecDeadline * aVideoDeadline) { return smth get_VideoDeadline (aVideoDeadline); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoDeadline_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoDeadline_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoDeadline_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoDeadline_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoDeadline_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoDeadline (RecordingCodecDeadline aVideoDeadline) { return smth put_VideoDeadline (aVideoDeadline); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoDeadline_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoDeadline_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoDeadline_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoDeadline_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoWidth_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoWidth (ULONG * aVideoWidth) { return smth get_VideoWidth (aVideoWidth); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoWidth_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoWidth_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoWidth_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoWidth_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoWidth_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoWidth (ULONG aVideoWidth) { return smth put_VideoWidth (aVideoWidth); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoWidth_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoWidth_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoWidth_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoWidth_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoHeight_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoHeight (ULONG * aVideoHeight) { return smth get_VideoHeight (aVideoHeight); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoHeight_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoHeight_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoHeight_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoHeight_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoHeight_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoHeight (ULONG aVideoHeight) { return smth put_VideoHeight (aVideoHeight); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoHeight_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoHeight_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoHeight_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoHeight_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRate_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoRate (ULONG * aVideoRate) { return smth get_VideoRate (aVideoRate); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRate_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRate_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRate_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRate_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRate_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoRate (ULONG aVideoRate) { return smth put_VideoRate (aVideoRate); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRate_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRate_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRate_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRate_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRateControlMode_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoRateControlMode (RecordingRateControlMode * aVideoRateControlMode) { return smth get_VideoRateControlMode (aVideoRateControlMode); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRateControlMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRateControlMode_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRateControlMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRateControlMode_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRateControlMode_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoRateControlMode (RecordingRateControlMode aVideoRateControlMode) { return smth put_VideoRateControlMode (aVideoRateControlMode); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRateControlMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRateControlMode_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRateControlMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRateControlMode_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoFPS_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoFPS (ULONG * aVideoFPS) { return smth get_VideoFPS (aVideoFPS); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoFPS_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoFPS_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoFPS_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoFPS_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoFPS_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoFPS (ULONG aVideoFPS) { return smth put_VideoFPS (aVideoFPS); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoFPS_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoFPS_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoFPS_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoFPS_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoScalingMode_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoScalingMode (RecordingVideoScalingMode * aVideoScalingMode) { return smth get_VideoScalingMode (aVideoScalingMode); }
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoScalingMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoScalingMode_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_GETTER_VideoScalingMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoScalingMode_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoScalingMode_TO(smth) HRESULT STDMETHODCALLTYPE put_VideoScalingMode (RecordingVideoScalingMode aVideoScalingMode) { return smth put_VideoScalingMode (aVideoScalingMode); }
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoScalingMode_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoScalingMode_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_SETTER_VideoScalingMode_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoScalingMode_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_IsFeatureEnabled_TO(smth) HRESULT STDMETHODCALLTYPE IsFeatureEnabled (RecordingFeature aFeature, BOOL * aEnabled) { return smth IsFeatureEnabled (aFeature, aEnabled); }
#define COM_FORWARD_IRecordingScreenSettings_IsFeatureEnabled_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_IsFeatureEnabled_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_IsFeatureEnabled_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_IsFeatureEnabled_TO (base::)
#define COM_FORWARD_IRecordingScreenSettings_TO(smth) COM_FORWARD_IRecordingScreenSettings_GETTER_Id_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_Enabled_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_Enabled_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_Features_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_Features_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_Destination_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_Destination_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_Filename_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_Filename_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_MaxTime_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_MaxTime_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_MaxFileSize_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_MaxFileSize_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_Options_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_Options_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioCodec_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioCodec_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioRateControlMode_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioRateControlMode_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioDeadline_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioDeadline_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioHz_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioHz_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioBits_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioBits_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_AudioChannels_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_AudioChannels_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoCodec_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoCodec_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoDeadline_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoDeadline_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoWidth_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoWidth_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoHeight_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoHeight_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRate_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRate_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoRateControlMode_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoRateControlMode_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoFPS_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoFPS_TO (smth) COM_FORWARD_IRecordingScreenSettings_GETTER_VideoScalingMode_TO (smth) COM_FORWARD_IRecordingScreenSettings_SETTER_VideoScalingMode_TO (smth) COM_FORWARD_IRecordingScreenSettings_IsFeatureEnabled_TO (smth) 
#define COM_FORWARD_IRecordingScreenSettings_TO_OBJ(obj) COM_FORWARD_IRecordingScreenSettings_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenSettings_TO_BASE(base) COM_FORWARD_IRecordingScreenSettings_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0021_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0021_v0_0_s_ifspec;

#ifndef __IRecordingSettings_INTERFACE_DEFINED__
#define __IRecordingSettings_INTERFACE_DEFINED__

/* interface IRecordingSettings */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IRecordingSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("bea3ef5c-de2f-4b74-aa3a-15d6249371a0")
    IRecordingSettings : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Screens( 
            /* [retval][out] */ SAFEARRAY * *aScreens) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Progress( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetScreenSettings( 
            /* [in] */ ULONG aScreenId,
            /* [retval][out] */ IRecordingScreenSettings **aRecordScreenSettings) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Start( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRecordingSettingsVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRecordingSettings * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRecordingSettings * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRecordingSettings * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRecordingSettings * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRecordingSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRecordingSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRecordingSettings * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IRecordingSettings, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IRecordingSettings * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IRecordingSettings, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IRecordingSettings * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IRecordingSettings, get_Screens)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Screens )( 
            IRecordingSettings * This,
            /* [retval][out] */ SAFEARRAY * *aScreens);
        
        DECLSPEC_XFGVIRT(IRecordingSettings, get_Progress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Progress )( 
            IRecordingSettings * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IRecordingSettings, GetScreenSettings)
        HRESULT ( STDMETHODCALLTYPE *GetScreenSettings )( 
            IRecordingSettings * This,
            /* [in] */ ULONG aScreenId,
            /* [retval][out] */ IRecordingScreenSettings **aRecordScreenSettings);
        
        DECLSPEC_XFGVIRT(IRecordingSettings, Start)
        HRESULT ( STDMETHODCALLTYPE *Start )( 
            IRecordingSettings * This,
            /* [retval][out] */ IProgress **aProgress);
        
        END_INTERFACE
    } IRecordingSettingsVtbl;

    interface IRecordingSettings
    {
        CONST_VTBL struct IRecordingSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRecordingSettings_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRecordingSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRecordingSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRecordingSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRecordingSettings_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IRecordingSettings_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define IRecordingSettings_get_Screens(This,aScreens)	\
    ( (This)->lpVtbl -> get_Screens(This,aScreens) ) 

#define IRecordingSettings_get_Progress(This,aProgress)	\
    ( (This)->lpVtbl -> get_Progress(This,aProgress) ) 

#define IRecordingSettings_GetScreenSettings(This,aScreenId,aRecordScreenSettings)	\
    ( (This)->lpVtbl -> GetScreenSettings(This,aScreenId,aRecordScreenSettings) ) 

#define IRecordingSettings_Start(This,aProgress)	\
    ( (This)->lpVtbl -> Start(This,aProgress) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRecordingSettings_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0022 */
/* [local] */ 

#define COM_FORWARD_IRecordingSettings_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_IRecordingSettings_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IRecordingSettings_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IRecordingSettings_GETTER_Enabled_TO (base::)
#define COM_FORWARD_IRecordingSettings_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_IRecordingSettings_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IRecordingSettings_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IRecordingSettings_SETTER_Enabled_TO (base::)
#define COM_FORWARD_IRecordingSettings_GETTER_Screens_TO(smth) HRESULT STDMETHODCALLTYPE get_Screens (SAFEARRAY * * aScreens) { return smth get_Screens (aScreens); }
#define COM_FORWARD_IRecordingSettings_GETTER_Screens_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_GETTER_Screens_TO ((obj)->)
#define COM_FORWARD_IRecordingSettings_GETTER_Screens_TO_BASE(base) COM_FORWARD_IRecordingSettings_GETTER_Screens_TO (base::)
#define COM_FORWARD_IRecordingSettings_GETTER_Progress_TO(smth) HRESULT STDMETHODCALLTYPE get_Progress (IProgress * * aProgress) { return smth get_Progress (aProgress); }
#define COM_FORWARD_IRecordingSettings_GETTER_Progress_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_GETTER_Progress_TO ((obj)->)
#define COM_FORWARD_IRecordingSettings_GETTER_Progress_TO_BASE(base) COM_FORWARD_IRecordingSettings_GETTER_Progress_TO (base::)
#define COM_FORWARD_IRecordingSettings_GetScreenSettings_TO(smth) HRESULT STDMETHODCALLTYPE GetScreenSettings (ULONG aScreenId, IRecordingScreenSettings * * aRecordScreenSettings) { return smth GetScreenSettings (aScreenId, aRecordScreenSettings); }
#define COM_FORWARD_IRecordingSettings_GetScreenSettings_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_GetScreenSettings_TO ((obj)->)
#define COM_FORWARD_IRecordingSettings_GetScreenSettings_TO_BASE(base) COM_FORWARD_IRecordingSettings_GetScreenSettings_TO (base::)
#define COM_FORWARD_IRecordingSettings_Start_TO(smth) HRESULT STDMETHODCALLTYPE Start (IProgress * * aProgress) { return smth Start (aProgress); }
#define COM_FORWARD_IRecordingSettings_Start_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_Start_TO ((obj)->)
#define COM_FORWARD_IRecordingSettings_Start_TO_BASE(base) COM_FORWARD_IRecordingSettings_Start_TO (base::)
#define COM_FORWARD_IRecordingSettings_TO(smth) COM_FORWARD_IRecordingSettings_GETTER_Enabled_TO (smth) COM_FORWARD_IRecordingSettings_SETTER_Enabled_TO (smth) COM_FORWARD_IRecordingSettings_GETTER_Screens_TO (smth) COM_FORWARD_IRecordingSettings_GETTER_Progress_TO (smth) COM_FORWARD_IRecordingSettings_GetScreenSettings_TO (smth) COM_FORWARD_IRecordingSettings_Start_TO (smth) 
#define COM_FORWARD_IRecordingSettings_TO_OBJ(obj) COM_FORWARD_IRecordingSettings_TO ((obj)->)
#define COM_FORWARD_IRecordingSettings_TO_BASE(base) COM_FORWARD_IRecordingSettings_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0022_v0_0_s_ifspec;

#ifndef __IPCIAddress_INTERFACE_DEFINED__
#define __IPCIAddress_INTERFACE_DEFINED__

/* interface IPCIAddress */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IPCIAddress;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c984d15f-e191-400b-840e-970f3dad7296")
    IPCIAddress : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Bus( 
            /* [retval][out] */ SHORT *aBus) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Bus( 
            /* [in] */ SHORT aBus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Device( 
            /* [retval][out] */ SHORT *aDevice) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Device( 
            /* [in] */ SHORT aDevice) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DevFunction( 
            /* [retval][out] */ SHORT *aDevFunction) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DevFunction( 
            /* [in] */ SHORT aDevFunction) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AsLong( 
            /* [retval][out] */ LONG *aResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FromLong( 
            /* [in] */ LONG aNumber) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IPCIAddressVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPCIAddress * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPCIAddress * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPCIAddress * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IPCIAddress * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IPCIAddress * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IPCIAddress * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IPCIAddress * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IPCIAddress, get_Bus)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bus )( 
            IPCIAddress * This,
            /* [retval][out] */ SHORT *aBus);
        
        DECLSPEC_XFGVIRT(IPCIAddress, put_Bus)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bus )( 
            IPCIAddress * This,
            /* [in] */ SHORT aBus);
        
        DECLSPEC_XFGVIRT(IPCIAddress, get_Device)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Device )( 
            IPCIAddress * This,
            /* [retval][out] */ SHORT *aDevice);
        
        DECLSPEC_XFGVIRT(IPCIAddress, put_Device)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Device )( 
            IPCIAddress * This,
            /* [in] */ SHORT aDevice);
        
        DECLSPEC_XFGVIRT(IPCIAddress, get_DevFunction)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DevFunction )( 
            IPCIAddress * This,
            /* [retval][out] */ SHORT *aDevFunction);
        
        DECLSPEC_XFGVIRT(IPCIAddress, put_DevFunction)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DevFunction )( 
            IPCIAddress * This,
            /* [in] */ SHORT aDevFunction);
        
        DECLSPEC_XFGVIRT(IPCIAddress, AsLong)
        HRESULT ( STDMETHODCALLTYPE *AsLong )( 
            IPCIAddress * This,
            /* [retval][out] */ LONG *aResult);
        
        DECLSPEC_XFGVIRT(IPCIAddress, FromLong)
        HRESULT ( STDMETHODCALLTYPE *FromLong )( 
            IPCIAddress * This,
            /* [in] */ LONG aNumber);
        
        END_INTERFACE
    } IPCIAddressVtbl;

    interface IPCIAddress
    {
        CONST_VTBL struct IPCIAddressVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPCIAddress_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IPCIAddress_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IPCIAddress_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IPCIAddress_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IPCIAddress_get_Bus(This,aBus)	\
    ( (This)->lpVtbl -> get_Bus(This,aBus) ) 

#define IPCIAddress_put_Bus(This,aBus)	\
    ( (This)->lpVtbl -> put_Bus(This,aBus) ) 

#define IPCIAddress_get_Device(This,aDevice)	\
    ( (This)->lpVtbl -> get_Device(This,aDevice) ) 

#define IPCIAddress_put_Device(This,aDevice)	\
    ( (This)->lpVtbl -> put_Device(This,aDevice) ) 

#define IPCIAddress_get_DevFunction(This,aDevFunction)	\
    ( (This)->lpVtbl -> get_DevFunction(This,aDevFunction) ) 

#define IPCIAddress_put_DevFunction(This,aDevFunction)	\
    ( (This)->lpVtbl -> put_DevFunction(This,aDevFunction) ) 

#define IPCIAddress_AsLong(This,aResult)	\
    ( (This)->lpVtbl -> AsLong(This,aResult) ) 

#define IPCIAddress_FromLong(This,aNumber)	\
    ( (This)->lpVtbl -> FromLong(This,aNumber) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IPCIAddress_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0023 */
/* [local] */ 

#define COM_FORWARD_IPCIAddress_GETTER_Bus_TO(smth) HRESULT STDMETHODCALLTYPE get_Bus (SHORT * aBus) { return smth get_Bus (aBus); }
#define COM_FORWARD_IPCIAddress_GETTER_Bus_TO_OBJ(obj) COM_FORWARD_IPCIAddress_GETTER_Bus_TO ((obj)->)
#define COM_FORWARD_IPCIAddress_GETTER_Bus_TO_BASE(base) COM_FORWARD_IPCIAddress_GETTER_Bus_TO (base::)
#define COM_FORWARD_IPCIAddress_SETTER_Bus_TO(smth) HRESULT STDMETHODCALLTYPE put_Bus (SHORT aBus) { return smth put_Bus (aBus); }
#define COM_FORWARD_IPCIAddress_SETTER_Bus_TO_OBJ(obj) COM_FORWARD_IPCIAddress_SETTER_Bus_TO ((obj)->)
#define COM_FORWARD_IPCIAddress_SETTER_Bus_TO_BASE(base) COM_FORWARD_IPCIAddress_SETTER_Bus_TO (base::)
#define COM_FORWARD_IPCIAddress_GETTER_Device_TO(smth) HRESULT STDMETHODCALLTYPE get_Device (SHORT * aDevice) { return smth get_Device (aDevice); }
#define COM_FORWARD_IPCIAddress_GETTER_Device_TO_OBJ(obj) COM_FORWARD_IPCIAddress_GETTER_Device_TO ((obj)->)
#define COM_FORWARD_IPCIAddress_GETTER_Device_TO_BASE(base) COM_FORWARD_IPCIAddress_GETTER_Device_TO (base::)
#define COM_FORWARD_IPCIAddress_SETTER_Device_TO(smth) HRESULT STDMETHODCALLTYPE put_Device (SHORT aDevice) { return smth put_Device (aDevice); }
#define COM_FORWARD_IPCIAddress_SETTER_Device_TO_OBJ(obj) COM_FORWARD_IPCIAddress_SETTER_Device_TO ((obj)->)
#define COM_FORWARD_IPCIAddress_SETTER_Device_TO_BASE(base) COM_FORWARD_IPCIAddress_SETTER_Device_TO (base::)
#define COM_FORWARD_IPCIAddress_GETTER_DevFunction_TO(smth) HRESULT STDMETHODCALLTYPE get_DevFunction (SHORT * aDevFunction) { return smth get_DevFunction (aDevFunction); }
#define COM_FORWARD_IPCIAddress_GETTER_DevFunction_TO_OBJ(obj) COM_FORWARD_IPCIAddress_GETTER_DevFunction_TO ((obj)->)
#define COM_FORWARD_IPCIAddress_GETTER_DevFunction_TO_BASE(base) COM_FORWARD_IPCIAddress_GETTER_DevFunction_TO (base::)
#define COM_FORWARD_IPCIAddress_SETTER_DevFunction_TO(smth) HRESULT STDMETHODCALLTYPE put_DevFunction (SHORT aDevFunction) { return smth put_DevFunction (aDevFunction); }
#define COM_FORWARD_IPCIAddress_SETTER_DevFunction_TO_OBJ(obj) COM_FORWARD_IPCIAddress_SETTER_DevFunction_TO ((obj)->)
#define COM_FORWARD_IPCIAddress_SETTER_DevFunction_TO_BASE(base) COM_FORWARD_IPCIAddress_SETTER_DevFunction_TO (base::)
#define COM_FORWARD_IPCIAddress_AsLong_TO(smth) HRESULT STDMETHODCALLTYPE AsLong (LONG * aResult) { return smth AsLong (aResult); }
#define COM_FORWARD_IPCIAddress_AsLong_TO_OBJ(obj) COM_FORWARD_IPCIAddress_AsLong_TO ((obj)->)
#define COM_FORWARD_IPCIAddress_AsLong_TO_BASE(base) COM_FORWARD_IPCIAddress_AsLong_TO (base::)
#define COM_FORWARD_IPCIAddress_FromLong_TO(smth) HRESULT STDMETHODCALLTYPE FromLong (LONG aNumber) { return smth FromLong (aNumber); }
#define COM_FORWARD_IPCIAddress_FromLong_TO_OBJ(obj) COM_FORWARD_IPCIAddress_FromLong_TO ((obj)->)
#define COM_FORWARD_IPCIAddress_FromLong_TO_BASE(base) COM_FORWARD_IPCIAddress_FromLong_TO (base::)
#define COM_FORWARD_IPCIAddress_TO(smth) COM_FORWARD_IPCIAddress_GETTER_Bus_TO (smth) COM_FORWARD_IPCIAddress_SETTER_Bus_TO (smth) COM_FORWARD_IPCIAddress_GETTER_Device_TO (smth) COM_FORWARD_IPCIAddress_SETTER_Device_TO (smth) COM_FORWARD_IPCIAddress_GETTER_DevFunction_TO (smth) COM_FORWARD_IPCIAddress_SETTER_DevFunction_TO (smth) COM_FORWARD_IPCIAddress_AsLong_TO (smth) COM_FORWARD_IPCIAddress_FromLong_TO (smth) 
#define COM_FORWARD_IPCIAddress_TO_OBJ(obj) COM_FORWARD_IPCIAddress_TO ((obj)->)
#define COM_FORWARD_IPCIAddress_TO_BASE(base) COM_FORWARD_IPCIAddress_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0023_v0_0_s_ifspec;

#ifndef __IPCIDeviceAttachment_INTERFACE_DEFINED__
#define __IPCIDeviceAttachment_INTERFACE_DEFINED__

/* interface IPCIDeviceAttachment */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IPCIDeviceAttachment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("91f33d6f-e621-4f70-a77e-15f0e3c714d5")
    IPCIDeviceAttachment : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPhysicalDevice( 
            /* [retval][out] */ BOOL *aIsPhysicalDevice) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostAddress( 
            /* [retval][out] */ LONG *aHostAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestAddress( 
            /* [retval][out] */ LONG *aGuestAddress) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IPCIDeviceAttachmentVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPCIDeviceAttachment * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPCIDeviceAttachment * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPCIDeviceAttachment * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IPCIDeviceAttachment * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IPCIDeviceAttachment * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IPCIDeviceAttachment * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IPCIDeviceAttachment * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IPCIDeviceAttachment, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IPCIDeviceAttachment * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IPCIDeviceAttachment, get_IsPhysicalDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPhysicalDevice )( 
            IPCIDeviceAttachment * This,
            /* [retval][out] */ BOOL *aIsPhysicalDevice);
        
        DECLSPEC_XFGVIRT(IPCIDeviceAttachment, get_HostAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostAddress )( 
            IPCIDeviceAttachment * This,
            /* [retval][out] */ LONG *aHostAddress);
        
        DECLSPEC_XFGVIRT(IPCIDeviceAttachment, get_GuestAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestAddress )( 
            IPCIDeviceAttachment * This,
            /* [retval][out] */ LONG *aGuestAddress);
        
        END_INTERFACE
    } IPCIDeviceAttachmentVtbl;

    interface IPCIDeviceAttachment
    {
        CONST_VTBL struct IPCIDeviceAttachmentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPCIDeviceAttachment_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IPCIDeviceAttachment_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IPCIDeviceAttachment_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IPCIDeviceAttachment_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IPCIDeviceAttachment_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IPCIDeviceAttachment_get_IsPhysicalDevice(This,aIsPhysicalDevice)	\
    ( (This)->lpVtbl -> get_IsPhysicalDevice(This,aIsPhysicalDevice) ) 

#define IPCIDeviceAttachment_get_HostAddress(This,aHostAddress)	\
    ( (This)->lpVtbl -> get_HostAddress(This,aHostAddress) ) 

#define IPCIDeviceAttachment_get_GuestAddress(This,aGuestAddress)	\
    ( (This)->lpVtbl -> get_GuestAddress(This,aGuestAddress) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IPCIDeviceAttachment_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0024 */
/* [local] */ 

#define COM_FORWARD_IPCIDeviceAttachment_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IPCIDeviceAttachment_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IPCIDeviceAttachment_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IPCIDeviceAttachment_GETTER_Name_TO_BASE(base) COM_FORWARD_IPCIDeviceAttachment_GETTER_Name_TO (base::)
#define COM_FORWARD_IPCIDeviceAttachment_GETTER_IsPhysicalDevice_TO(smth) HRESULT STDMETHODCALLTYPE get_IsPhysicalDevice (BOOL * aIsPhysicalDevice) { return smth get_IsPhysicalDevice (aIsPhysicalDevice); }
#define COM_FORWARD_IPCIDeviceAttachment_GETTER_IsPhysicalDevice_TO_OBJ(obj) COM_FORWARD_IPCIDeviceAttachment_GETTER_IsPhysicalDevice_TO ((obj)->)
#define COM_FORWARD_IPCIDeviceAttachment_GETTER_IsPhysicalDevice_TO_BASE(base) COM_FORWARD_IPCIDeviceAttachment_GETTER_IsPhysicalDevice_TO (base::)
#define COM_FORWARD_IPCIDeviceAttachment_GETTER_HostAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_HostAddress (LONG * aHostAddress) { return smth get_HostAddress (aHostAddress); }
#define COM_FORWARD_IPCIDeviceAttachment_GETTER_HostAddress_TO_OBJ(obj) COM_FORWARD_IPCIDeviceAttachment_GETTER_HostAddress_TO ((obj)->)
#define COM_FORWARD_IPCIDeviceAttachment_GETTER_HostAddress_TO_BASE(base) COM_FORWARD_IPCIDeviceAttachment_GETTER_HostAddress_TO (base::)
#define COM_FORWARD_IPCIDeviceAttachment_GETTER_GuestAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestAddress (LONG * aGuestAddress) { return smth get_GuestAddress (aGuestAddress); }
#define COM_FORWARD_IPCIDeviceAttachment_GETTER_GuestAddress_TO_OBJ(obj) COM_FORWARD_IPCIDeviceAttachment_GETTER_GuestAddress_TO ((obj)->)
#define COM_FORWARD_IPCIDeviceAttachment_GETTER_GuestAddress_TO_BASE(base) COM_FORWARD_IPCIDeviceAttachment_GETTER_GuestAddress_TO (base::)
#define COM_FORWARD_IPCIDeviceAttachment_TO(smth) COM_FORWARD_IPCIDeviceAttachment_GETTER_Name_TO (smth) COM_FORWARD_IPCIDeviceAttachment_GETTER_IsPhysicalDevice_TO (smth) COM_FORWARD_IPCIDeviceAttachment_GETTER_HostAddress_TO (smth) COM_FORWARD_IPCIDeviceAttachment_GETTER_GuestAddress_TO (smth) 
#define COM_FORWARD_IPCIDeviceAttachment_TO_OBJ(obj) COM_FORWARD_IPCIDeviceAttachment_TO ((obj)->)
#define COM_FORWARD_IPCIDeviceAttachment_TO_BASE(base) COM_FORWARD_IPCIDeviceAttachment_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0024_v0_0_s_ifspec;

#ifndef __IUefiVariableStore_INTERFACE_DEFINED__
#define __IUefiVariableStore_INTERFACE_DEFINED__

/* interface IUefiVariableStore */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUefiVariableStore;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d134c6b6-4479-430d-bb73-68a452ba3e67")
    IUefiVariableStore : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SecureBootEnabled( 
            /* [retval][out] */ BOOL *aSecureBootEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SecureBootEnabled( 
            /* [in] */ BOOL aSecureBootEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IUefiVariableStore( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IUefiVariableStore( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IUefiVariableStore( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IUefiVariableStore( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IUefiVariableStore( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddVariable( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aOwner,
            /* [in] */ SAFEARRAY * aAttributes,
            /* [in] */ SAFEARRAY * aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteVariable( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aOwner) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ChangeVariable( 
            /* [in] */ BSTR aName,
            /* [in] */ SAFEARRAY * aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryVariableByName( 
            /* [in] */ BSTR aName,
            /* [out] */ BSTR *aOwner,
            /* [out] */ SAFEARRAY * *aAttributes,
            /* [out] */ SAFEARRAY * *aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryVariables( 
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aOwners) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnrollOraclePlatformKey( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnrollPlatformKey( 
            /* [in] */ SAFEARRAY * aPlatformKey,
            /* [in] */ BSTR aOwner) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddKek( 
            /* [in] */ SAFEARRAY * aKeyEncryptionKey,
            /* [in] */ BSTR aOwner,
            /* [in] */ SignatureType aSignatureType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddSignatureToDb( 
            /* [in] */ SAFEARRAY * aSignature,
            /* [in] */ BSTR aOwner,
            /* [in] */ SignatureType aSignatureType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddSignatureToDbx( 
            /* [in] */ SAFEARRAY * aSignature,
            /* [in] */ BSTR aOwner,
            /* [in] */ SignatureType aSignatureType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnrollDefaultMsSignatures( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddSignatureToMok( 
            /* [in] */ SAFEARRAY * aSignature,
            /* [in] */ BSTR aOwner,
            /* [in] */ SignatureType aSignatureType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IUefiVariableStore( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IUefiVariableStore( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IUefiVariableStore( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IUefiVariableStore( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IUefiVariableStore( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IUefiVariableStore( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IUefiVariableStore( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IUefiVariableStore( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod9IUefiVariableStore( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUefiVariableStoreVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUefiVariableStore * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUefiVariableStore * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUefiVariableStore * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUefiVariableStore * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUefiVariableStore * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, get_SecureBootEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SecureBootEnabled )( 
            IUefiVariableStore * This,
            /* [retval][out] */ BOOL *aSecureBootEnabled);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, put_SecureBootEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SecureBootEnabled )( 
            IUefiVariableStore * This,
            /* [in] */ BOOL aSecureBootEnabled);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, get_InternalAndReservedAttribute1IUefiVariableStore)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IUefiVariableStore )( 
            IUefiVariableStore * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, get_InternalAndReservedAttribute2IUefiVariableStore)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IUefiVariableStore )( 
            IUefiVariableStore * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, get_InternalAndReservedAttribute3IUefiVariableStore)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IUefiVariableStore )( 
            IUefiVariableStore * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, get_InternalAndReservedAttribute4IUefiVariableStore)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IUefiVariableStore )( 
            IUefiVariableStore * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, get_InternalAndReservedAttribute5IUefiVariableStore)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IUefiVariableStore )( 
            IUefiVariableStore * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, AddVariable)
        HRESULT ( STDMETHODCALLTYPE *AddVariable )( 
            IUefiVariableStore * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aOwner,
            /* [in] */ SAFEARRAY * aAttributes,
            /* [in] */ SAFEARRAY * aData);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, DeleteVariable)
        HRESULT ( STDMETHODCALLTYPE *DeleteVariable )( 
            IUefiVariableStore * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aOwner);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, ChangeVariable)
        HRESULT ( STDMETHODCALLTYPE *ChangeVariable )( 
            IUefiVariableStore * This,
            /* [in] */ BSTR aName,
            /* [in] */ SAFEARRAY * aData);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, QueryVariableByName)
        HRESULT ( STDMETHODCALLTYPE *QueryVariableByName )( 
            IUefiVariableStore * This,
            /* [in] */ BSTR aName,
            /* [out] */ BSTR *aOwner,
            /* [out] */ SAFEARRAY * *aAttributes,
            /* [out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, QueryVariables)
        HRESULT ( STDMETHODCALLTYPE *QueryVariables )( 
            IUefiVariableStore * This,
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aOwners);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, EnrollOraclePlatformKey)
        HRESULT ( STDMETHODCALLTYPE *EnrollOraclePlatformKey )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, EnrollPlatformKey)
        HRESULT ( STDMETHODCALLTYPE *EnrollPlatformKey )( 
            IUefiVariableStore * This,
            /* [in] */ SAFEARRAY * aPlatformKey,
            /* [in] */ BSTR aOwner);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, AddKek)
        HRESULT ( STDMETHODCALLTYPE *AddKek )( 
            IUefiVariableStore * This,
            /* [in] */ SAFEARRAY * aKeyEncryptionKey,
            /* [in] */ BSTR aOwner,
            /* [in] */ SignatureType aSignatureType);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, AddSignatureToDb)
        HRESULT ( STDMETHODCALLTYPE *AddSignatureToDb )( 
            IUefiVariableStore * This,
            /* [in] */ SAFEARRAY * aSignature,
            /* [in] */ BSTR aOwner,
            /* [in] */ SignatureType aSignatureType);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, AddSignatureToDbx)
        HRESULT ( STDMETHODCALLTYPE *AddSignatureToDbx )( 
            IUefiVariableStore * This,
            /* [in] */ SAFEARRAY * aSignature,
            /* [in] */ BSTR aOwner,
            /* [in] */ SignatureType aSignatureType);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, EnrollDefaultMsSignatures)
        HRESULT ( STDMETHODCALLTYPE *EnrollDefaultMsSignatures )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, AddSignatureToMok)
        HRESULT ( STDMETHODCALLTYPE *AddSignatureToMok )( 
            IUefiVariableStore * This,
            /* [in] */ SAFEARRAY * aSignature,
            /* [in] */ BSTR aOwner,
            /* [in] */ SignatureType aSignatureType);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, InternalAndReservedMethod1IUefiVariableStore)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IUefiVariableStore )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, InternalAndReservedMethod2IUefiVariableStore)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IUefiVariableStore )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, InternalAndReservedMethod3IUefiVariableStore)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IUefiVariableStore )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, InternalAndReservedMethod4IUefiVariableStore)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IUefiVariableStore )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, InternalAndReservedMethod5IUefiVariableStore)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IUefiVariableStore )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, InternalAndReservedMethod6IUefiVariableStore)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IUefiVariableStore )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, InternalAndReservedMethod7IUefiVariableStore)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IUefiVariableStore )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, InternalAndReservedMethod8IUefiVariableStore)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IUefiVariableStore )( 
            IUefiVariableStore * This);
        
        DECLSPEC_XFGVIRT(IUefiVariableStore, InternalAndReservedMethod9IUefiVariableStore)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod9IUefiVariableStore )( 
            IUefiVariableStore * This);
        
        END_INTERFACE
    } IUefiVariableStoreVtbl;

    interface IUefiVariableStore
    {
        CONST_VTBL struct IUefiVariableStoreVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUefiVariableStore_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUefiVariableStore_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUefiVariableStore_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUefiVariableStore_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUefiVariableStore_get_SecureBootEnabled(This,aSecureBootEnabled)	\
    ( (This)->lpVtbl -> get_SecureBootEnabled(This,aSecureBootEnabled) ) 

#define IUefiVariableStore_put_SecureBootEnabled(This,aSecureBootEnabled)	\
    ( (This)->lpVtbl -> put_SecureBootEnabled(This,aSecureBootEnabled) ) 

#define IUefiVariableStore_get_InternalAndReservedAttribute1IUefiVariableStore(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IUefiVariableStore(This,aReserved) ) 

#define IUefiVariableStore_get_InternalAndReservedAttribute2IUefiVariableStore(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IUefiVariableStore(This,aReserved) ) 

#define IUefiVariableStore_get_InternalAndReservedAttribute3IUefiVariableStore(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IUefiVariableStore(This,aReserved) ) 

#define IUefiVariableStore_get_InternalAndReservedAttribute4IUefiVariableStore(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IUefiVariableStore(This,aReserved) ) 

#define IUefiVariableStore_get_InternalAndReservedAttribute5IUefiVariableStore(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IUefiVariableStore(This,aReserved) ) 

#define IUefiVariableStore_AddVariable(This,aName,aOwner,aAttributes,aData)	\
    ( (This)->lpVtbl -> AddVariable(This,aName,aOwner,aAttributes,aData) ) 

#define IUefiVariableStore_DeleteVariable(This,aName,aOwner)	\
    ( (This)->lpVtbl -> DeleteVariable(This,aName,aOwner) ) 

#define IUefiVariableStore_ChangeVariable(This,aName,aData)	\
    ( (This)->lpVtbl -> ChangeVariable(This,aName,aData) ) 

#define IUefiVariableStore_QueryVariableByName(This,aName,aOwner,aAttributes,aData)	\
    ( (This)->lpVtbl -> QueryVariableByName(This,aName,aOwner,aAttributes,aData) ) 

#define IUefiVariableStore_QueryVariables(This,aNames,aOwners)	\
    ( (This)->lpVtbl -> QueryVariables(This,aNames,aOwners) ) 

#define IUefiVariableStore_EnrollOraclePlatformKey(This)	\
    ( (This)->lpVtbl -> EnrollOraclePlatformKey(This) ) 

#define IUefiVariableStore_EnrollPlatformKey(This,aPlatformKey,aOwner)	\
    ( (This)->lpVtbl -> EnrollPlatformKey(This,aPlatformKey,aOwner) ) 

#define IUefiVariableStore_AddKek(This,aKeyEncryptionKey,aOwner,aSignatureType)	\
    ( (This)->lpVtbl -> AddKek(This,aKeyEncryptionKey,aOwner,aSignatureType) ) 

#define IUefiVariableStore_AddSignatureToDb(This,aSignature,aOwner,aSignatureType)	\
    ( (This)->lpVtbl -> AddSignatureToDb(This,aSignature,aOwner,aSignatureType) ) 

#define IUefiVariableStore_AddSignatureToDbx(This,aSignature,aOwner,aSignatureType)	\
    ( (This)->lpVtbl -> AddSignatureToDbx(This,aSignature,aOwner,aSignatureType) ) 

#define IUefiVariableStore_EnrollDefaultMsSignatures(This)	\
    ( (This)->lpVtbl -> EnrollDefaultMsSignatures(This) ) 

#define IUefiVariableStore_AddSignatureToMok(This,aSignature,aOwner,aSignatureType)	\
    ( (This)->lpVtbl -> AddSignatureToMok(This,aSignature,aOwner,aSignatureType) ) 

#define IUefiVariableStore_InternalAndReservedMethod1IUefiVariableStore(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IUefiVariableStore(This) ) 

#define IUefiVariableStore_InternalAndReservedMethod2IUefiVariableStore(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IUefiVariableStore(This) ) 

#define IUefiVariableStore_InternalAndReservedMethod3IUefiVariableStore(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IUefiVariableStore(This) ) 

#define IUefiVariableStore_InternalAndReservedMethod4IUefiVariableStore(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IUefiVariableStore(This) ) 

#define IUefiVariableStore_InternalAndReservedMethod5IUefiVariableStore(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IUefiVariableStore(This) ) 

#define IUefiVariableStore_InternalAndReservedMethod6IUefiVariableStore(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IUefiVariableStore(This) ) 

#define IUefiVariableStore_InternalAndReservedMethod7IUefiVariableStore(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IUefiVariableStore(This) ) 

#define IUefiVariableStore_InternalAndReservedMethod8IUefiVariableStore(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IUefiVariableStore(This) ) 

#define IUefiVariableStore_InternalAndReservedMethod9IUefiVariableStore(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod9IUefiVariableStore(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUefiVariableStore_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0025 */
/* [local] */ 

#define COM_FORWARD_IUefiVariableStore_GETTER_SecureBootEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_SecureBootEnabled (BOOL * aSecureBootEnabled) { return smth get_SecureBootEnabled (aSecureBootEnabled); }
#define COM_FORWARD_IUefiVariableStore_GETTER_SecureBootEnabled_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_GETTER_SecureBootEnabled_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_GETTER_SecureBootEnabled_TO_BASE(base) COM_FORWARD_IUefiVariableStore_GETTER_SecureBootEnabled_TO (base::)
#define COM_FORWARD_IUefiVariableStore_SETTER_SecureBootEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_SecureBootEnabled (BOOL aSecureBootEnabled) { return smth put_SecureBootEnabled (aSecureBootEnabled); }
#define COM_FORWARD_IUefiVariableStore_SETTER_SecureBootEnabled_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_SETTER_SecureBootEnabled_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_SETTER_SecureBootEnabled_TO_BASE(base) COM_FORWARD_IUefiVariableStore_SETTER_SecureBootEnabled_TO (base::)
#define COM_FORWARD_IUefiVariableStore_AddVariable_TO(smth) HRESULT STDMETHODCALLTYPE AddVariable (BSTR aName, BSTR aOwner, SAFEARRAY * * aAttributes, SAFEARRAY * * aData) { return smth AddVariable (aName, aOwner, aAttributes, aData); }
#define COM_FORWARD_IUefiVariableStore_AddVariable_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_AddVariable_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_AddVariable_TO_BASE(base) COM_FORWARD_IUefiVariableStore_AddVariable_TO (base::)
#define COM_FORWARD_IUefiVariableStore_DeleteVariable_TO(smth) HRESULT STDMETHODCALLTYPE DeleteVariable (BSTR aName, BSTR aOwner) { return smth DeleteVariable (aName, aOwner); }
#define COM_FORWARD_IUefiVariableStore_DeleteVariable_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_DeleteVariable_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_DeleteVariable_TO_BASE(base) COM_FORWARD_IUefiVariableStore_DeleteVariable_TO (base::)
#define COM_FORWARD_IUefiVariableStore_ChangeVariable_TO(smth) HRESULT STDMETHODCALLTYPE ChangeVariable (BSTR aName, SAFEARRAY * * aData) { return smth ChangeVariable (aName, aData); }
#define COM_FORWARD_IUefiVariableStore_ChangeVariable_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_ChangeVariable_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_ChangeVariable_TO_BASE(base) COM_FORWARD_IUefiVariableStore_ChangeVariable_TO (base::)
#define COM_FORWARD_IUefiVariableStore_QueryVariableByName_TO(smth) HRESULT STDMETHODCALLTYPE QueryVariableByName (BSTR aName, BSTR * aOwner, SAFEARRAY * * aAttributes, SAFEARRAY * * aData) { return smth QueryVariableByName (aName, aOwner, aAttributes, aData); }
#define COM_FORWARD_IUefiVariableStore_QueryVariableByName_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_QueryVariableByName_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_QueryVariableByName_TO_BASE(base) COM_FORWARD_IUefiVariableStore_QueryVariableByName_TO (base::)
#define COM_FORWARD_IUefiVariableStore_QueryVariables_TO(smth) HRESULT STDMETHODCALLTYPE QueryVariables (SAFEARRAY * * aNames, SAFEARRAY * * aOwners) { return smth QueryVariables (aNames, aOwners); }
#define COM_FORWARD_IUefiVariableStore_QueryVariables_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_QueryVariables_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_QueryVariables_TO_BASE(base) COM_FORWARD_IUefiVariableStore_QueryVariables_TO (base::)
#define COM_FORWARD_IUefiVariableStore_EnrollOraclePlatformKey_TO(smth) HRESULT STDMETHODCALLTYPE EnrollOraclePlatformKey() { return smth EnrollOraclePlatformKey(); }
#define COM_FORWARD_IUefiVariableStore_EnrollOraclePlatformKey_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_EnrollOraclePlatformKey_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_EnrollOraclePlatformKey_TO_BASE(base) COM_FORWARD_IUefiVariableStore_EnrollOraclePlatformKey_TO (base::)
#define COM_FORWARD_IUefiVariableStore_EnrollPlatformKey_TO(smth) HRESULT STDMETHODCALLTYPE EnrollPlatformKey (SAFEARRAY * * aPlatformKey, BSTR aOwner) { return smth EnrollPlatformKey (aPlatformKey, aOwner); }
#define COM_FORWARD_IUefiVariableStore_EnrollPlatformKey_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_EnrollPlatformKey_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_EnrollPlatformKey_TO_BASE(base) COM_FORWARD_IUefiVariableStore_EnrollPlatformKey_TO (base::)
#define COM_FORWARD_IUefiVariableStore_AddKek_TO(smth) HRESULT STDMETHODCALLTYPE AddKek (SAFEARRAY * * aKeyEncryptionKey, BSTR aOwner, SignatureType aSignatureType) { return smth AddKek (aKeyEncryptionKey, aOwner, aSignatureType); }
#define COM_FORWARD_IUefiVariableStore_AddKek_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_AddKek_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_AddKek_TO_BASE(base) COM_FORWARD_IUefiVariableStore_AddKek_TO (base::)
#define COM_FORWARD_IUefiVariableStore_AddSignatureToDb_TO(smth) HRESULT STDMETHODCALLTYPE AddSignatureToDb (SAFEARRAY * * aSignature, BSTR aOwner, SignatureType aSignatureType) { return smth AddSignatureToDb (aSignature, aOwner, aSignatureType); }
#define COM_FORWARD_IUefiVariableStore_AddSignatureToDb_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_AddSignatureToDb_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_AddSignatureToDb_TO_BASE(base) COM_FORWARD_IUefiVariableStore_AddSignatureToDb_TO (base::)
#define COM_FORWARD_IUefiVariableStore_AddSignatureToDbx_TO(smth) HRESULT STDMETHODCALLTYPE AddSignatureToDbx (SAFEARRAY * * aSignature, BSTR aOwner, SignatureType aSignatureType) { return smth AddSignatureToDbx (aSignature, aOwner, aSignatureType); }
#define COM_FORWARD_IUefiVariableStore_AddSignatureToDbx_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_AddSignatureToDbx_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_AddSignatureToDbx_TO_BASE(base) COM_FORWARD_IUefiVariableStore_AddSignatureToDbx_TO (base::)
#define COM_FORWARD_IUefiVariableStore_EnrollDefaultMsSignatures_TO(smth) HRESULT STDMETHODCALLTYPE EnrollDefaultMsSignatures() { return smth EnrollDefaultMsSignatures(); }
#define COM_FORWARD_IUefiVariableStore_EnrollDefaultMsSignatures_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_EnrollDefaultMsSignatures_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_EnrollDefaultMsSignatures_TO_BASE(base) COM_FORWARD_IUefiVariableStore_EnrollDefaultMsSignatures_TO (base::)
#define COM_FORWARD_IUefiVariableStore_AddSignatureToMok_TO(smth) HRESULT STDMETHODCALLTYPE AddSignatureToMok (SAFEARRAY * * aSignature, BSTR aOwner, SignatureType aSignatureType) { return smth AddSignatureToMok (aSignature, aOwner, aSignatureType); }
#define COM_FORWARD_IUefiVariableStore_AddSignatureToMok_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_AddSignatureToMok_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_AddSignatureToMok_TO_BASE(base) COM_FORWARD_IUefiVariableStore_AddSignatureToMok_TO (base::)
#define COM_FORWARD_IUefiVariableStore_TO(smth) COM_FORWARD_IUefiVariableStore_GETTER_SecureBootEnabled_TO (smth) COM_FORWARD_IUefiVariableStore_SETTER_SecureBootEnabled_TO (smth) COM_FORWARD_IUefiVariableStore_AddVariable_TO (smth) COM_FORWARD_IUefiVariableStore_DeleteVariable_TO (smth) COM_FORWARD_IUefiVariableStore_ChangeVariable_TO (smth) COM_FORWARD_IUefiVariableStore_QueryVariableByName_TO (smth) COM_FORWARD_IUefiVariableStore_QueryVariables_TO (smth) COM_FORWARD_IUefiVariableStore_EnrollOraclePlatformKey_TO (smth) COM_FORWARD_IUefiVariableStore_EnrollPlatformKey_TO (smth) COM_FORWARD_IUefiVariableStore_AddKek_TO (smth) COM_FORWARD_IUefiVariableStore_AddSignatureToDb_TO (smth) COM_FORWARD_IUefiVariableStore_AddSignatureToDbx_TO (smth) COM_FORWARD_IUefiVariableStore_EnrollDefaultMsSignatures_TO (smth) COM_FORWARD_IUefiVariableStore_AddSignatureToMok_TO (smth) 
#define COM_FORWARD_IUefiVariableStore_TO_OBJ(obj) COM_FORWARD_IUefiVariableStore_TO ((obj)->)
#define COM_FORWARD_IUefiVariableStore_TO_BASE(base) COM_FORWARD_IUefiVariableStore_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0025_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0025_v0_0_s_ifspec;

#ifndef __INvramStore_INTERFACE_DEFINED__
#define __INvramStore_INTERFACE_DEFINED__

/* interface INvramStore */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INvramStore;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5bfd8965-b81b-469f-8649-f717ce97a5d5")
    INvramStore : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NonVolatileStorageFile( 
            /* [retval][out] */ BSTR *aNonVolatileStorageFile) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UefiVariableStore( 
            /* [retval][out] */ IUefiVariableStore **aUefiVariableStore) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyId( 
            /* [retval][out] */ BSTR *aKeyId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyStore( 
            /* [retval][out] */ BSTR *aKeyStore) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InitUefiVariableStore( 
            /* [in] */ ULONG aSize) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INvramStoreVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INvramStore * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INvramStore * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INvramStore * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INvramStore * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INvramStore * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INvramStore * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INvramStore * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(INvramStore, get_NonVolatileStorageFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NonVolatileStorageFile )( 
            INvramStore * This,
            /* [retval][out] */ BSTR *aNonVolatileStorageFile);
        
        DECLSPEC_XFGVIRT(INvramStore, get_UefiVariableStore)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UefiVariableStore )( 
            INvramStore * This,
            /* [retval][out] */ IUefiVariableStore **aUefiVariableStore);
        
        DECLSPEC_XFGVIRT(INvramStore, get_KeyId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyId )( 
            INvramStore * This,
            /* [retval][out] */ BSTR *aKeyId);
        
        DECLSPEC_XFGVIRT(INvramStore, get_KeyStore)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyStore )( 
            INvramStore * This,
            /* [retval][out] */ BSTR *aKeyStore);
        
        DECLSPEC_XFGVIRT(INvramStore, InitUefiVariableStore)
        HRESULT ( STDMETHODCALLTYPE *InitUefiVariableStore )( 
            INvramStore * This,
            /* [in] */ ULONG aSize);
        
        END_INTERFACE
    } INvramStoreVtbl;

    interface INvramStore
    {
        CONST_VTBL struct INvramStoreVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INvramStore_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INvramStore_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INvramStore_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INvramStore_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INvramStore_get_NonVolatileStorageFile(This,aNonVolatileStorageFile)	\
    ( (This)->lpVtbl -> get_NonVolatileStorageFile(This,aNonVolatileStorageFile) ) 

#define INvramStore_get_UefiVariableStore(This,aUefiVariableStore)	\
    ( (This)->lpVtbl -> get_UefiVariableStore(This,aUefiVariableStore) ) 

#define INvramStore_get_KeyId(This,aKeyId)	\
    ( (This)->lpVtbl -> get_KeyId(This,aKeyId) ) 

#define INvramStore_get_KeyStore(This,aKeyStore)	\
    ( (This)->lpVtbl -> get_KeyStore(This,aKeyStore) ) 

#define INvramStore_InitUefiVariableStore(This,aSize)	\
    ( (This)->lpVtbl -> InitUefiVariableStore(This,aSize) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INvramStore_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0026 */
/* [local] */ 

#define COM_FORWARD_INvramStore_GETTER_NonVolatileStorageFile_TO(smth) HRESULT STDMETHODCALLTYPE get_NonVolatileStorageFile (BSTR * aNonVolatileStorageFile) { return smth get_NonVolatileStorageFile (aNonVolatileStorageFile); }
#define COM_FORWARD_INvramStore_GETTER_NonVolatileStorageFile_TO_OBJ(obj) COM_FORWARD_INvramStore_GETTER_NonVolatileStorageFile_TO ((obj)->)
#define COM_FORWARD_INvramStore_GETTER_NonVolatileStorageFile_TO_BASE(base) COM_FORWARD_INvramStore_GETTER_NonVolatileStorageFile_TO (base::)
#define COM_FORWARD_INvramStore_GETTER_UefiVariableStore_TO(smth) HRESULT STDMETHODCALLTYPE get_UefiVariableStore (IUefiVariableStore * * aUefiVariableStore) { return smth get_UefiVariableStore (aUefiVariableStore); }
#define COM_FORWARD_INvramStore_GETTER_UefiVariableStore_TO_OBJ(obj) COM_FORWARD_INvramStore_GETTER_UefiVariableStore_TO ((obj)->)
#define COM_FORWARD_INvramStore_GETTER_UefiVariableStore_TO_BASE(base) COM_FORWARD_INvramStore_GETTER_UefiVariableStore_TO (base::)
#define COM_FORWARD_INvramStore_GETTER_KeyId_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyId (BSTR * aKeyId) { return smth get_KeyId (aKeyId); }
#define COM_FORWARD_INvramStore_GETTER_KeyId_TO_OBJ(obj) COM_FORWARD_INvramStore_GETTER_KeyId_TO ((obj)->)
#define COM_FORWARD_INvramStore_GETTER_KeyId_TO_BASE(base) COM_FORWARD_INvramStore_GETTER_KeyId_TO (base::)
#define COM_FORWARD_INvramStore_GETTER_KeyStore_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyStore (BSTR * aKeyStore) { return smth get_KeyStore (aKeyStore); }
#define COM_FORWARD_INvramStore_GETTER_KeyStore_TO_OBJ(obj) COM_FORWARD_INvramStore_GETTER_KeyStore_TO ((obj)->)
#define COM_FORWARD_INvramStore_GETTER_KeyStore_TO_BASE(base) COM_FORWARD_INvramStore_GETTER_KeyStore_TO (base::)
#define COM_FORWARD_INvramStore_InitUefiVariableStore_TO(smth) HRESULT STDMETHODCALLTYPE InitUefiVariableStore (ULONG aSize) { return smth InitUefiVariableStore (aSize); }
#define COM_FORWARD_INvramStore_InitUefiVariableStore_TO_OBJ(obj) COM_FORWARD_INvramStore_InitUefiVariableStore_TO ((obj)->)
#define COM_FORWARD_INvramStore_InitUefiVariableStore_TO_BASE(base) COM_FORWARD_INvramStore_InitUefiVariableStore_TO (base::)
#define COM_FORWARD_INvramStore_TO(smth) COM_FORWARD_INvramStore_GETTER_NonVolatileStorageFile_TO (smth) COM_FORWARD_INvramStore_GETTER_UefiVariableStore_TO (smth) COM_FORWARD_INvramStore_GETTER_KeyId_TO (smth) COM_FORWARD_INvramStore_GETTER_KeyStore_TO (smth) COM_FORWARD_INvramStore_InitUefiVariableStore_TO (smth) 
#define COM_FORWARD_INvramStore_TO_OBJ(obj) COM_FORWARD_INvramStore_TO ((obj)->)
#define COM_FORWARD_INvramStore_TO_BASE(base) COM_FORWARD_INvramStore_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0026_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0026_v0_0_s_ifspec;

#ifndef __IResourceStore_INTERFACE_DEFINED__
#define __IResourceStore_INTERFACE_DEFINED__

/* interface IResourceStore */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IResourceStore;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d96a2540-8aab-4c71-8af9-95379f23b23d")
    IResourceStore : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IResourceStoreVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IResourceStore * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IResourceStore * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IResourceStore * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IResourceStore * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IResourceStore * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IResourceStore * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IResourceStore * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IResourceStore, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IResourceStore * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IResourceStoreVtbl;

    interface IResourceStore
    {
        CONST_VTBL struct IResourceStoreVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IResourceStore_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IResourceStore_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IResourceStore_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IResourceStore_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IResourceStore_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IResourceStore_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0027 */
/* [local] */ 

#define COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IResourceStore_TO(smth) COM_FORWARD_IResourceStore_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IResourceStore_TO_OBJ(obj) COM_FORWARD_IResourceStore_TO ((obj)->)
#define COM_FORWARD_IResourceStore_TO_BASE(base) COM_FORWARD_IResourceStore_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0027_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0027_v0_0_s_ifspec;

#ifndef __IPlatform_INTERFACE_DEFINED__
#define __IPlatform_INTERFACE_DEFINED__

/* interface IPlatform */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IPlatform;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a670a023-e172-452c-b731-14ef855f4da6")
    IPlatform : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Architecture( 
            /* [retval][out] */ PlatformArchitecture *aArchitecture) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Architecture( 
            /* [in] */ PlatformArchitecture aArchitecture) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
            /* [retval][out] */ IPlatformProperties **aProperties) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_X86( 
            /* [retval][out] */ IPlatformX86 **aX86) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ARM( 
            /* [retval][out] */ IPlatformARM **aARM) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ChipsetType( 
            /* [retval][out] */ ChipsetType *aChipsetType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ChipsetType( 
            /* [in] */ ChipsetType aChipsetType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IommuType( 
            /* [retval][out] */ IommuType *aIommuType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IommuType( 
            /* [in] */ IommuType aIommuType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RTCUseUTC( 
            /* [retval][out] */ BOOL *aRTCUseUTC) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RTCUseUTC( 
            /* [in] */ BOOL aRTCUseUTC) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16IPlatform( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IPlatform( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IPlatform( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IPlatform( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IPlatform( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IPlatform( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IPlatform( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IPlatform( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IPlatform( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IPlatformVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPlatform * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPlatform * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPlatform * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IPlatform * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IPlatform * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IPlatform * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IPlatform * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IPlatform, get_Architecture)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Architecture )( 
            IPlatform * This,
            /* [retval][out] */ PlatformArchitecture *aArchitecture);
        
        DECLSPEC_XFGVIRT(IPlatform, put_Architecture)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Architecture )( 
            IPlatform * This,
            /* [in] */ PlatformArchitecture aArchitecture);
        
        DECLSPEC_XFGVIRT(IPlatform, get_Properties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
            IPlatform * This,
            /* [retval][out] */ IPlatformProperties **aProperties);
        
        DECLSPEC_XFGVIRT(IPlatform, get_X86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_X86 )( 
            IPlatform * This,
            /* [retval][out] */ IPlatformX86 **aX86);
        
        DECLSPEC_XFGVIRT(IPlatform, get_ARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ARM )( 
            IPlatform * This,
            /* [retval][out] */ IPlatformARM **aARM);
        
        DECLSPEC_XFGVIRT(IPlatform, get_ChipsetType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChipsetType )( 
            IPlatform * This,
            /* [retval][out] */ ChipsetType *aChipsetType);
        
        DECLSPEC_XFGVIRT(IPlatform, put_ChipsetType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ChipsetType )( 
            IPlatform * This,
            /* [in] */ ChipsetType aChipsetType);
        
        DECLSPEC_XFGVIRT(IPlatform, get_IommuType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IommuType )( 
            IPlatform * This,
            /* [retval][out] */ IommuType *aIommuType);
        
        DECLSPEC_XFGVIRT(IPlatform, put_IommuType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IommuType )( 
            IPlatform * This,
            /* [in] */ IommuType aIommuType);
        
        DECLSPEC_XFGVIRT(IPlatform, get_RTCUseUTC)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RTCUseUTC )( 
            IPlatform * This,
            /* [retval][out] */ BOOL *aRTCUseUTC);
        
        DECLSPEC_XFGVIRT(IPlatform, put_RTCUseUTC)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RTCUseUTC )( 
            IPlatform * This,
            /* [in] */ BOOL aRTCUseUTC);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute1IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute2IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute3IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute4IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute5IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute6IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute7IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute8IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute9IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute10IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute11IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute12IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute13IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute14IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute15IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, get_InternalAndReservedAttribute16IPlatform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IPlatform )( 
            IPlatform * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatform, InternalAndReservedMethod1IPlatform)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IPlatform )( 
            IPlatform * This);
        
        DECLSPEC_XFGVIRT(IPlatform, InternalAndReservedMethod2IPlatform)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IPlatform )( 
            IPlatform * This);
        
        DECLSPEC_XFGVIRT(IPlatform, InternalAndReservedMethod3IPlatform)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IPlatform )( 
            IPlatform * This);
        
        DECLSPEC_XFGVIRT(IPlatform, InternalAndReservedMethod4IPlatform)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IPlatform )( 
            IPlatform * This);
        
        DECLSPEC_XFGVIRT(IPlatform, InternalAndReservedMethod5IPlatform)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IPlatform )( 
            IPlatform * This);
        
        DECLSPEC_XFGVIRT(IPlatform, InternalAndReservedMethod6IPlatform)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IPlatform )( 
            IPlatform * This);
        
        DECLSPEC_XFGVIRT(IPlatform, InternalAndReservedMethod7IPlatform)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IPlatform )( 
            IPlatform * This);
        
        DECLSPEC_XFGVIRT(IPlatform, InternalAndReservedMethod8IPlatform)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IPlatform )( 
            IPlatform * This);
        
        END_INTERFACE
    } IPlatformVtbl;

    interface IPlatform
    {
        CONST_VTBL struct IPlatformVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlatform_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IPlatform_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IPlatform_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IPlatform_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IPlatform_get_Architecture(This,aArchitecture)	\
    ( (This)->lpVtbl -> get_Architecture(This,aArchitecture) ) 

#define IPlatform_put_Architecture(This,aArchitecture)	\
    ( (This)->lpVtbl -> put_Architecture(This,aArchitecture) ) 

#define IPlatform_get_Properties(This,aProperties)	\
    ( (This)->lpVtbl -> get_Properties(This,aProperties) ) 

#define IPlatform_get_X86(This,aX86)	\
    ( (This)->lpVtbl -> get_X86(This,aX86) ) 

#define IPlatform_get_ARM(This,aARM)	\
    ( (This)->lpVtbl -> get_ARM(This,aARM) ) 

#define IPlatform_get_ChipsetType(This,aChipsetType)	\
    ( (This)->lpVtbl -> get_ChipsetType(This,aChipsetType) ) 

#define IPlatform_put_ChipsetType(This,aChipsetType)	\
    ( (This)->lpVtbl -> put_ChipsetType(This,aChipsetType) ) 

#define IPlatform_get_IommuType(This,aIommuType)	\
    ( (This)->lpVtbl -> get_IommuType(This,aIommuType) ) 

#define IPlatform_put_IommuType(This,aIommuType)	\
    ( (This)->lpVtbl -> put_IommuType(This,aIommuType) ) 

#define IPlatform_get_RTCUseUTC(This,aRTCUseUTC)	\
    ( (This)->lpVtbl -> get_RTCUseUTC(This,aRTCUseUTC) ) 

#define IPlatform_put_RTCUseUTC(This,aRTCUseUTC)	\
    ( (This)->lpVtbl -> put_RTCUseUTC(This,aRTCUseUTC) ) 

#define IPlatform_get_InternalAndReservedAttribute1IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute2IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute3IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute4IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute5IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute6IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute7IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute8IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute9IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute10IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute11IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute12IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute13IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute14IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute15IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IPlatform(This,aReserved) ) 

#define IPlatform_get_InternalAndReservedAttribute16IPlatform(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IPlatform(This,aReserved) ) 

#define IPlatform_InternalAndReservedMethod1IPlatform(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IPlatform(This) ) 

#define IPlatform_InternalAndReservedMethod2IPlatform(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IPlatform(This) ) 

#define IPlatform_InternalAndReservedMethod3IPlatform(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IPlatform(This) ) 

#define IPlatform_InternalAndReservedMethod4IPlatform(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IPlatform(This) ) 

#define IPlatform_InternalAndReservedMethod5IPlatform(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IPlatform(This) ) 

#define IPlatform_InternalAndReservedMethod6IPlatform(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IPlatform(This) ) 

#define IPlatform_InternalAndReservedMethod7IPlatform(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IPlatform(This) ) 

#define IPlatform_InternalAndReservedMethod8IPlatform(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IPlatform(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IPlatform_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0028 */
/* [local] */ 

#define COM_FORWARD_IPlatform_GETTER_Architecture_TO(smth) HRESULT STDMETHODCALLTYPE get_Architecture (PlatformArchitecture * aArchitecture) { return smth get_Architecture (aArchitecture); }
#define COM_FORWARD_IPlatform_GETTER_Architecture_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_Architecture_TO ((obj)->)
#define COM_FORWARD_IPlatform_GETTER_Architecture_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_Architecture_TO (base::)
#define COM_FORWARD_IPlatform_SETTER_Architecture_TO(smth) HRESULT STDMETHODCALLTYPE put_Architecture (PlatformArchitecture aArchitecture) { return smth put_Architecture (aArchitecture); }
#define COM_FORWARD_IPlatform_SETTER_Architecture_TO_OBJ(obj) COM_FORWARD_IPlatform_SETTER_Architecture_TO ((obj)->)
#define COM_FORWARD_IPlatform_SETTER_Architecture_TO_BASE(base) COM_FORWARD_IPlatform_SETTER_Architecture_TO (base::)
#define COM_FORWARD_IPlatform_GETTER_Properties_TO(smth) HRESULT STDMETHODCALLTYPE get_Properties (IPlatformProperties * * aProperties) { return smth get_Properties (aProperties); }
#define COM_FORWARD_IPlatform_GETTER_Properties_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_Properties_TO ((obj)->)
#define COM_FORWARD_IPlatform_GETTER_Properties_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_Properties_TO (base::)
#define COM_FORWARD_IPlatform_GETTER_X86_TO(smth) HRESULT STDMETHODCALLTYPE get_X86 (IPlatformX86 * * aX86) { return smth get_X86 (aX86); }
#define COM_FORWARD_IPlatform_GETTER_X86_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_X86_TO ((obj)->)
#define COM_FORWARD_IPlatform_GETTER_X86_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_X86_TO (base::)
#define COM_FORWARD_IPlatform_GETTER_ARM_TO(smth) HRESULT STDMETHODCALLTYPE get_ARM (IPlatformARM * * aARM) { return smth get_ARM (aARM); }
#define COM_FORWARD_IPlatform_GETTER_ARM_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_ARM_TO ((obj)->)
#define COM_FORWARD_IPlatform_GETTER_ARM_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_ARM_TO (base::)
#define COM_FORWARD_IPlatform_GETTER_ChipsetType_TO(smth) HRESULT STDMETHODCALLTYPE get_ChipsetType (ChipsetType * aChipsetType) { return smth get_ChipsetType (aChipsetType); }
#define COM_FORWARD_IPlatform_GETTER_ChipsetType_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_ChipsetType_TO ((obj)->)
#define COM_FORWARD_IPlatform_GETTER_ChipsetType_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_ChipsetType_TO (base::)
#define COM_FORWARD_IPlatform_SETTER_ChipsetType_TO(smth) HRESULT STDMETHODCALLTYPE put_ChipsetType (ChipsetType aChipsetType) { return smth put_ChipsetType (aChipsetType); }
#define COM_FORWARD_IPlatform_SETTER_ChipsetType_TO_OBJ(obj) COM_FORWARD_IPlatform_SETTER_ChipsetType_TO ((obj)->)
#define COM_FORWARD_IPlatform_SETTER_ChipsetType_TO_BASE(base) COM_FORWARD_IPlatform_SETTER_ChipsetType_TO (base::)
#define COM_FORWARD_IPlatform_GETTER_IommuType_TO(smth) HRESULT STDMETHODCALLTYPE get_IommuType (IommuType * aIommuType) { return smth get_IommuType (aIommuType); }
#define COM_FORWARD_IPlatform_GETTER_IommuType_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_IommuType_TO ((obj)->)
#define COM_FORWARD_IPlatform_GETTER_IommuType_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_IommuType_TO (base::)
#define COM_FORWARD_IPlatform_SETTER_IommuType_TO(smth) HRESULT STDMETHODCALLTYPE put_IommuType (IommuType aIommuType) { return smth put_IommuType (aIommuType); }
#define COM_FORWARD_IPlatform_SETTER_IommuType_TO_OBJ(obj) COM_FORWARD_IPlatform_SETTER_IommuType_TO ((obj)->)
#define COM_FORWARD_IPlatform_SETTER_IommuType_TO_BASE(base) COM_FORWARD_IPlatform_SETTER_IommuType_TO (base::)
#define COM_FORWARD_IPlatform_GETTER_RTCUseUTC_TO(smth) HRESULT STDMETHODCALLTYPE get_RTCUseUTC (BOOL * aRTCUseUTC) { return smth get_RTCUseUTC (aRTCUseUTC); }
#define COM_FORWARD_IPlatform_GETTER_RTCUseUTC_TO_OBJ(obj) COM_FORWARD_IPlatform_GETTER_RTCUseUTC_TO ((obj)->)
#define COM_FORWARD_IPlatform_GETTER_RTCUseUTC_TO_BASE(base) COM_FORWARD_IPlatform_GETTER_RTCUseUTC_TO (base::)
#define COM_FORWARD_IPlatform_SETTER_RTCUseUTC_TO(smth) HRESULT STDMETHODCALLTYPE put_RTCUseUTC (BOOL aRTCUseUTC) { return smth put_RTCUseUTC (aRTCUseUTC); }
#define COM_FORWARD_IPlatform_SETTER_RTCUseUTC_TO_OBJ(obj) COM_FORWARD_IPlatform_SETTER_RTCUseUTC_TO ((obj)->)
#define COM_FORWARD_IPlatform_SETTER_RTCUseUTC_TO_BASE(base) COM_FORWARD_IPlatform_SETTER_RTCUseUTC_TO (base::)
#define COM_FORWARD_IPlatform_TO(smth) COM_FORWARD_IPlatform_GETTER_Architecture_TO (smth) COM_FORWARD_IPlatform_SETTER_Architecture_TO (smth) COM_FORWARD_IPlatform_GETTER_Properties_TO (smth) COM_FORWARD_IPlatform_GETTER_X86_TO (smth) COM_FORWARD_IPlatform_GETTER_ARM_TO (smth) COM_FORWARD_IPlatform_GETTER_ChipsetType_TO (smth) COM_FORWARD_IPlatform_SETTER_ChipsetType_TO (smth) COM_FORWARD_IPlatform_GETTER_IommuType_TO (smth) COM_FORWARD_IPlatform_SETTER_IommuType_TO (smth) COM_FORWARD_IPlatform_GETTER_RTCUseUTC_TO (smth) COM_FORWARD_IPlatform_SETTER_RTCUseUTC_TO (smth) 
#define COM_FORWARD_IPlatform_TO_OBJ(obj) COM_FORWARD_IPlatform_TO ((obj)->)
#define COM_FORWARD_IPlatform_TO_BASE(base) COM_FORWARD_IPlatform_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0028_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0028_v0_0_s_ifspec;

#ifndef __IPlatformX86_INTERFACE_DEFINED__
#define __IPlatformX86_INTERFACE_DEFINED__

/* interface IPlatformX86 */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IPlatformX86;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5ada589f-09c9-4604-b700-9ab3a5572e3a")
    IPlatformX86 : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HPETEnabled( 
            /* [retval][out] */ BOOL *aHPETEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HPETEnabled( 
            /* [in] */ BOOL aHPETEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16IPlatformX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCPUProperty( 
            /* [in] */ CPUPropertyTypeX86 aProperty,
            /* [retval][out] */ BOOL *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCPUProperty( 
            /* [in] */ CPUPropertyTypeX86 aProperty,
            /* [in] */ BOOL aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCPUIDLeafByOrdinal( 
            /* [in] */ ULONG aOrdinal,
            /* [out] */ ULONG *aIdx,
            /* [out] */ ULONG *aIdxSub,
            /* [out] */ ULONG *aValEax,
            /* [out] */ ULONG *aValEbx,
            /* [out] */ ULONG *aValEcx,
            /* [out] */ ULONG *aValEdx) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCPUIDLeaf( 
            /* [in] */ ULONG aIdx,
            /* [in] */ ULONG aIdxSub,
            /* [out] */ ULONG *aValEax,
            /* [out] */ ULONG *aValEbx,
            /* [out] */ ULONG *aValEcx,
            /* [out] */ ULONG *aValEdx) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCPUIDLeaf( 
            /* [in] */ ULONG aIdx,
            /* [in] */ ULONG aIdxSub,
            /* [in] */ ULONG aValEax,
            /* [in] */ ULONG aValEbx,
            /* [in] */ ULONG aValEcx,
            /* [in] */ ULONG aValEdx) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveCPUIDLeaf( 
            /* [in] */ ULONG aIdx,
            /* [in] */ ULONG aIdxSub) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveAllCPUIDLeaves( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetHWVirtExProperty( 
            /* [in] */ HWVirtExPropertyType aProperty,
            /* [retval][out] */ BOOL *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetHWVirtExProperty( 
            /* [in] */ HWVirtExPropertyType aProperty,
            /* [in] */ BOOL aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IPlatformX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IPlatformX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IPlatformX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IPlatformX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IPlatformX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IPlatformX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IPlatformX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IPlatformX86( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IPlatformX86Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPlatformX86 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPlatformX86 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPlatformX86 * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IPlatformX86 * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IPlatformX86 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IPlatformX86 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IPlatformX86 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_HPETEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HPETEnabled )( 
            IPlatformX86 * This,
            /* [retval][out] */ BOOL *aHPETEnabled);
        
        DECLSPEC_XFGVIRT(IPlatformX86, put_HPETEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HPETEnabled )( 
            IPlatformX86 * This,
            /* [in] */ BOOL aHPETEnabled);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute1IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute2IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute3IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute4IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute5IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute6IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute7IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute8IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute9IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute10IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute11IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute12IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute13IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute14IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute15IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, get_InternalAndReservedAttribute16IPlatformX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IPlatformX86 )( 
            IPlatformX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformX86, GetCPUProperty)
        HRESULT ( STDMETHODCALLTYPE *GetCPUProperty )( 
            IPlatformX86 * This,
            /* [in] */ CPUPropertyTypeX86 aProperty,
            /* [retval][out] */ BOOL *aValue);
        
        DECLSPEC_XFGVIRT(IPlatformX86, SetCPUProperty)
        HRESULT ( STDMETHODCALLTYPE *SetCPUProperty )( 
            IPlatformX86 * This,
            /* [in] */ CPUPropertyTypeX86 aProperty,
            /* [in] */ BOOL aValue);
        
        DECLSPEC_XFGVIRT(IPlatformX86, GetCPUIDLeafByOrdinal)
        HRESULT ( STDMETHODCALLTYPE *GetCPUIDLeafByOrdinal )( 
            IPlatformX86 * This,
            /* [in] */ ULONG aOrdinal,
            /* [out] */ ULONG *aIdx,
            /* [out] */ ULONG *aIdxSub,
            /* [out] */ ULONG *aValEax,
            /* [out] */ ULONG *aValEbx,
            /* [out] */ ULONG *aValEcx,
            /* [out] */ ULONG *aValEdx);
        
        DECLSPEC_XFGVIRT(IPlatformX86, GetCPUIDLeaf)
        HRESULT ( STDMETHODCALLTYPE *GetCPUIDLeaf )( 
            IPlatformX86 * This,
            /* [in] */ ULONG aIdx,
            /* [in] */ ULONG aIdxSub,
            /* [out] */ ULONG *aValEax,
            /* [out] */ ULONG *aValEbx,
            /* [out] */ ULONG *aValEcx,
            /* [out] */ ULONG *aValEdx);
        
        DECLSPEC_XFGVIRT(IPlatformX86, SetCPUIDLeaf)
        HRESULT ( STDMETHODCALLTYPE *SetCPUIDLeaf )( 
            IPlatformX86 * This,
            /* [in] */ ULONG aIdx,
            /* [in] */ ULONG aIdxSub,
            /* [in] */ ULONG aValEax,
            /* [in] */ ULONG aValEbx,
            /* [in] */ ULONG aValEcx,
            /* [in] */ ULONG aValEdx);
        
        DECLSPEC_XFGVIRT(IPlatformX86, RemoveCPUIDLeaf)
        HRESULT ( STDMETHODCALLTYPE *RemoveCPUIDLeaf )( 
            IPlatformX86 * This,
            /* [in] */ ULONG aIdx,
            /* [in] */ ULONG aIdxSub);
        
        DECLSPEC_XFGVIRT(IPlatformX86, RemoveAllCPUIDLeaves)
        HRESULT ( STDMETHODCALLTYPE *RemoveAllCPUIDLeaves )( 
            IPlatformX86 * This);
        
        DECLSPEC_XFGVIRT(IPlatformX86, GetHWVirtExProperty)
        HRESULT ( STDMETHODCALLTYPE *GetHWVirtExProperty )( 
            IPlatformX86 * This,
            /* [in] */ HWVirtExPropertyType aProperty,
            /* [retval][out] */ BOOL *aValue);
        
        DECLSPEC_XFGVIRT(IPlatformX86, SetHWVirtExProperty)
        HRESULT ( STDMETHODCALLTYPE *SetHWVirtExProperty )( 
            IPlatformX86 * This,
            /* [in] */ HWVirtExPropertyType aProperty,
            /* [in] */ BOOL aValue);
        
        DECLSPEC_XFGVIRT(IPlatformX86, InternalAndReservedMethod1IPlatformX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IPlatformX86 )( 
            IPlatformX86 * This);
        
        DECLSPEC_XFGVIRT(IPlatformX86, InternalAndReservedMethod2IPlatformX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IPlatformX86 )( 
            IPlatformX86 * This);
        
        DECLSPEC_XFGVIRT(IPlatformX86, InternalAndReservedMethod3IPlatformX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IPlatformX86 )( 
            IPlatformX86 * This);
        
        DECLSPEC_XFGVIRT(IPlatformX86, InternalAndReservedMethod4IPlatformX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IPlatformX86 )( 
            IPlatformX86 * This);
        
        DECLSPEC_XFGVIRT(IPlatformX86, InternalAndReservedMethod5IPlatformX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IPlatformX86 )( 
            IPlatformX86 * This);
        
        DECLSPEC_XFGVIRT(IPlatformX86, InternalAndReservedMethod6IPlatformX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IPlatformX86 )( 
            IPlatformX86 * This);
        
        DECLSPEC_XFGVIRT(IPlatformX86, InternalAndReservedMethod7IPlatformX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IPlatformX86 )( 
            IPlatformX86 * This);
        
        DECLSPEC_XFGVIRT(IPlatformX86, InternalAndReservedMethod8IPlatformX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IPlatformX86 )( 
            IPlatformX86 * This);
        
        END_INTERFACE
    } IPlatformX86Vtbl;

    interface IPlatformX86
    {
        CONST_VTBL struct IPlatformX86Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlatformX86_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IPlatformX86_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IPlatformX86_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IPlatformX86_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IPlatformX86_get_HPETEnabled(This,aHPETEnabled)	\
    ( (This)->lpVtbl -> get_HPETEnabled(This,aHPETEnabled) ) 

#define IPlatformX86_put_HPETEnabled(This,aHPETEnabled)	\
    ( (This)->lpVtbl -> put_HPETEnabled(This,aHPETEnabled) ) 

#define IPlatformX86_get_InternalAndReservedAttribute1IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute2IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute3IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute4IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute5IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute6IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute7IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute8IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute9IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute10IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute11IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute12IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute13IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute14IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute15IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IPlatformX86(This,aReserved) ) 

#define IPlatformX86_get_InternalAndReservedAttribute16IPlatformX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IPlatformX86(This,aReserved) ) 

#define IPlatformX86_GetCPUProperty(This,aProperty,aValue)	\
    ( (This)->lpVtbl -> GetCPUProperty(This,aProperty,aValue) ) 

#define IPlatformX86_SetCPUProperty(This,aProperty,aValue)	\
    ( (This)->lpVtbl -> SetCPUProperty(This,aProperty,aValue) ) 

#define IPlatformX86_GetCPUIDLeafByOrdinal(This,aOrdinal,aIdx,aIdxSub,aValEax,aValEbx,aValEcx,aValEdx)	\
    ( (This)->lpVtbl -> GetCPUIDLeafByOrdinal(This,aOrdinal,aIdx,aIdxSub,aValEax,aValEbx,aValEcx,aValEdx) ) 

#define IPlatformX86_GetCPUIDLeaf(This,aIdx,aIdxSub,aValEax,aValEbx,aValEcx,aValEdx)	\
    ( (This)->lpVtbl -> GetCPUIDLeaf(This,aIdx,aIdxSub,aValEax,aValEbx,aValEcx,aValEdx) ) 

#define IPlatformX86_SetCPUIDLeaf(This,aIdx,aIdxSub,aValEax,aValEbx,aValEcx,aValEdx)	\
    ( (This)->lpVtbl -> SetCPUIDLeaf(This,aIdx,aIdxSub,aValEax,aValEbx,aValEcx,aValEdx) ) 

#define IPlatformX86_RemoveCPUIDLeaf(This,aIdx,aIdxSub)	\
    ( (This)->lpVtbl -> RemoveCPUIDLeaf(This,aIdx,aIdxSub) ) 

#define IPlatformX86_RemoveAllCPUIDLeaves(This)	\
    ( (This)->lpVtbl -> RemoveAllCPUIDLeaves(This) ) 

#define IPlatformX86_GetHWVirtExProperty(This,aProperty,aValue)	\
    ( (This)->lpVtbl -> GetHWVirtExProperty(This,aProperty,aValue) ) 

#define IPlatformX86_SetHWVirtExProperty(This,aProperty,aValue)	\
    ( (This)->lpVtbl -> SetHWVirtExProperty(This,aProperty,aValue) ) 

#define IPlatformX86_InternalAndReservedMethod1IPlatformX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IPlatformX86(This) ) 

#define IPlatformX86_InternalAndReservedMethod2IPlatformX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IPlatformX86(This) ) 

#define IPlatformX86_InternalAndReservedMethod3IPlatformX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IPlatformX86(This) ) 

#define IPlatformX86_InternalAndReservedMethod4IPlatformX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IPlatformX86(This) ) 

#define IPlatformX86_InternalAndReservedMethod5IPlatformX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IPlatformX86(This) ) 

#define IPlatformX86_InternalAndReservedMethod6IPlatformX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IPlatformX86(This) ) 

#define IPlatformX86_InternalAndReservedMethod7IPlatformX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IPlatformX86(This) ) 

#define IPlatformX86_InternalAndReservedMethod8IPlatformX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IPlatformX86(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IPlatformX86_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0029 */
/* [local] */ 

#define COM_FORWARD_IPlatformX86_GETTER_HPETEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_HPETEnabled (BOOL * aHPETEnabled) { return smth get_HPETEnabled (aHPETEnabled); }
#define COM_FORWARD_IPlatformX86_GETTER_HPETEnabled_TO_OBJ(obj) COM_FORWARD_IPlatformX86_GETTER_HPETEnabled_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_GETTER_HPETEnabled_TO_BASE(base) COM_FORWARD_IPlatformX86_GETTER_HPETEnabled_TO (base::)
#define COM_FORWARD_IPlatformX86_SETTER_HPETEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_HPETEnabled (BOOL aHPETEnabled) { return smth put_HPETEnabled (aHPETEnabled); }
#define COM_FORWARD_IPlatformX86_SETTER_HPETEnabled_TO_OBJ(obj) COM_FORWARD_IPlatformX86_SETTER_HPETEnabled_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_SETTER_HPETEnabled_TO_BASE(base) COM_FORWARD_IPlatformX86_SETTER_HPETEnabled_TO (base::)
#define COM_FORWARD_IPlatformX86_GetCPUProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetCPUProperty (CPUPropertyTypeX86 aProperty, BOOL * aValue) { return smth GetCPUProperty (aProperty, aValue); }
#define COM_FORWARD_IPlatformX86_GetCPUProperty_TO_OBJ(obj) COM_FORWARD_IPlatformX86_GetCPUProperty_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_GetCPUProperty_TO_BASE(base) COM_FORWARD_IPlatformX86_GetCPUProperty_TO (base::)
#define COM_FORWARD_IPlatformX86_SetCPUProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetCPUProperty (CPUPropertyTypeX86 aProperty, BOOL aValue) { return smth SetCPUProperty (aProperty, aValue); }
#define COM_FORWARD_IPlatformX86_SetCPUProperty_TO_OBJ(obj) COM_FORWARD_IPlatformX86_SetCPUProperty_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_SetCPUProperty_TO_BASE(base) COM_FORWARD_IPlatformX86_SetCPUProperty_TO (base::)
#define COM_FORWARD_IPlatformX86_GetCPUIDLeafByOrdinal_TO(smth) HRESULT STDMETHODCALLTYPE GetCPUIDLeafByOrdinal (ULONG aOrdinal, ULONG * aIdx, ULONG * aIdxSub, ULONG * aValEax, ULONG * aValEbx, ULONG * aValEcx, ULONG * aValEdx) { return smth GetCPUIDLeafByOrdinal (aOrdinal, aIdx, aIdxSub, aValEax, aValEbx, aValEcx, aValEdx); }
#define COM_FORWARD_IPlatformX86_GetCPUIDLeafByOrdinal_TO_OBJ(obj) COM_FORWARD_IPlatformX86_GetCPUIDLeafByOrdinal_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_GetCPUIDLeafByOrdinal_TO_BASE(base) COM_FORWARD_IPlatformX86_GetCPUIDLeafByOrdinal_TO (base::)
#define COM_FORWARD_IPlatformX86_GetCPUIDLeaf_TO(smth) HRESULT STDMETHODCALLTYPE GetCPUIDLeaf (ULONG aIdx, ULONG aIdxSub, ULONG * aValEax, ULONG * aValEbx, ULONG * aValEcx, ULONG * aValEdx) { return smth GetCPUIDLeaf (aIdx, aIdxSub, aValEax, aValEbx, aValEcx, aValEdx); }
#define COM_FORWARD_IPlatformX86_GetCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IPlatformX86_GetCPUIDLeaf_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_GetCPUIDLeaf_TO_BASE(base) COM_FORWARD_IPlatformX86_GetCPUIDLeaf_TO (base::)
#define COM_FORWARD_IPlatformX86_SetCPUIDLeaf_TO(smth) HRESULT STDMETHODCALLTYPE SetCPUIDLeaf (ULONG aIdx, ULONG aIdxSub, ULONG aValEax, ULONG aValEbx, ULONG aValEcx, ULONG aValEdx) { return smth SetCPUIDLeaf (aIdx, aIdxSub, aValEax, aValEbx, aValEcx, aValEdx); }
#define COM_FORWARD_IPlatformX86_SetCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IPlatformX86_SetCPUIDLeaf_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_SetCPUIDLeaf_TO_BASE(base) COM_FORWARD_IPlatformX86_SetCPUIDLeaf_TO (base::)
#define COM_FORWARD_IPlatformX86_RemoveCPUIDLeaf_TO(smth) HRESULT STDMETHODCALLTYPE RemoveCPUIDLeaf (ULONG aIdx, ULONG aIdxSub) { return smth RemoveCPUIDLeaf (aIdx, aIdxSub); }
#define COM_FORWARD_IPlatformX86_RemoveCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IPlatformX86_RemoveCPUIDLeaf_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_RemoveCPUIDLeaf_TO_BASE(base) COM_FORWARD_IPlatformX86_RemoveCPUIDLeaf_TO (base::)
#define COM_FORWARD_IPlatformX86_RemoveAllCPUIDLeaves_TO(smth) HRESULT STDMETHODCALLTYPE RemoveAllCPUIDLeaves() { return smth RemoveAllCPUIDLeaves(); }
#define COM_FORWARD_IPlatformX86_RemoveAllCPUIDLeaves_TO_OBJ(obj) COM_FORWARD_IPlatformX86_RemoveAllCPUIDLeaves_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_RemoveAllCPUIDLeaves_TO_BASE(base) COM_FORWARD_IPlatformX86_RemoveAllCPUIDLeaves_TO (base::)
#define COM_FORWARD_IPlatformX86_GetHWVirtExProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetHWVirtExProperty (HWVirtExPropertyType aProperty, BOOL * aValue) { return smth GetHWVirtExProperty (aProperty, aValue); }
#define COM_FORWARD_IPlatformX86_GetHWVirtExProperty_TO_OBJ(obj) COM_FORWARD_IPlatformX86_GetHWVirtExProperty_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_GetHWVirtExProperty_TO_BASE(base) COM_FORWARD_IPlatformX86_GetHWVirtExProperty_TO (base::)
#define COM_FORWARD_IPlatformX86_SetHWVirtExProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetHWVirtExProperty (HWVirtExPropertyType aProperty, BOOL aValue) { return smth SetHWVirtExProperty (aProperty, aValue); }
#define COM_FORWARD_IPlatformX86_SetHWVirtExProperty_TO_OBJ(obj) COM_FORWARD_IPlatformX86_SetHWVirtExProperty_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_SetHWVirtExProperty_TO_BASE(base) COM_FORWARD_IPlatformX86_SetHWVirtExProperty_TO (base::)
#define COM_FORWARD_IPlatformX86_TO(smth) COM_FORWARD_IPlatformX86_GETTER_HPETEnabled_TO (smth) COM_FORWARD_IPlatformX86_SETTER_HPETEnabled_TO (smth) COM_FORWARD_IPlatformX86_GetCPUProperty_TO (smth) COM_FORWARD_IPlatformX86_SetCPUProperty_TO (smth) COM_FORWARD_IPlatformX86_GetCPUIDLeafByOrdinal_TO (smth) COM_FORWARD_IPlatformX86_GetCPUIDLeaf_TO (smth) COM_FORWARD_IPlatformX86_SetCPUIDLeaf_TO (smth) COM_FORWARD_IPlatformX86_RemoveCPUIDLeaf_TO (smth) COM_FORWARD_IPlatformX86_RemoveAllCPUIDLeaves_TO (smth) COM_FORWARD_IPlatformX86_GetHWVirtExProperty_TO (smth) COM_FORWARD_IPlatformX86_SetHWVirtExProperty_TO (smth) 
#define COM_FORWARD_IPlatformX86_TO_OBJ(obj) COM_FORWARD_IPlatformX86_TO ((obj)->)
#define COM_FORWARD_IPlatformX86_TO_BASE(base) COM_FORWARD_IPlatformX86_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0029_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0029_v0_0_s_ifspec;

#ifndef __IPlatformARM_INTERFACE_DEFINED__
#define __IPlatformARM_INTERFACE_DEFINED__

/* interface IPlatformARM */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IPlatformARM;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("75dff9be-6cb3-4857-bde6-2faf82ed9a8d")
    IPlatformARM : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16IPlatformARM( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IPlatformARM( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IPlatformARM( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IPlatformARM( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IPlatformARM( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IPlatformARM( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IPlatformARM( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IPlatformARM( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IPlatformARM( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IPlatformARMVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPlatformARM * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPlatformARM * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPlatformARM * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IPlatformARM * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IPlatformARM * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IPlatformARM * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IPlatformARM * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IPlatformARM * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute1IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute2IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute3IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute4IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute5IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute6IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute7IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute8IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute9IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute10IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute11IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute12IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute13IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute14IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute15IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, get_InternalAndReservedAttribute16IPlatformARM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IPlatformARM )( 
            IPlatformARM * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformARM, InternalAndReservedMethod1IPlatformARM)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IPlatformARM )( 
            IPlatformARM * This);
        
        DECLSPEC_XFGVIRT(IPlatformARM, InternalAndReservedMethod2IPlatformARM)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IPlatformARM )( 
            IPlatformARM * This);
        
        DECLSPEC_XFGVIRT(IPlatformARM, InternalAndReservedMethod3IPlatformARM)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IPlatformARM )( 
            IPlatformARM * This);
        
        DECLSPEC_XFGVIRT(IPlatformARM, InternalAndReservedMethod4IPlatformARM)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IPlatformARM )( 
            IPlatformARM * This);
        
        DECLSPEC_XFGVIRT(IPlatformARM, InternalAndReservedMethod5IPlatformARM)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IPlatformARM )( 
            IPlatformARM * This);
        
        DECLSPEC_XFGVIRT(IPlatformARM, InternalAndReservedMethod6IPlatformARM)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IPlatformARM )( 
            IPlatformARM * This);
        
        DECLSPEC_XFGVIRT(IPlatformARM, InternalAndReservedMethod7IPlatformARM)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IPlatformARM )( 
            IPlatformARM * This);
        
        DECLSPEC_XFGVIRT(IPlatformARM, InternalAndReservedMethod8IPlatformARM)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IPlatformARM )( 
            IPlatformARM * This);
        
        END_INTERFACE
    } IPlatformARMVtbl;

    interface IPlatformARM
    {
        CONST_VTBL struct IPlatformARMVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlatformARM_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IPlatformARM_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IPlatformARM_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IPlatformARM_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IPlatformARM_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#define IPlatformARM_get_InternalAndReservedAttribute1IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute2IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute3IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute4IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute5IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute6IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute7IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute8IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute9IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute10IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute11IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute12IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute13IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute14IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute15IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IPlatformARM(This,aReserved) ) 

#define IPlatformARM_get_InternalAndReservedAttribute16IPlatformARM(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IPlatformARM(This,aReserved) ) 

#define IPlatformARM_InternalAndReservedMethod1IPlatformARM(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IPlatformARM(This) ) 

#define IPlatformARM_InternalAndReservedMethod2IPlatformARM(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IPlatformARM(This) ) 

#define IPlatformARM_InternalAndReservedMethod3IPlatformARM(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IPlatformARM(This) ) 

#define IPlatformARM_InternalAndReservedMethod4IPlatformARM(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IPlatformARM(This) ) 

#define IPlatformARM_InternalAndReservedMethod5IPlatformARM(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IPlatformARM(This) ) 

#define IPlatformARM_InternalAndReservedMethod6IPlatformARM(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IPlatformARM(This) ) 

#define IPlatformARM_InternalAndReservedMethod7IPlatformARM(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IPlatformARM(This) ) 

#define IPlatformARM_InternalAndReservedMethod8IPlatformARM(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IPlatformARM(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IPlatformARM_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0030 */
/* [local] */ 

#define COM_FORWARD_IPlatformARM_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IPlatformARM_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IPlatformARM_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IPlatformARM_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IPlatformARM_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IPlatformARM_TO(smth) COM_FORWARD_IPlatformARM_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IPlatformARM_TO_OBJ(obj) COM_FORWARD_IPlatformARM_TO ((obj)->)
#define COM_FORWARD_IPlatformARM_TO_BASE(base) COM_FORWARD_IPlatformARM_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0030_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0030_v0_0_s_ifspec;

#ifndef __IMachine_INTERFACE_DEFINED__
#define __IMachine_INTERFACE_DEFINED__

/* interface IMachine */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMachine;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e36a5081-a82a-40bd-9e4e-42a44d6ce50f")
    IMachine : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IVirtualBox **aParent) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Icon( 
            /* [retval][out] */ SAFEARRAY * *aIcon) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Icon( 
            /* [in] */ SAFEARRAY * aIcon) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Accessible( 
            /* [retval][out] */ BOOL *aAccessible) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AccessError( 
            /* [retval][out] */ IVirtualBoxErrorInfo **aAccessError) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *aDescription) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR aDescription) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Groups( 
            /* [retval][out] */ SAFEARRAY * *aGroups) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Groups( 
            /* [in] */ SAFEARRAY * aGroups) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OSTypeId( 
            /* [retval][out] */ BSTR *aOSTypeId) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OSTypeId( 
            /* [in] */ BSTR aOSTypeId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HardwareVersion( 
            /* [retval][out] */ BSTR *aHardwareVersion) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HardwareVersion( 
            /* [in] */ BSTR aHardwareVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HardwareUUID( 
            /* [retval][out] */ BSTR *aHardwareUUID) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HardwareUUID( 
            /* [in] */ BSTR aHardwareUUID) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CPUCount( 
            /* [retval][out] */ ULONG *aCPUCount) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CPUCount( 
            /* [in] */ ULONG aCPUCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CPUHotPlugEnabled( 
            /* [retval][out] */ BOOL *aCPUHotPlugEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CPUHotPlugEnabled( 
            /* [in] */ BOOL aCPUHotPlugEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CPUExecutionCap( 
            /* [retval][out] */ ULONG *aCPUExecutionCap) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CPUExecutionCap( 
            /* [in] */ ULONG aCPUExecutionCap) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CPUIDPortabilityLevel( 
            /* [retval][out] */ ULONG *aCPUIDPortabilityLevel) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CPUIDPortabilityLevel( 
            /* [in] */ ULONG aCPUIDPortabilityLevel) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MemorySize( 
            /* [retval][out] */ ULONG *aMemorySize) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MemorySize( 
            /* [in] */ ULONG aMemorySize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MemoryBalloonSize( 
            /* [retval][out] */ ULONG *aMemoryBalloonSize) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MemoryBalloonSize( 
            /* [in] */ ULONG aMemoryBalloonSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PageFusionEnabled( 
            /* [retval][out] */ BOOL *aPageFusionEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PageFusionEnabled( 
            /* [in] */ BOOL aPageFusionEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GraphicsAdapter( 
            /* [retval][out] */ IGraphicsAdapter **aGraphicsAdapter) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Platform( 
            /* [retval][out] */ IPlatform **aPlatform) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FirmwareSettings( 
            /* [retval][out] */ IFirmwareSettings **aFirmwareSettings) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TrustedPlatformModule( 
            /* [retval][out] */ ITrustedPlatformModule **aTrustedPlatformModule) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NonVolatileStore( 
            /* [retval][out] */ INvramStore **aNonVolatileStore) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecordingSettings( 
            /* [retval][out] */ IRecordingSettings **aRecordingSettings) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointingHIDType( 
            /* [retval][out] */ PointingHIDType *aPointingHIDType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PointingHIDType( 
            /* [in] */ PointingHIDType aPointingHIDType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyboardHIDType( 
            /* [retval][out] */ KeyboardHIDType *aKeyboardHIDType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeyboardHIDType( 
            /* [in] */ KeyboardHIDType aKeyboardHIDType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SnapshotFolder( 
            /* [retval][out] */ BSTR *aSnapshotFolder) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SnapshotFolder( 
            /* [in] */ BSTR aSnapshotFolder) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VRDEServer( 
            /* [retval][out] */ IVRDEServer **aVRDEServer) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EmulatedUSBCardReaderEnabled( 
            /* [retval][out] */ BOOL *aEmulatedUSBCardReaderEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EmulatedUSBCardReaderEnabled( 
            /* [in] */ BOOL aEmulatedUSBCardReaderEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MediumAttachments( 
            /* [retval][out] */ SAFEARRAY * *aMediumAttachments) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_USBControllers( 
            /* [retval][out] */ SAFEARRAY * *aUSBControllers) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_USBDeviceFilters( 
            /* [retval][out] */ IUSBDeviceFilters **aUSBDeviceFilters) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioSettings( 
            /* [retval][out] */ IAudioSettings **aAudioSettings) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StorageControllers( 
            /* [retval][out] */ SAFEARRAY * *aStorageControllers) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SettingsFilePath( 
            /* [retval][out] */ BSTR *aSettingsFilePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SettingsAuxFilePath( 
            /* [retval][out] */ BSTR *aSettingsAuxFilePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SettingsModified( 
            /* [retval][out] */ BOOL *aSettingsModified) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SessionState( 
            /* [retval][out] */ SessionState *aSessionState) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SessionName( 
            /* [retval][out] */ BSTR *aSessionName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SessionPID( 
            /* [retval][out] */ ULONG *aSessionPID) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ MachineState *aState) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LastStateChange( 
            /* [retval][out] */ LONG64 *aLastStateChange) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StateFilePath( 
            /* [retval][out] */ BSTR *aStateFilePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogFolder( 
            /* [retval][out] */ BSTR *aLogFolder) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CurrentSnapshot( 
            /* [retval][out] */ ISnapshot **aCurrentSnapshot) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SnapshotCount( 
            /* [retval][out] */ ULONG *aSnapshotCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CurrentStateModified( 
            /* [retval][out] */ BOOL *aCurrentStateModified) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SharedFolders( 
            /* [retval][out] */ SAFEARRAY * *aSharedFolders) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClipboardMode( 
            /* [retval][out] */ ClipboardMode *aClipboardMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClipboardMode( 
            /* [in] */ ClipboardMode aClipboardMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClipboardFileTransfersEnabled( 
            /* [retval][out] */ BOOL *aClipboardFileTransfersEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClipboardFileTransfersEnabled( 
            /* [in] */ BOOL aClipboardFileTransfersEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DnDMode( 
            /* [retval][out] */ DnDMode *aDnDMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DnDMode( 
            /* [in] */ DnDMode aDnDMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TeleporterEnabled( 
            /* [retval][out] */ BOOL *aTeleporterEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TeleporterEnabled( 
            /* [in] */ BOOL aTeleporterEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TeleporterPort( 
            /* [retval][out] */ ULONG *aTeleporterPort) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TeleporterPort( 
            /* [in] */ ULONG aTeleporterPort) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TeleporterAddress( 
            /* [retval][out] */ BSTR *aTeleporterAddress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TeleporterAddress( 
            /* [in] */ BSTR aTeleporterAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TeleporterPassword( 
            /* [retval][out] */ BSTR *aTeleporterPassword) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TeleporterPassword( 
            /* [in] */ BSTR aTeleporterPassword) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ParavirtProvider( 
            /* [retval][out] */ ParavirtProvider *aParavirtProvider) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ParavirtProvider( 
            /* [in] */ ParavirtProvider aParavirtProvider) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IOCacheEnabled( 
            /* [retval][out] */ BOOL *aIOCacheEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IOCacheEnabled( 
            /* [in] */ BOOL aIOCacheEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IOCacheSize( 
            /* [retval][out] */ ULONG *aIOCacheSize) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IOCacheSize( 
            /* [in] */ ULONG aIOCacheSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PCIDeviceAssignments( 
            /* [retval][out] */ SAFEARRAY * *aPCIDeviceAssignments) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BandwidthControl( 
            /* [retval][out] */ IBandwidthControl **aBandwidthControl) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TracingEnabled( 
            /* [retval][out] */ BOOL *aTracingEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TracingEnabled( 
            /* [in] */ BOOL aTracingEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TracingConfig( 
            /* [retval][out] */ BSTR *aTracingConfig) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TracingConfig( 
            /* [in] */ BSTR aTracingConfig) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllowTracingToAccessVM( 
            /* [retval][out] */ BOOL *aAllowTracingToAccessVM) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AllowTracingToAccessVM( 
            /* [in] */ BOOL aAllowTracingToAccessVM) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutostartEnabled( 
            /* [retval][out] */ BOOL *aAutostartEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutostartEnabled( 
            /* [in] */ BOOL aAutostartEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutostartDelay( 
            /* [retval][out] */ ULONG *aAutostartDelay) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutostartDelay( 
            /* [in] */ ULONG aAutostartDelay) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutostopType( 
            /* [retval][out] */ AutostopType *aAutostopType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutostopType( 
            /* [in] */ AutostopType aAutostopType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultFrontend( 
            /* [retval][out] */ BSTR *aDefaultFrontend) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultFrontend( 
            /* [in] */ BSTR aDefaultFrontend) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_USBProxyAvailable( 
            /* [retval][out] */ BOOL *aUSBProxyAvailable) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VMProcessPriority( 
            /* [retval][out] */ VMProcPriority *aVMProcessPriority) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VMProcessPriority( 
            /* [in] */ VMProcPriority aVMProcessPriority) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VMExecutionEngine( 
            /* [retval][out] */ VMExecutionEngine *aVMExecutionEngine) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VMExecutionEngine( 
            /* [in] */ VMExecutionEngine aVMExecutionEngine) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ParavirtDebug( 
            /* [retval][out] */ BSTR *aParavirtDebug) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ParavirtDebug( 
            /* [in] */ BSTR aParavirtDebug) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CPUProfile( 
            /* [retval][out] */ BSTR *aCPUProfile) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CPUProfile( 
            /* [in] */ BSTR aCPUProfile) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StateKeyId( 
            /* [retval][out] */ BSTR *aStateKeyId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StateKeyStore( 
            /* [retval][out] */ BSTR *aStateKeyStore) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogKeyId( 
            /* [retval][out] */ BSTR *aLogKeyId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogKeyStore( 
            /* [retval][out] */ BSTR *aLogKeyStore) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestDebugControl( 
            /* [retval][out] */ IGuestDebugControl **aGuestDebugControl) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16IMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LockMachine( 
            /* [in] */ ISession *aSession,
            /* [in] */ LockType aLockType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LaunchVMProcess( 
            /* [in] */ ISession *aSession,
            /* [in] */ BSTR aName,
            /* [in] */ SAFEARRAY * aEnvironmentChanges,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetBootOrder( 
            /* [in] */ ULONG aPosition,
            /* [in] */ DeviceType aDevice) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetBootOrder( 
            /* [in] */ ULONG aPosition,
            /* [retval][out] */ DeviceType *aDevice) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AttachDevice( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ DeviceType aType,
            /* [in] */ IMedium *aMedium) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AttachDeviceWithoutMedium( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ DeviceType aType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DetachDevice( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PassthroughDevice( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aPassthrough) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TemporaryEjectDevice( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aTemporaryEject) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NonRotationalDevice( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aNonRotational) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAutoDiscardForDevice( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aDiscard) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetHotPluggableForDevice( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aHotPluggable) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetBandwidthGroupForDevice( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ IBandwidthGroup *aBandwidthGroup) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetNoBandwidthGroupForDevice( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnmountMedium( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aForce) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MountMedium( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ IMedium *aMedium,
            /* [in] */ BOOL aForce) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMedium( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [retval][out] */ IMedium **aMedium) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMediumAttachmentsOfController( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ SAFEARRAY * *aMediumAttachments) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMediumAttachment( 
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [retval][out] */ IMediumAttachment **aAttachment) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AttachHostPCIDevice( 
            /* [in] */ LONG aHostAddress,
            /* [in] */ LONG aDesiredGuestAddress,
            /* [in] */ BOOL aTryToUnbind) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DetachHostPCIDevice( 
            /* [in] */ LONG aHostAddress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetNetworkAdapter( 
            /* [in] */ ULONG aSlot,
            /* [retval][out] */ INetworkAdapter **aAdapter) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddStorageController( 
            /* [in] */ BSTR aName,
            /* [in] */ StorageBus aConnectionType,
            /* [retval][out] */ IStorageController **aController) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetStorageControllerByName( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IStorageController **aStorageController) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetStorageControllerByInstance( 
            /* [in] */ StorageBus aConnectionType,
            /* [in] */ ULONG aInstance,
            /* [retval][out] */ IStorageController **aStorageController) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveStorageController( 
            /* [in] */ BSTR aName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetStorageControllerBootable( 
            /* [in] */ BSTR aName,
            /* [in] */ BOOL aBootable) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddUSBController( 
            /* [in] */ BSTR aName,
            /* [in] */ USBControllerType aType,
            /* [retval][out] */ IUSBController **aController) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveUSBController( 
            /* [in] */ BSTR aName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetUSBControllerByName( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IUSBController **aController) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetUSBControllerCountByType( 
            /* [in] */ USBControllerType aType,
            /* [retval][out] */ ULONG *aControllers) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSerialPort( 
            /* [in] */ ULONG aSlot,
            /* [retval][out] */ ISerialPort **aPort) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetParallelPort( 
            /* [in] */ ULONG aSlot,
            /* [retval][out] */ IParallelPort **aPort) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetExtraDataKeys( 
            /* [retval][out] */ SAFEARRAY * *aKeys) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetExtraData( 
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetExtraData( 
            /* [in] */ BSTR aKey,
            /* [in] */ BSTR aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSettingsFilePath( 
            /* [in] */ BSTR aSettingsFilePath,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SaveSettings( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DiscardSettings( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Unregister( 
            /* [in] */ CleanupMode aCleanupMode,
            /* [retval][out] */ SAFEARRAY * *aMedia) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteConfig( 
            /* [in] */ SAFEARRAY * aMedia,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ExportTo( 
            /* [in] */ IAppliance *aAppliance,
            /* [in] */ BSTR aLocation,
            /* [retval][out] */ IVirtualSystemDescription **aDescription) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindSnapshot( 
            /* [in] */ BSTR aNameOrId,
            /* [retval][out] */ ISnapshot **aSnapshot) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateSharedFolder( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aHostPath,
            /* [in] */ BOOL aWritable,
            /* [in] */ BOOL aAutomount,
            /* [in] */ BSTR aAutoMountPoint) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveSharedFolder( 
            /* [in] */ BSTR aName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CanShowConsoleWindow( 
            /* [retval][out] */ BOOL *aCanShow) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ShowConsoleWindow( 
            /* [retval][out] */ LONG64 *aWinId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetGuestProperty( 
            /* [in] */ BSTR aName,
            /* [out] */ BSTR *aValue,
            /* [out] */ LONG64 *aTimestamp,
            /* [out] */ BSTR *aFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetGuestPropertyValue( 
            /* [in] */ BSTR aProperty,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetGuestPropertyTimestamp( 
            /* [in] */ BSTR aProperty,
            /* [retval][out] */ LONG64 *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetGuestProperty( 
            /* [in] */ BSTR aProperty,
            /* [in] */ BSTR aValue,
            /* [in] */ BSTR aFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetGuestPropertyValue( 
            /* [in] */ BSTR aProperty,
            /* [in] */ BSTR aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteGuestProperty( 
            /* [in] */ BSTR aName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnumerateGuestProperties( 
            /* [in] */ BSTR aPatterns,
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aValues,
            /* [out] */ SAFEARRAY * *aTimestamps,
            /* [out] */ SAFEARRAY * *aFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QuerySavedGuestScreenInfo( 
            /* [in] */ ULONG aScreenId,
            /* [out] */ ULONG *aOriginX,
            /* [out] */ ULONG *aOriginY,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [out] */ BOOL *aEnabled) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReadSavedThumbnailToArray( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ BitmapFormat aBitmapFormat,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [retval][out] */ SAFEARRAY * *aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QuerySavedScreenshotInfo( 
            /* [in] */ ULONG aScreenId,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [retval][out] */ SAFEARRAY * *aBitmapFormats) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReadSavedScreenshotToArray( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ BitmapFormat aBitmapFormat,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [retval][out] */ SAFEARRAY * *aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HotPlugCPU( 
            /* [in] */ ULONG aCpu) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HotUnplugCPU( 
            /* [in] */ ULONG aCpu) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCPUStatus( 
            /* [in] */ ULONG aCpu,
            /* [retval][out] */ BOOL *aAttached) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetEffectiveParavirtProvider( 
            /* [retval][out] */ ParavirtProvider *aParavirtProvider) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryLogFilename( 
            /* [in] */ ULONG aIdx,
            /* [retval][out] */ BSTR *aFilename) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReadLog( 
            /* [in] */ ULONG aIdx,
            /* [in] */ LONG64 aOffset,
            /* [in] */ LONG64 aSize,
            /* [retval][out] */ SAFEARRAY * *aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CloneTo( 
            /* [in] */ IMachine *aTarget,
            /* [in] */ CloneMode aMode,
            /* [in] */ SAFEARRAY * aOptions,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveTo( 
            /* [in] */ BSTR aFolder,
            /* [in] */ BSTR aType,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SaveState( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AdoptSavedState( 
            /* [in] */ BSTR aSavedStateFile) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DiscardSavedState( 
            /* [in] */ BOOL aFRemoveFile) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TakeSnapshot( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aDescription,
            /* [in] */ BOOL aPause,
            /* [out] */ BSTR *aId,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteSnapshot( 
            /* [in] */ BSTR aId,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteSnapshotAndAllChildren( 
            /* [in] */ BSTR aId,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteSnapshotRange( 
            /* [in] */ BSTR aStartId,
            /* [in] */ BSTR aEndId,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RestoreSnapshot( 
            /* [in] */ ISnapshot *aSnapshot,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ApplyDefaults( 
            /* [in] */ BSTR aFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ChangeEncryption( 
            /* [in] */ BSTR aCurrentPassword,
            /* [in] */ BSTR aCipher,
            /* [in] */ BSTR aNewPassword,
            /* [in] */ BSTR aNewPasswordId,
            /* [in] */ BOOL aForce,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetEncryptionSettings( 
            /* [out] */ BSTR *aCipher,
            /* [out] */ BSTR *aPasswordId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CheckEncryptionPassword( 
            /* [in] */ BSTR aPassword) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddEncryptionPassword( 
            /* [in] */ BSTR aId,
            /* [in] */ BSTR aPassword) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddEncryptionPasswords( 
            /* [in] */ SAFEARRAY * aIds,
            /* [in] */ SAFEARRAY * aPasswords) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveEncryptionPassword( 
            /* [in] */ BSTR aId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ClearAllEncryptionPasswords( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IMachine( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMachineVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMachine * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMachine * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMachine * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMachine * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMachine * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IMachine, get_Parent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMachine * This,
            /* [retval][out] */ IVirtualBox **aParent);
        
        DECLSPEC_XFGVIRT(IMachine, get_Icon)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Icon )( 
            IMachine * This,
            /* [retval][out] */ SAFEARRAY * *aIcon);
        
        DECLSPEC_XFGVIRT(IMachine, put_Icon)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Icon )( 
            IMachine * This,
            /* [in] */ SAFEARRAY * aIcon);
        
        DECLSPEC_XFGVIRT(IMachine, get_Accessible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Accessible )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aAccessible);
        
        DECLSPEC_XFGVIRT(IMachine, get_AccessError)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AccessError )( 
            IMachine * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aAccessError);
        
        DECLSPEC_XFGVIRT(IMachine, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IMachine, put_Name)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IMachine * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IMachine, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IMachine, put_Description)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IMachine * This,
            /* [in] */ BSTR aDescription);
        
        DECLSPEC_XFGVIRT(IMachine, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IMachine, get_Groups)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Groups )( 
            IMachine * This,
            /* [retval][out] */ SAFEARRAY * *aGroups);
        
        DECLSPEC_XFGVIRT(IMachine, put_Groups)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Groups )( 
            IMachine * This,
            /* [in] */ SAFEARRAY * aGroups);
        
        DECLSPEC_XFGVIRT(IMachine, get_OSTypeId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OSTypeId )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aOSTypeId);
        
        DECLSPEC_XFGVIRT(IMachine, put_OSTypeId)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OSTypeId )( 
            IMachine * This,
            /* [in] */ BSTR aOSTypeId);
        
        DECLSPEC_XFGVIRT(IMachine, get_HardwareVersion)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HardwareVersion )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aHardwareVersion);
        
        DECLSPEC_XFGVIRT(IMachine, put_HardwareVersion)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HardwareVersion )( 
            IMachine * This,
            /* [in] */ BSTR aHardwareVersion);
        
        DECLSPEC_XFGVIRT(IMachine, get_HardwareUUID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HardwareUUID )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aHardwareUUID);
        
        DECLSPEC_XFGVIRT(IMachine, put_HardwareUUID)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HardwareUUID )( 
            IMachine * This,
            /* [in] */ BSTR aHardwareUUID);
        
        DECLSPEC_XFGVIRT(IMachine, get_CPUCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CPUCount )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aCPUCount);
        
        DECLSPEC_XFGVIRT(IMachine, put_CPUCount)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CPUCount )( 
            IMachine * This,
            /* [in] */ ULONG aCPUCount);
        
        DECLSPEC_XFGVIRT(IMachine, get_CPUHotPlugEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CPUHotPlugEnabled )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aCPUHotPlugEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, put_CPUHotPlugEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CPUHotPlugEnabled )( 
            IMachine * This,
            /* [in] */ BOOL aCPUHotPlugEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, get_CPUExecutionCap)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CPUExecutionCap )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aCPUExecutionCap);
        
        DECLSPEC_XFGVIRT(IMachine, put_CPUExecutionCap)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CPUExecutionCap )( 
            IMachine * This,
            /* [in] */ ULONG aCPUExecutionCap);
        
        DECLSPEC_XFGVIRT(IMachine, get_CPUIDPortabilityLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CPUIDPortabilityLevel )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aCPUIDPortabilityLevel);
        
        DECLSPEC_XFGVIRT(IMachine, put_CPUIDPortabilityLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CPUIDPortabilityLevel )( 
            IMachine * This,
            /* [in] */ ULONG aCPUIDPortabilityLevel);
        
        DECLSPEC_XFGVIRT(IMachine, get_MemorySize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemorySize )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aMemorySize);
        
        DECLSPEC_XFGVIRT(IMachine, put_MemorySize)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MemorySize )( 
            IMachine * This,
            /* [in] */ ULONG aMemorySize);
        
        DECLSPEC_XFGVIRT(IMachine, get_MemoryBalloonSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemoryBalloonSize )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aMemoryBalloonSize);
        
        DECLSPEC_XFGVIRT(IMachine, put_MemoryBalloonSize)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MemoryBalloonSize )( 
            IMachine * This,
            /* [in] */ ULONG aMemoryBalloonSize);
        
        DECLSPEC_XFGVIRT(IMachine, get_PageFusionEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PageFusionEnabled )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aPageFusionEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, put_PageFusionEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PageFusionEnabled )( 
            IMachine * This,
            /* [in] */ BOOL aPageFusionEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, get_GraphicsAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GraphicsAdapter )( 
            IMachine * This,
            /* [retval][out] */ IGraphicsAdapter **aGraphicsAdapter);
        
        DECLSPEC_XFGVIRT(IMachine, get_Platform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Platform )( 
            IMachine * This,
            /* [retval][out] */ IPlatform **aPlatform);
        
        DECLSPEC_XFGVIRT(IMachine, get_FirmwareSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FirmwareSettings )( 
            IMachine * This,
            /* [retval][out] */ IFirmwareSettings **aFirmwareSettings);
        
        DECLSPEC_XFGVIRT(IMachine, get_TrustedPlatformModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrustedPlatformModule )( 
            IMachine * This,
            /* [retval][out] */ ITrustedPlatformModule **aTrustedPlatformModule);
        
        DECLSPEC_XFGVIRT(IMachine, get_NonVolatileStore)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NonVolatileStore )( 
            IMachine * This,
            /* [retval][out] */ INvramStore **aNonVolatileStore);
        
        DECLSPEC_XFGVIRT(IMachine, get_RecordingSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecordingSettings )( 
            IMachine * This,
            /* [retval][out] */ IRecordingSettings **aRecordingSettings);
        
        DECLSPEC_XFGVIRT(IMachine, get_PointingHIDType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointingHIDType )( 
            IMachine * This,
            /* [retval][out] */ PointingHIDType *aPointingHIDType);
        
        DECLSPEC_XFGVIRT(IMachine, put_PointingHIDType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PointingHIDType )( 
            IMachine * This,
            /* [in] */ PointingHIDType aPointingHIDType);
        
        DECLSPEC_XFGVIRT(IMachine, get_KeyboardHIDType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardHIDType )( 
            IMachine * This,
            /* [retval][out] */ KeyboardHIDType *aKeyboardHIDType);
        
        DECLSPEC_XFGVIRT(IMachine, put_KeyboardHIDType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardHIDType )( 
            IMachine * This,
            /* [in] */ KeyboardHIDType aKeyboardHIDType);
        
        DECLSPEC_XFGVIRT(IMachine, get_SnapshotFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapshotFolder )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aSnapshotFolder);
        
        DECLSPEC_XFGVIRT(IMachine, put_SnapshotFolder)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SnapshotFolder )( 
            IMachine * This,
            /* [in] */ BSTR aSnapshotFolder);
        
        DECLSPEC_XFGVIRT(IMachine, get_VRDEServer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VRDEServer )( 
            IMachine * This,
            /* [retval][out] */ IVRDEServer **aVRDEServer);
        
        DECLSPEC_XFGVIRT(IMachine, get_EmulatedUSBCardReaderEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmulatedUSBCardReaderEnabled )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aEmulatedUSBCardReaderEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, put_EmulatedUSBCardReaderEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EmulatedUSBCardReaderEnabled )( 
            IMachine * This,
            /* [in] */ BOOL aEmulatedUSBCardReaderEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, get_MediumAttachments)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediumAttachments )( 
            IMachine * This,
            /* [retval][out] */ SAFEARRAY * *aMediumAttachments);
        
        DECLSPEC_XFGVIRT(IMachine, get_USBControllers)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_USBControllers )( 
            IMachine * This,
            /* [retval][out] */ SAFEARRAY * *aUSBControllers);
        
        DECLSPEC_XFGVIRT(IMachine, get_USBDeviceFilters)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_USBDeviceFilters )( 
            IMachine * This,
            /* [retval][out] */ IUSBDeviceFilters **aUSBDeviceFilters);
        
        DECLSPEC_XFGVIRT(IMachine, get_AudioSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioSettings )( 
            IMachine * This,
            /* [retval][out] */ IAudioSettings **aAudioSettings);
        
        DECLSPEC_XFGVIRT(IMachine, get_StorageControllers)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StorageControllers )( 
            IMachine * This,
            /* [retval][out] */ SAFEARRAY * *aStorageControllers);
        
        DECLSPEC_XFGVIRT(IMachine, get_SettingsFilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SettingsFilePath )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aSettingsFilePath);
        
        DECLSPEC_XFGVIRT(IMachine, get_SettingsAuxFilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SettingsAuxFilePath )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aSettingsAuxFilePath);
        
        DECLSPEC_XFGVIRT(IMachine, get_SettingsModified)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SettingsModified )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aSettingsModified);
        
        DECLSPEC_XFGVIRT(IMachine, get_SessionState)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SessionState )( 
            IMachine * This,
            /* [retval][out] */ SessionState *aSessionState);
        
        DECLSPEC_XFGVIRT(IMachine, get_SessionName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SessionName )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aSessionName);
        
        DECLSPEC_XFGVIRT(IMachine, get_SessionPID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SessionPID )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aSessionPID);
        
        DECLSPEC_XFGVIRT(IMachine, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IMachine * This,
            /* [retval][out] */ MachineState *aState);
        
        DECLSPEC_XFGVIRT(IMachine, get_LastStateChange)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastStateChange )( 
            IMachine * This,
            /* [retval][out] */ LONG64 *aLastStateChange);
        
        DECLSPEC_XFGVIRT(IMachine, get_StateFilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StateFilePath )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aStateFilePath);
        
        DECLSPEC_XFGVIRT(IMachine, get_LogFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogFolder )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aLogFolder);
        
        DECLSPEC_XFGVIRT(IMachine, get_CurrentSnapshot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentSnapshot )( 
            IMachine * This,
            /* [retval][out] */ ISnapshot **aCurrentSnapshot);
        
        DECLSPEC_XFGVIRT(IMachine, get_SnapshotCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapshotCount )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aSnapshotCount);
        
        DECLSPEC_XFGVIRT(IMachine, get_CurrentStateModified)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentStateModified )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aCurrentStateModified);
        
        DECLSPEC_XFGVIRT(IMachine, get_SharedFolders)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SharedFolders )( 
            IMachine * This,
            /* [retval][out] */ SAFEARRAY * *aSharedFolders);
        
        DECLSPEC_XFGVIRT(IMachine, get_ClipboardMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClipboardMode )( 
            IMachine * This,
            /* [retval][out] */ ClipboardMode *aClipboardMode);
        
        DECLSPEC_XFGVIRT(IMachine, put_ClipboardMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClipboardMode )( 
            IMachine * This,
            /* [in] */ ClipboardMode aClipboardMode);
        
        DECLSPEC_XFGVIRT(IMachine, get_ClipboardFileTransfersEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClipboardFileTransfersEnabled )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aClipboardFileTransfersEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, put_ClipboardFileTransfersEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClipboardFileTransfersEnabled )( 
            IMachine * This,
            /* [in] */ BOOL aClipboardFileTransfersEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, get_DnDMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DnDMode )( 
            IMachine * This,
            /* [retval][out] */ DnDMode *aDnDMode);
        
        DECLSPEC_XFGVIRT(IMachine, put_DnDMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DnDMode )( 
            IMachine * This,
            /* [in] */ DnDMode aDnDMode);
        
        DECLSPEC_XFGVIRT(IMachine, get_TeleporterEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TeleporterEnabled )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aTeleporterEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, put_TeleporterEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TeleporterEnabled )( 
            IMachine * This,
            /* [in] */ BOOL aTeleporterEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, get_TeleporterPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TeleporterPort )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aTeleporterPort);
        
        DECLSPEC_XFGVIRT(IMachine, put_TeleporterPort)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TeleporterPort )( 
            IMachine * This,
            /* [in] */ ULONG aTeleporterPort);
        
        DECLSPEC_XFGVIRT(IMachine, get_TeleporterAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TeleporterAddress )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aTeleporterAddress);
        
        DECLSPEC_XFGVIRT(IMachine, put_TeleporterAddress)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TeleporterAddress )( 
            IMachine * This,
            /* [in] */ BSTR aTeleporterAddress);
        
        DECLSPEC_XFGVIRT(IMachine, get_TeleporterPassword)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TeleporterPassword )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aTeleporterPassword);
        
        DECLSPEC_XFGVIRT(IMachine, put_TeleporterPassword)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TeleporterPassword )( 
            IMachine * This,
            /* [in] */ BSTR aTeleporterPassword);
        
        DECLSPEC_XFGVIRT(IMachine, get_ParavirtProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParavirtProvider )( 
            IMachine * This,
            /* [retval][out] */ ParavirtProvider *aParavirtProvider);
        
        DECLSPEC_XFGVIRT(IMachine, put_ParavirtProvider)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParavirtProvider )( 
            IMachine * This,
            /* [in] */ ParavirtProvider aParavirtProvider);
        
        DECLSPEC_XFGVIRT(IMachine, get_IOCacheEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IOCacheEnabled )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aIOCacheEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, put_IOCacheEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IOCacheEnabled )( 
            IMachine * This,
            /* [in] */ BOOL aIOCacheEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, get_IOCacheSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IOCacheSize )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aIOCacheSize);
        
        DECLSPEC_XFGVIRT(IMachine, put_IOCacheSize)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IOCacheSize )( 
            IMachine * This,
            /* [in] */ ULONG aIOCacheSize);
        
        DECLSPEC_XFGVIRT(IMachine, get_PCIDeviceAssignments)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PCIDeviceAssignments )( 
            IMachine * This,
            /* [retval][out] */ SAFEARRAY * *aPCIDeviceAssignments);
        
        DECLSPEC_XFGVIRT(IMachine, get_BandwidthControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BandwidthControl )( 
            IMachine * This,
            /* [retval][out] */ IBandwidthControl **aBandwidthControl);
        
        DECLSPEC_XFGVIRT(IMachine, get_TracingEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TracingEnabled )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aTracingEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, put_TracingEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TracingEnabled )( 
            IMachine * This,
            /* [in] */ BOOL aTracingEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, get_TracingConfig)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TracingConfig )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aTracingConfig);
        
        DECLSPEC_XFGVIRT(IMachine, put_TracingConfig)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TracingConfig )( 
            IMachine * This,
            /* [in] */ BSTR aTracingConfig);
        
        DECLSPEC_XFGVIRT(IMachine, get_AllowTracingToAccessVM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowTracingToAccessVM )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aAllowTracingToAccessVM);
        
        DECLSPEC_XFGVIRT(IMachine, put_AllowTracingToAccessVM)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowTracingToAccessVM )( 
            IMachine * This,
            /* [in] */ BOOL aAllowTracingToAccessVM);
        
        DECLSPEC_XFGVIRT(IMachine, get_AutostartEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutostartEnabled )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aAutostartEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, put_AutostartEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutostartEnabled )( 
            IMachine * This,
            /* [in] */ BOOL aAutostartEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, get_AutostartDelay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutostartDelay )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aAutostartDelay);
        
        DECLSPEC_XFGVIRT(IMachine, put_AutostartDelay)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutostartDelay )( 
            IMachine * This,
            /* [in] */ ULONG aAutostartDelay);
        
        DECLSPEC_XFGVIRT(IMachine, get_AutostopType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutostopType )( 
            IMachine * This,
            /* [retval][out] */ AutostopType *aAutostopType);
        
        DECLSPEC_XFGVIRT(IMachine, put_AutostopType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutostopType )( 
            IMachine * This,
            /* [in] */ AutostopType aAutostopType);
        
        DECLSPEC_XFGVIRT(IMachine, get_DefaultFrontend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultFrontend )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aDefaultFrontend);
        
        DECLSPEC_XFGVIRT(IMachine, put_DefaultFrontend)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultFrontend )( 
            IMachine * This,
            /* [in] */ BSTR aDefaultFrontend);
        
        DECLSPEC_XFGVIRT(IMachine, get_USBProxyAvailable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_USBProxyAvailable )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aUSBProxyAvailable);
        
        DECLSPEC_XFGVIRT(IMachine, get_VMProcessPriority)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VMProcessPriority )( 
            IMachine * This,
            /* [retval][out] */ VMProcPriority *aVMProcessPriority);
        
        DECLSPEC_XFGVIRT(IMachine, put_VMProcessPriority)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VMProcessPriority )( 
            IMachine * This,
            /* [in] */ VMProcPriority aVMProcessPriority);
        
        DECLSPEC_XFGVIRT(IMachine, get_VMExecutionEngine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VMExecutionEngine )( 
            IMachine * This,
            /* [retval][out] */ VMExecutionEngine *aVMExecutionEngine);
        
        DECLSPEC_XFGVIRT(IMachine, put_VMExecutionEngine)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VMExecutionEngine )( 
            IMachine * This,
            /* [in] */ VMExecutionEngine aVMExecutionEngine);
        
        DECLSPEC_XFGVIRT(IMachine, get_ParavirtDebug)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParavirtDebug )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aParavirtDebug);
        
        DECLSPEC_XFGVIRT(IMachine, put_ParavirtDebug)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParavirtDebug )( 
            IMachine * This,
            /* [in] */ BSTR aParavirtDebug);
        
        DECLSPEC_XFGVIRT(IMachine, get_CPUProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CPUProfile )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aCPUProfile);
        
        DECLSPEC_XFGVIRT(IMachine, put_CPUProfile)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CPUProfile )( 
            IMachine * This,
            /* [in] */ BSTR aCPUProfile);
        
        DECLSPEC_XFGVIRT(IMachine, get_StateKeyId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StateKeyId )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aStateKeyId);
        
        DECLSPEC_XFGVIRT(IMachine, get_StateKeyStore)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StateKeyStore )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aStateKeyStore);
        
        DECLSPEC_XFGVIRT(IMachine, get_LogKeyId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogKeyId )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aLogKeyId);
        
        DECLSPEC_XFGVIRT(IMachine, get_LogKeyStore)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogKeyStore )( 
            IMachine * This,
            /* [retval][out] */ BSTR *aLogKeyStore);
        
        DECLSPEC_XFGVIRT(IMachine, get_GuestDebugControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestDebugControl )( 
            IMachine * This,
            /* [retval][out] */ IGuestDebugControl **aGuestDebugControl);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute1IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute2IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute3IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute4IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute5IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute6IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute7IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute8IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute9IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute10IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute11IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute12IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute13IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute14IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute15IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, get_InternalAndReservedAttribute16IMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IMachine )( 
            IMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachine, LockMachine)
        HRESULT ( STDMETHODCALLTYPE *LockMachine )( 
            IMachine * This,
            /* [in] */ ISession *aSession,
            /* [in] */ LockType aLockType);
        
        DECLSPEC_XFGVIRT(IMachine, LaunchVMProcess)
        HRESULT ( STDMETHODCALLTYPE *LaunchVMProcess )( 
            IMachine * This,
            /* [in] */ ISession *aSession,
            /* [in] */ BSTR aName,
            /* [in] */ SAFEARRAY * aEnvironmentChanges,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, SetBootOrder)
        HRESULT ( STDMETHODCALLTYPE *SetBootOrder )( 
            IMachine * This,
            /* [in] */ ULONG aPosition,
            /* [in] */ DeviceType aDevice);
        
        DECLSPEC_XFGVIRT(IMachine, GetBootOrder)
        HRESULT ( STDMETHODCALLTYPE *GetBootOrder )( 
            IMachine * This,
            /* [in] */ ULONG aPosition,
            /* [retval][out] */ DeviceType *aDevice);
        
        DECLSPEC_XFGVIRT(IMachine, AttachDevice)
        HRESULT ( STDMETHODCALLTYPE *AttachDevice )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ DeviceType aType,
            /* [in] */ IMedium *aMedium);
        
        DECLSPEC_XFGVIRT(IMachine, AttachDeviceWithoutMedium)
        HRESULT ( STDMETHODCALLTYPE *AttachDeviceWithoutMedium )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ DeviceType aType);
        
        DECLSPEC_XFGVIRT(IMachine, DetachDevice)
        HRESULT ( STDMETHODCALLTYPE *DetachDevice )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice);
        
        DECLSPEC_XFGVIRT(IMachine, PassthroughDevice)
        HRESULT ( STDMETHODCALLTYPE *PassthroughDevice )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aPassthrough);
        
        DECLSPEC_XFGVIRT(IMachine, TemporaryEjectDevice)
        HRESULT ( STDMETHODCALLTYPE *TemporaryEjectDevice )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aTemporaryEject);
        
        DECLSPEC_XFGVIRT(IMachine, NonRotationalDevice)
        HRESULT ( STDMETHODCALLTYPE *NonRotationalDevice )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aNonRotational);
        
        DECLSPEC_XFGVIRT(IMachine, SetAutoDiscardForDevice)
        HRESULT ( STDMETHODCALLTYPE *SetAutoDiscardForDevice )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aDiscard);
        
        DECLSPEC_XFGVIRT(IMachine, SetHotPluggableForDevice)
        HRESULT ( STDMETHODCALLTYPE *SetHotPluggableForDevice )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aHotPluggable);
        
        DECLSPEC_XFGVIRT(IMachine, SetBandwidthGroupForDevice)
        HRESULT ( STDMETHODCALLTYPE *SetBandwidthGroupForDevice )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ IBandwidthGroup *aBandwidthGroup);
        
        DECLSPEC_XFGVIRT(IMachine, SetNoBandwidthGroupForDevice)
        HRESULT ( STDMETHODCALLTYPE *SetNoBandwidthGroupForDevice )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice);
        
        DECLSPEC_XFGVIRT(IMachine, UnmountMedium)
        HRESULT ( STDMETHODCALLTYPE *UnmountMedium )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ BOOL aForce);
        
        DECLSPEC_XFGVIRT(IMachine, MountMedium)
        HRESULT ( STDMETHODCALLTYPE *MountMedium )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [in] */ IMedium *aMedium,
            /* [in] */ BOOL aForce);
        
        DECLSPEC_XFGVIRT(IMachine, GetMedium)
        HRESULT ( STDMETHODCALLTYPE *GetMedium )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [retval][out] */ IMedium **aMedium);
        
        DECLSPEC_XFGVIRT(IMachine, GetMediumAttachmentsOfController)
        HRESULT ( STDMETHODCALLTYPE *GetMediumAttachmentsOfController )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ SAFEARRAY * *aMediumAttachments);
        
        DECLSPEC_XFGVIRT(IMachine, GetMediumAttachment)
        HRESULT ( STDMETHODCALLTYPE *GetMediumAttachment )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ LONG aControllerPort,
            /* [in] */ LONG aDevice,
            /* [retval][out] */ IMediumAttachment **aAttachment);
        
        DECLSPEC_XFGVIRT(IMachine, AttachHostPCIDevice)
        HRESULT ( STDMETHODCALLTYPE *AttachHostPCIDevice )( 
            IMachine * This,
            /* [in] */ LONG aHostAddress,
            /* [in] */ LONG aDesiredGuestAddress,
            /* [in] */ BOOL aTryToUnbind);
        
        DECLSPEC_XFGVIRT(IMachine, DetachHostPCIDevice)
        HRESULT ( STDMETHODCALLTYPE *DetachHostPCIDevice )( 
            IMachine * This,
            /* [in] */ LONG aHostAddress);
        
        DECLSPEC_XFGVIRT(IMachine, GetNetworkAdapter)
        HRESULT ( STDMETHODCALLTYPE *GetNetworkAdapter )( 
            IMachine * This,
            /* [in] */ ULONG aSlot,
            /* [retval][out] */ INetworkAdapter **aAdapter);
        
        DECLSPEC_XFGVIRT(IMachine, AddStorageController)
        HRESULT ( STDMETHODCALLTYPE *AddStorageController )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ StorageBus aConnectionType,
            /* [retval][out] */ IStorageController **aController);
        
        DECLSPEC_XFGVIRT(IMachine, GetStorageControllerByName)
        HRESULT ( STDMETHODCALLTYPE *GetStorageControllerByName )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IStorageController **aStorageController);
        
        DECLSPEC_XFGVIRT(IMachine, GetStorageControllerByInstance)
        HRESULT ( STDMETHODCALLTYPE *GetStorageControllerByInstance )( 
            IMachine * This,
            /* [in] */ StorageBus aConnectionType,
            /* [in] */ ULONG aInstance,
            /* [retval][out] */ IStorageController **aStorageController);
        
        DECLSPEC_XFGVIRT(IMachine, RemoveStorageController)
        HRESULT ( STDMETHODCALLTYPE *RemoveStorageController )( 
            IMachine * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IMachine, SetStorageControllerBootable)
        HRESULT ( STDMETHODCALLTYPE *SetStorageControllerBootable )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ BOOL aBootable);
        
        DECLSPEC_XFGVIRT(IMachine, AddUSBController)
        HRESULT ( STDMETHODCALLTYPE *AddUSBController )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ USBControllerType aType,
            /* [retval][out] */ IUSBController **aController);
        
        DECLSPEC_XFGVIRT(IMachine, RemoveUSBController)
        HRESULT ( STDMETHODCALLTYPE *RemoveUSBController )( 
            IMachine * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IMachine, GetUSBControllerByName)
        HRESULT ( STDMETHODCALLTYPE *GetUSBControllerByName )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IUSBController **aController);
        
        DECLSPEC_XFGVIRT(IMachine, GetUSBControllerCountByType)
        HRESULT ( STDMETHODCALLTYPE *GetUSBControllerCountByType )( 
            IMachine * This,
            /* [in] */ USBControllerType aType,
            /* [retval][out] */ ULONG *aControllers);
        
        DECLSPEC_XFGVIRT(IMachine, GetSerialPort)
        HRESULT ( STDMETHODCALLTYPE *GetSerialPort )( 
            IMachine * This,
            /* [in] */ ULONG aSlot,
            /* [retval][out] */ ISerialPort **aPort);
        
        DECLSPEC_XFGVIRT(IMachine, GetParallelPort)
        HRESULT ( STDMETHODCALLTYPE *GetParallelPort )( 
            IMachine * This,
            /* [in] */ ULONG aSlot,
            /* [retval][out] */ IParallelPort **aPort);
        
        DECLSPEC_XFGVIRT(IMachine, GetExtraDataKeys)
        HRESULT ( STDMETHODCALLTYPE *GetExtraDataKeys )( 
            IMachine * This,
            /* [retval][out] */ SAFEARRAY * *aKeys);
        
        DECLSPEC_XFGVIRT(IMachine, GetExtraData)
        HRESULT ( STDMETHODCALLTYPE *GetExtraData )( 
            IMachine * This,
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IMachine, SetExtraData)
        HRESULT ( STDMETHODCALLTYPE *SetExtraData )( 
            IMachine * This,
            /* [in] */ BSTR aKey,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IMachine, SetSettingsFilePath)
        HRESULT ( STDMETHODCALLTYPE *SetSettingsFilePath )( 
            IMachine * This,
            /* [in] */ BSTR aSettingsFilePath,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, SaveSettings)
        HRESULT ( STDMETHODCALLTYPE *SaveSettings )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IMachine, DiscardSettings)
        HRESULT ( STDMETHODCALLTYPE *DiscardSettings )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IMachine, Unregister)
        HRESULT ( STDMETHODCALLTYPE *Unregister )( 
            IMachine * This,
            /* [in] */ CleanupMode aCleanupMode,
            /* [retval][out] */ SAFEARRAY * *aMedia);
        
        DECLSPEC_XFGVIRT(IMachine, DeleteConfig)
        HRESULT ( STDMETHODCALLTYPE *DeleteConfig )( 
            IMachine * This,
            /* [in] */ SAFEARRAY * aMedia,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, ExportTo)
        HRESULT ( STDMETHODCALLTYPE *ExportTo )( 
            IMachine * This,
            /* [in] */ IAppliance *aAppliance,
            /* [in] */ BSTR aLocation,
            /* [retval][out] */ IVirtualSystemDescription **aDescription);
        
        DECLSPEC_XFGVIRT(IMachine, FindSnapshot)
        HRESULT ( STDMETHODCALLTYPE *FindSnapshot )( 
            IMachine * This,
            /* [in] */ BSTR aNameOrId,
            /* [retval][out] */ ISnapshot **aSnapshot);
        
        DECLSPEC_XFGVIRT(IMachine, CreateSharedFolder)
        HRESULT ( STDMETHODCALLTYPE *CreateSharedFolder )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aHostPath,
            /* [in] */ BOOL aWritable,
            /* [in] */ BOOL aAutomount,
            /* [in] */ BSTR aAutoMountPoint);
        
        DECLSPEC_XFGVIRT(IMachine, RemoveSharedFolder)
        HRESULT ( STDMETHODCALLTYPE *RemoveSharedFolder )( 
            IMachine * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IMachine, CanShowConsoleWindow)
        HRESULT ( STDMETHODCALLTYPE *CanShowConsoleWindow )( 
            IMachine * This,
            /* [retval][out] */ BOOL *aCanShow);
        
        DECLSPEC_XFGVIRT(IMachine, ShowConsoleWindow)
        HRESULT ( STDMETHODCALLTYPE *ShowConsoleWindow )( 
            IMachine * This,
            /* [retval][out] */ LONG64 *aWinId);
        
        DECLSPEC_XFGVIRT(IMachine, GetGuestProperty)
        HRESULT ( STDMETHODCALLTYPE *GetGuestProperty )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [out] */ BSTR *aValue,
            /* [out] */ LONG64 *aTimestamp,
            /* [out] */ BSTR *aFlags);
        
        DECLSPEC_XFGVIRT(IMachine, GetGuestPropertyValue)
        HRESULT ( STDMETHODCALLTYPE *GetGuestPropertyValue )( 
            IMachine * This,
            /* [in] */ BSTR aProperty,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IMachine, GetGuestPropertyTimestamp)
        HRESULT ( STDMETHODCALLTYPE *GetGuestPropertyTimestamp )( 
            IMachine * This,
            /* [in] */ BSTR aProperty,
            /* [retval][out] */ LONG64 *aValue);
        
        DECLSPEC_XFGVIRT(IMachine, SetGuestProperty)
        HRESULT ( STDMETHODCALLTYPE *SetGuestProperty )( 
            IMachine * This,
            /* [in] */ BSTR aProperty,
            /* [in] */ BSTR aValue,
            /* [in] */ BSTR aFlags);
        
        DECLSPEC_XFGVIRT(IMachine, SetGuestPropertyValue)
        HRESULT ( STDMETHODCALLTYPE *SetGuestPropertyValue )( 
            IMachine * This,
            /* [in] */ BSTR aProperty,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IMachine, DeleteGuestProperty)
        HRESULT ( STDMETHODCALLTYPE *DeleteGuestProperty )( 
            IMachine * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IMachine, EnumerateGuestProperties)
        HRESULT ( STDMETHODCALLTYPE *EnumerateGuestProperties )( 
            IMachine * This,
            /* [in] */ BSTR aPatterns,
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aValues,
            /* [out] */ SAFEARRAY * *aTimestamps,
            /* [out] */ SAFEARRAY * *aFlags);
        
        DECLSPEC_XFGVIRT(IMachine, QuerySavedGuestScreenInfo)
        HRESULT ( STDMETHODCALLTYPE *QuerySavedGuestScreenInfo )( 
            IMachine * This,
            /* [in] */ ULONG aScreenId,
            /* [out] */ ULONG *aOriginX,
            /* [out] */ ULONG *aOriginY,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IMachine, ReadSavedThumbnailToArray)
        HRESULT ( STDMETHODCALLTYPE *ReadSavedThumbnailToArray )( 
            IMachine * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ BitmapFormat aBitmapFormat,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IMachine, QuerySavedScreenshotInfo)
        HRESULT ( STDMETHODCALLTYPE *QuerySavedScreenshotInfo )( 
            IMachine * This,
            /* [in] */ ULONG aScreenId,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [retval][out] */ SAFEARRAY * *aBitmapFormats);
        
        DECLSPEC_XFGVIRT(IMachine, ReadSavedScreenshotToArray)
        HRESULT ( STDMETHODCALLTYPE *ReadSavedScreenshotToArray )( 
            IMachine * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ BitmapFormat aBitmapFormat,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IMachine, HotPlugCPU)
        HRESULT ( STDMETHODCALLTYPE *HotPlugCPU )( 
            IMachine * This,
            /* [in] */ ULONG aCpu);
        
        DECLSPEC_XFGVIRT(IMachine, HotUnplugCPU)
        HRESULT ( STDMETHODCALLTYPE *HotUnplugCPU )( 
            IMachine * This,
            /* [in] */ ULONG aCpu);
        
        DECLSPEC_XFGVIRT(IMachine, GetCPUStatus)
        HRESULT ( STDMETHODCALLTYPE *GetCPUStatus )( 
            IMachine * This,
            /* [in] */ ULONG aCpu,
            /* [retval][out] */ BOOL *aAttached);
        
        DECLSPEC_XFGVIRT(IMachine, GetEffectiveParavirtProvider)
        HRESULT ( STDMETHODCALLTYPE *GetEffectiveParavirtProvider )( 
            IMachine * This,
            /* [retval][out] */ ParavirtProvider *aParavirtProvider);
        
        DECLSPEC_XFGVIRT(IMachine, QueryLogFilename)
        HRESULT ( STDMETHODCALLTYPE *QueryLogFilename )( 
            IMachine * This,
            /* [in] */ ULONG aIdx,
            /* [retval][out] */ BSTR *aFilename);
        
        DECLSPEC_XFGVIRT(IMachine, ReadLog)
        HRESULT ( STDMETHODCALLTYPE *ReadLog )( 
            IMachine * This,
            /* [in] */ ULONG aIdx,
            /* [in] */ LONG64 aOffset,
            /* [in] */ LONG64 aSize,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IMachine, CloneTo)
        HRESULT ( STDMETHODCALLTYPE *CloneTo )( 
            IMachine * This,
            /* [in] */ IMachine *aTarget,
            /* [in] */ CloneMode aMode,
            /* [in] */ SAFEARRAY * aOptions,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, MoveTo)
        HRESULT ( STDMETHODCALLTYPE *MoveTo )( 
            IMachine * This,
            /* [in] */ BSTR aFolder,
            /* [in] */ BSTR aType,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, SaveState)
        HRESULT ( STDMETHODCALLTYPE *SaveState )( 
            IMachine * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, AdoptSavedState)
        HRESULT ( STDMETHODCALLTYPE *AdoptSavedState )( 
            IMachine * This,
            /* [in] */ BSTR aSavedStateFile);
        
        DECLSPEC_XFGVIRT(IMachine, DiscardSavedState)
        HRESULT ( STDMETHODCALLTYPE *DiscardSavedState )( 
            IMachine * This,
            /* [in] */ BOOL aFRemoveFile);
        
        DECLSPEC_XFGVIRT(IMachine, TakeSnapshot)
        HRESULT ( STDMETHODCALLTYPE *TakeSnapshot )( 
            IMachine * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aDescription,
            /* [in] */ BOOL aPause,
            /* [out] */ BSTR *aId,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, DeleteSnapshot)
        HRESULT ( STDMETHODCALLTYPE *DeleteSnapshot )( 
            IMachine * This,
            /* [in] */ BSTR aId,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, DeleteSnapshotAndAllChildren)
        HRESULT ( STDMETHODCALLTYPE *DeleteSnapshotAndAllChildren )( 
            IMachine * This,
            /* [in] */ BSTR aId,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, DeleteSnapshotRange)
        HRESULT ( STDMETHODCALLTYPE *DeleteSnapshotRange )( 
            IMachine * This,
            /* [in] */ BSTR aStartId,
            /* [in] */ BSTR aEndId,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, RestoreSnapshot)
        HRESULT ( STDMETHODCALLTYPE *RestoreSnapshot )( 
            IMachine * This,
            /* [in] */ ISnapshot *aSnapshot,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, ApplyDefaults)
        HRESULT ( STDMETHODCALLTYPE *ApplyDefaults )( 
            IMachine * This,
            /* [in] */ BSTR aFlags);
        
        DECLSPEC_XFGVIRT(IMachine, ChangeEncryption)
        HRESULT ( STDMETHODCALLTYPE *ChangeEncryption )( 
            IMachine * This,
            /* [in] */ BSTR aCurrentPassword,
            /* [in] */ BSTR aCipher,
            /* [in] */ BSTR aNewPassword,
            /* [in] */ BSTR aNewPasswordId,
            /* [in] */ BOOL aForce,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachine, GetEncryptionSettings)
        HRESULT ( STDMETHODCALLTYPE *GetEncryptionSettings )( 
            IMachine * This,
            /* [out] */ BSTR *aCipher,
            /* [out] */ BSTR *aPasswordId);
        
        DECLSPEC_XFGVIRT(IMachine, CheckEncryptionPassword)
        HRESULT ( STDMETHODCALLTYPE *CheckEncryptionPassword )( 
            IMachine * This,
            /* [in] */ BSTR aPassword);
        
        DECLSPEC_XFGVIRT(IMachine, AddEncryptionPassword)
        HRESULT ( STDMETHODCALLTYPE *AddEncryptionPassword )( 
            IMachine * This,
            /* [in] */ BSTR aId,
            /* [in] */ BSTR aPassword);
        
        DECLSPEC_XFGVIRT(IMachine, AddEncryptionPasswords)
        HRESULT ( STDMETHODCALLTYPE *AddEncryptionPasswords )( 
            IMachine * This,
            /* [in] */ SAFEARRAY * aIds,
            /* [in] */ SAFEARRAY * aPasswords);
        
        DECLSPEC_XFGVIRT(IMachine, RemoveEncryptionPassword)
        HRESULT ( STDMETHODCALLTYPE *RemoveEncryptionPassword )( 
            IMachine * This,
            /* [in] */ BSTR aId);
        
        DECLSPEC_XFGVIRT(IMachine, ClearAllEncryptionPasswords)
        HRESULT ( STDMETHODCALLTYPE *ClearAllEncryptionPasswords )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IMachine, InternalAndReservedMethod1IMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IMachine )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IMachine, InternalAndReservedMethod2IMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IMachine )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IMachine, InternalAndReservedMethod3IMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IMachine )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IMachine, InternalAndReservedMethod4IMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IMachine )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IMachine, InternalAndReservedMethod5IMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IMachine )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IMachine, InternalAndReservedMethod6IMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IMachine )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IMachine, InternalAndReservedMethod7IMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IMachine )( 
            IMachine * This);
        
        DECLSPEC_XFGVIRT(IMachine, InternalAndReservedMethod8IMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IMachine )( 
            IMachine * This);
        
        END_INTERFACE
    } IMachineVtbl;

    interface IMachine
    {
        CONST_VTBL struct IMachineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMachine_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMachine_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMachine_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMachine_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMachine_get_Parent(This,aParent)	\
    ( (This)->lpVtbl -> get_Parent(This,aParent) ) 

#define IMachine_get_Icon(This,aIcon)	\
    ( (This)->lpVtbl -> get_Icon(This,aIcon) ) 

#define IMachine_put_Icon(This,aIcon)	\
    ( (This)->lpVtbl -> put_Icon(This,aIcon) ) 

#define IMachine_get_Accessible(This,aAccessible)	\
    ( (This)->lpVtbl -> get_Accessible(This,aAccessible) ) 

#define IMachine_get_AccessError(This,aAccessError)	\
    ( (This)->lpVtbl -> get_AccessError(This,aAccessError) ) 

#define IMachine_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IMachine_put_Name(This,aName)	\
    ( (This)->lpVtbl -> put_Name(This,aName) ) 

#define IMachine_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IMachine_put_Description(This,aDescription)	\
    ( (This)->lpVtbl -> put_Description(This,aDescription) ) 

#define IMachine_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IMachine_get_Groups(This,aGroups)	\
    ( (This)->lpVtbl -> get_Groups(This,aGroups) ) 

#define IMachine_put_Groups(This,aGroups)	\
    ( (This)->lpVtbl -> put_Groups(This,aGroups) ) 

#define IMachine_get_OSTypeId(This,aOSTypeId)	\
    ( (This)->lpVtbl -> get_OSTypeId(This,aOSTypeId) ) 

#define IMachine_put_OSTypeId(This,aOSTypeId)	\
    ( (This)->lpVtbl -> put_OSTypeId(This,aOSTypeId) ) 

#define IMachine_get_HardwareVersion(This,aHardwareVersion)	\
    ( (This)->lpVtbl -> get_HardwareVersion(This,aHardwareVersion) ) 

#define IMachine_put_HardwareVersion(This,aHardwareVersion)	\
    ( (This)->lpVtbl -> put_HardwareVersion(This,aHardwareVersion) ) 

#define IMachine_get_HardwareUUID(This,aHardwareUUID)	\
    ( (This)->lpVtbl -> get_HardwareUUID(This,aHardwareUUID) ) 

#define IMachine_put_HardwareUUID(This,aHardwareUUID)	\
    ( (This)->lpVtbl -> put_HardwareUUID(This,aHardwareUUID) ) 

#define IMachine_get_CPUCount(This,aCPUCount)	\
    ( (This)->lpVtbl -> get_CPUCount(This,aCPUCount) ) 

#define IMachine_put_CPUCount(This,aCPUCount)	\
    ( (This)->lpVtbl -> put_CPUCount(This,aCPUCount) ) 

#define IMachine_get_CPUHotPlugEnabled(This,aCPUHotPlugEnabled)	\
    ( (This)->lpVtbl -> get_CPUHotPlugEnabled(This,aCPUHotPlugEnabled) ) 

#define IMachine_put_CPUHotPlugEnabled(This,aCPUHotPlugEnabled)	\
    ( (This)->lpVtbl -> put_CPUHotPlugEnabled(This,aCPUHotPlugEnabled) ) 

#define IMachine_get_CPUExecutionCap(This,aCPUExecutionCap)	\
    ( (This)->lpVtbl -> get_CPUExecutionCap(This,aCPUExecutionCap) ) 

#define IMachine_put_CPUExecutionCap(This,aCPUExecutionCap)	\
    ( (This)->lpVtbl -> put_CPUExecutionCap(This,aCPUExecutionCap) ) 

#define IMachine_get_CPUIDPortabilityLevel(This,aCPUIDPortabilityLevel)	\
    ( (This)->lpVtbl -> get_CPUIDPortabilityLevel(This,aCPUIDPortabilityLevel) ) 

#define IMachine_put_CPUIDPortabilityLevel(This,aCPUIDPortabilityLevel)	\
    ( (This)->lpVtbl -> put_CPUIDPortabilityLevel(This,aCPUIDPortabilityLevel) ) 

#define IMachine_get_MemorySize(This,aMemorySize)	\
    ( (This)->lpVtbl -> get_MemorySize(This,aMemorySize) ) 

#define IMachine_put_MemorySize(This,aMemorySize)	\
    ( (This)->lpVtbl -> put_MemorySize(This,aMemorySize) ) 

#define IMachine_get_MemoryBalloonSize(This,aMemoryBalloonSize)	\
    ( (This)->lpVtbl -> get_MemoryBalloonSize(This,aMemoryBalloonSize) ) 

#define IMachine_put_MemoryBalloonSize(This,aMemoryBalloonSize)	\
    ( (This)->lpVtbl -> put_MemoryBalloonSize(This,aMemoryBalloonSize) ) 

#define IMachine_get_PageFusionEnabled(This,aPageFusionEnabled)	\
    ( (This)->lpVtbl -> get_PageFusionEnabled(This,aPageFusionEnabled) ) 

#define IMachine_put_PageFusionEnabled(This,aPageFusionEnabled)	\
    ( (This)->lpVtbl -> put_PageFusionEnabled(This,aPageFusionEnabled) ) 

#define IMachine_get_GraphicsAdapter(This,aGraphicsAdapter)	\
    ( (This)->lpVtbl -> get_GraphicsAdapter(This,aGraphicsAdapter) ) 

#define IMachine_get_Platform(This,aPlatform)	\
    ( (This)->lpVtbl -> get_Platform(This,aPlatform) ) 

#define IMachine_get_FirmwareSettings(This,aFirmwareSettings)	\
    ( (This)->lpVtbl -> get_FirmwareSettings(This,aFirmwareSettings) ) 

#define IMachine_get_TrustedPlatformModule(This,aTrustedPlatformModule)	\
    ( (This)->lpVtbl -> get_TrustedPlatformModule(This,aTrustedPlatformModule) ) 

#define IMachine_get_NonVolatileStore(This,aNonVolatileStore)	\
    ( (This)->lpVtbl -> get_NonVolatileStore(This,aNonVolatileStore) ) 

#define IMachine_get_RecordingSettings(This,aRecordingSettings)	\
    ( (This)->lpVtbl -> get_RecordingSettings(This,aRecordingSettings) ) 

#define IMachine_get_PointingHIDType(This,aPointingHIDType)	\
    ( (This)->lpVtbl -> get_PointingHIDType(This,aPointingHIDType) ) 

#define IMachine_put_PointingHIDType(This,aPointingHIDType)	\
    ( (This)->lpVtbl -> put_PointingHIDType(This,aPointingHIDType) ) 

#define IMachine_get_KeyboardHIDType(This,aKeyboardHIDType)	\
    ( (This)->lpVtbl -> get_KeyboardHIDType(This,aKeyboardHIDType) ) 

#define IMachine_put_KeyboardHIDType(This,aKeyboardHIDType)	\
    ( (This)->lpVtbl -> put_KeyboardHIDType(This,aKeyboardHIDType) ) 

#define IMachine_get_SnapshotFolder(This,aSnapshotFolder)	\
    ( (This)->lpVtbl -> get_SnapshotFolder(This,aSnapshotFolder) ) 

#define IMachine_put_SnapshotFolder(This,aSnapshotFolder)	\
    ( (This)->lpVtbl -> put_SnapshotFolder(This,aSnapshotFolder) ) 

#define IMachine_get_VRDEServer(This,aVRDEServer)	\
    ( (This)->lpVtbl -> get_VRDEServer(This,aVRDEServer) ) 

#define IMachine_get_EmulatedUSBCardReaderEnabled(This,aEmulatedUSBCardReaderEnabled)	\
    ( (This)->lpVtbl -> get_EmulatedUSBCardReaderEnabled(This,aEmulatedUSBCardReaderEnabled) ) 

#define IMachine_put_EmulatedUSBCardReaderEnabled(This,aEmulatedUSBCardReaderEnabled)	\
    ( (This)->lpVtbl -> put_EmulatedUSBCardReaderEnabled(This,aEmulatedUSBCardReaderEnabled) ) 

#define IMachine_get_MediumAttachments(This,aMediumAttachments)	\
    ( (This)->lpVtbl -> get_MediumAttachments(This,aMediumAttachments) ) 

#define IMachine_get_USBControllers(This,aUSBControllers)	\
    ( (This)->lpVtbl -> get_USBControllers(This,aUSBControllers) ) 

#define IMachine_get_USBDeviceFilters(This,aUSBDeviceFilters)	\
    ( (This)->lpVtbl -> get_USBDeviceFilters(This,aUSBDeviceFilters) ) 

#define IMachine_get_AudioSettings(This,aAudioSettings)	\
    ( (This)->lpVtbl -> get_AudioSettings(This,aAudioSettings) ) 

#define IMachine_get_StorageControllers(This,aStorageControllers)	\
    ( (This)->lpVtbl -> get_StorageControllers(This,aStorageControllers) ) 

#define IMachine_get_SettingsFilePath(This,aSettingsFilePath)	\
    ( (This)->lpVtbl -> get_SettingsFilePath(This,aSettingsFilePath) ) 

#define IMachine_get_SettingsAuxFilePath(This,aSettingsAuxFilePath)	\
    ( (This)->lpVtbl -> get_SettingsAuxFilePath(This,aSettingsAuxFilePath) ) 

#define IMachine_get_SettingsModified(This,aSettingsModified)	\
    ( (This)->lpVtbl -> get_SettingsModified(This,aSettingsModified) ) 

#define IMachine_get_SessionState(This,aSessionState)	\
    ( (This)->lpVtbl -> get_SessionState(This,aSessionState) ) 

#define IMachine_get_SessionName(This,aSessionName)	\
    ( (This)->lpVtbl -> get_SessionName(This,aSessionName) ) 

#define IMachine_get_SessionPID(This,aSessionPID)	\
    ( (This)->lpVtbl -> get_SessionPID(This,aSessionPID) ) 

#define IMachine_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#define IMachine_get_LastStateChange(This,aLastStateChange)	\
    ( (This)->lpVtbl -> get_LastStateChange(This,aLastStateChange) ) 

#define IMachine_get_StateFilePath(This,aStateFilePath)	\
    ( (This)->lpVtbl -> get_StateFilePath(This,aStateFilePath) ) 

#define IMachine_get_LogFolder(This,aLogFolder)	\
    ( (This)->lpVtbl -> get_LogFolder(This,aLogFolder) ) 

#define IMachine_get_CurrentSnapshot(This,aCurrentSnapshot)	\
    ( (This)->lpVtbl -> get_CurrentSnapshot(This,aCurrentSnapshot) ) 

#define IMachine_get_SnapshotCount(This,aSnapshotCount)	\
    ( (This)->lpVtbl -> get_SnapshotCount(This,aSnapshotCount) ) 

#define IMachine_get_CurrentStateModified(This,aCurrentStateModified)	\
    ( (This)->lpVtbl -> get_CurrentStateModified(This,aCurrentStateModified) ) 

#define IMachine_get_SharedFolders(This,aSharedFolders)	\
    ( (This)->lpVtbl -> get_SharedFolders(This,aSharedFolders) ) 

#define IMachine_get_ClipboardMode(This,aClipboardMode)	\
    ( (This)->lpVtbl -> get_ClipboardMode(This,aClipboardMode) ) 

#define IMachine_put_ClipboardMode(This,aClipboardMode)	\
    ( (This)->lpVtbl -> put_ClipboardMode(This,aClipboardMode) ) 

#define IMachine_get_ClipboardFileTransfersEnabled(This,aClipboardFileTransfersEnabled)	\
    ( (This)->lpVtbl -> get_ClipboardFileTransfersEnabled(This,aClipboardFileTransfersEnabled) ) 

#define IMachine_put_ClipboardFileTransfersEnabled(This,aClipboardFileTransfersEnabled)	\
    ( (This)->lpVtbl -> put_ClipboardFileTransfersEnabled(This,aClipboardFileTransfersEnabled) ) 

#define IMachine_get_DnDMode(This,aDnDMode)	\
    ( (This)->lpVtbl -> get_DnDMode(This,aDnDMode) ) 

#define IMachine_put_DnDMode(This,aDnDMode)	\
    ( (This)->lpVtbl -> put_DnDMode(This,aDnDMode) ) 

#define IMachine_get_TeleporterEnabled(This,aTeleporterEnabled)	\
    ( (This)->lpVtbl -> get_TeleporterEnabled(This,aTeleporterEnabled) ) 

#define IMachine_put_TeleporterEnabled(This,aTeleporterEnabled)	\
    ( (This)->lpVtbl -> put_TeleporterEnabled(This,aTeleporterEnabled) ) 

#define IMachine_get_TeleporterPort(This,aTeleporterPort)	\
    ( (This)->lpVtbl -> get_TeleporterPort(This,aTeleporterPort) ) 

#define IMachine_put_TeleporterPort(This,aTeleporterPort)	\
    ( (This)->lpVtbl -> put_TeleporterPort(This,aTeleporterPort) ) 

#define IMachine_get_TeleporterAddress(This,aTeleporterAddress)	\
    ( (This)->lpVtbl -> get_TeleporterAddress(This,aTeleporterAddress) ) 

#define IMachine_put_TeleporterAddress(This,aTeleporterAddress)	\
    ( (This)->lpVtbl -> put_TeleporterAddress(This,aTeleporterAddress) ) 

#define IMachine_get_TeleporterPassword(This,aTeleporterPassword)	\
    ( (This)->lpVtbl -> get_TeleporterPassword(This,aTeleporterPassword) ) 

#define IMachine_put_TeleporterPassword(This,aTeleporterPassword)	\
    ( (This)->lpVtbl -> put_TeleporterPassword(This,aTeleporterPassword) ) 

#define IMachine_get_ParavirtProvider(This,aParavirtProvider)	\
    ( (This)->lpVtbl -> get_ParavirtProvider(This,aParavirtProvider) ) 

#define IMachine_put_ParavirtProvider(This,aParavirtProvider)	\
    ( (This)->lpVtbl -> put_ParavirtProvider(This,aParavirtProvider) ) 

#define IMachine_get_IOCacheEnabled(This,aIOCacheEnabled)	\
    ( (This)->lpVtbl -> get_IOCacheEnabled(This,aIOCacheEnabled) ) 

#define IMachine_put_IOCacheEnabled(This,aIOCacheEnabled)	\
    ( (This)->lpVtbl -> put_IOCacheEnabled(This,aIOCacheEnabled) ) 

#define IMachine_get_IOCacheSize(This,aIOCacheSize)	\
    ( (This)->lpVtbl -> get_IOCacheSize(This,aIOCacheSize) ) 

#define IMachine_put_IOCacheSize(This,aIOCacheSize)	\
    ( (This)->lpVtbl -> put_IOCacheSize(This,aIOCacheSize) ) 

#define IMachine_get_PCIDeviceAssignments(This,aPCIDeviceAssignments)	\
    ( (This)->lpVtbl -> get_PCIDeviceAssignments(This,aPCIDeviceAssignments) ) 

#define IMachine_get_BandwidthControl(This,aBandwidthControl)	\
    ( (This)->lpVtbl -> get_BandwidthControl(This,aBandwidthControl) ) 

#define IMachine_get_TracingEnabled(This,aTracingEnabled)	\
    ( (This)->lpVtbl -> get_TracingEnabled(This,aTracingEnabled) ) 

#define IMachine_put_TracingEnabled(This,aTracingEnabled)	\
    ( (This)->lpVtbl -> put_TracingEnabled(This,aTracingEnabled) ) 

#define IMachine_get_TracingConfig(This,aTracingConfig)	\
    ( (This)->lpVtbl -> get_TracingConfig(This,aTracingConfig) ) 

#define IMachine_put_TracingConfig(This,aTracingConfig)	\
    ( (This)->lpVtbl -> put_TracingConfig(This,aTracingConfig) ) 

#define IMachine_get_AllowTracingToAccessVM(This,aAllowTracingToAccessVM)	\
    ( (This)->lpVtbl -> get_AllowTracingToAccessVM(This,aAllowTracingToAccessVM) ) 

#define IMachine_put_AllowTracingToAccessVM(This,aAllowTracingToAccessVM)	\
    ( (This)->lpVtbl -> put_AllowTracingToAccessVM(This,aAllowTracingToAccessVM) ) 

#define IMachine_get_AutostartEnabled(This,aAutostartEnabled)	\
    ( (This)->lpVtbl -> get_AutostartEnabled(This,aAutostartEnabled) ) 

#define IMachine_put_AutostartEnabled(This,aAutostartEnabled)	\
    ( (This)->lpVtbl -> put_AutostartEnabled(This,aAutostartEnabled) ) 

#define IMachine_get_AutostartDelay(This,aAutostartDelay)	\
    ( (This)->lpVtbl -> get_AutostartDelay(This,aAutostartDelay) ) 

#define IMachine_put_AutostartDelay(This,aAutostartDelay)	\
    ( (This)->lpVtbl -> put_AutostartDelay(This,aAutostartDelay) ) 

#define IMachine_get_AutostopType(This,aAutostopType)	\
    ( (This)->lpVtbl -> get_AutostopType(This,aAutostopType) ) 

#define IMachine_put_AutostopType(This,aAutostopType)	\
    ( (This)->lpVtbl -> put_AutostopType(This,aAutostopType) ) 

#define IMachine_get_DefaultFrontend(This,aDefaultFrontend)	\
    ( (This)->lpVtbl -> get_DefaultFrontend(This,aDefaultFrontend) ) 

#define IMachine_put_DefaultFrontend(This,aDefaultFrontend)	\
    ( (This)->lpVtbl -> put_DefaultFrontend(This,aDefaultFrontend) ) 

#define IMachine_get_USBProxyAvailable(This,aUSBProxyAvailable)	\
    ( (This)->lpVtbl -> get_USBProxyAvailable(This,aUSBProxyAvailable) ) 

#define IMachine_get_VMProcessPriority(This,aVMProcessPriority)	\
    ( (This)->lpVtbl -> get_VMProcessPriority(This,aVMProcessPriority) ) 

#define IMachine_put_VMProcessPriority(This,aVMProcessPriority)	\
    ( (This)->lpVtbl -> put_VMProcessPriority(This,aVMProcessPriority) ) 

#define IMachine_get_VMExecutionEngine(This,aVMExecutionEngine)	\
    ( (This)->lpVtbl -> get_VMExecutionEngine(This,aVMExecutionEngine) ) 

#define IMachine_put_VMExecutionEngine(This,aVMExecutionEngine)	\
    ( (This)->lpVtbl -> put_VMExecutionEngine(This,aVMExecutionEngine) ) 

#define IMachine_get_ParavirtDebug(This,aParavirtDebug)	\
    ( (This)->lpVtbl -> get_ParavirtDebug(This,aParavirtDebug) ) 

#define IMachine_put_ParavirtDebug(This,aParavirtDebug)	\
    ( (This)->lpVtbl -> put_ParavirtDebug(This,aParavirtDebug) ) 

#define IMachine_get_CPUProfile(This,aCPUProfile)	\
    ( (This)->lpVtbl -> get_CPUProfile(This,aCPUProfile) ) 

#define IMachine_put_CPUProfile(This,aCPUProfile)	\
    ( (This)->lpVtbl -> put_CPUProfile(This,aCPUProfile) ) 

#define IMachine_get_StateKeyId(This,aStateKeyId)	\
    ( (This)->lpVtbl -> get_StateKeyId(This,aStateKeyId) ) 

#define IMachine_get_StateKeyStore(This,aStateKeyStore)	\
    ( (This)->lpVtbl -> get_StateKeyStore(This,aStateKeyStore) ) 

#define IMachine_get_LogKeyId(This,aLogKeyId)	\
    ( (This)->lpVtbl -> get_LogKeyId(This,aLogKeyId) ) 

#define IMachine_get_LogKeyStore(This,aLogKeyStore)	\
    ( (This)->lpVtbl -> get_LogKeyStore(This,aLogKeyStore) ) 

#define IMachine_get_GuestDebugControl(This,aGuestDebugControl)	\
    ( (This)->lpVtbl -> get_GuestDebugControl(This,aGuestDebugControl) ) 

#define IMachine_get_InternalAndReservedAttribute1IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute2IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute3IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute4IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute5IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute6IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute7IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute8IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute9IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute10IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute11IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute12IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute13IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute14IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute15IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IMachine(This,aReserved) ) 

#define IMachine_get_InternalAndReservedAttribute16IMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IMachine(This,aReserved) ) 

#define IMachine_LockMachine(This,aSession,aLockType)	\
    ( (This)->lpVtbl -> LockMachine(This,aSession,aLockType) ) 

#define IMachine_LaunchVMProcess(This,aSession,aName,aEnvironmentChanges,aProgress)	\
    ( (This)->lpVtbl -> LaunchVMProcess(This,aSession,aName,aEnvironmentChanges,aProgress) ) 

#define IMachine_SetBootOrder(This,aPosition,aDevice)	\
    ( (This)->lpVtbl -> SetBootOrder(This,aPosition,aDevice) ) 

#define IMachine_GetBootOrder(This,aPosition,aDevice)	\
    ( (This)->lpVtbl -> GetBootOrder(This,aPosition,aDevice) ) 

#define IMachine_AttachDevice(This,aName,aControllerPort,aDevice,aType,aMedium)	\
    ( (This)->lpVtbl -> AttachDevice(This,aName,aControllerPort,aDevice,aType,aMedium) ) 

#define IMachine_AttachDeviceWithoutMedium(This,aName,aControllerPort,aDevice,aType)	\
    ( (This)->lpVtbl -> AttachDeviceWithoutMedium(This,aName,aControllerPort,aDevice,aType) ) 

#define IMachine_DetachDevice(This,aName,aControllerPort,aDevice)	\
    ( (This)->lpVtbl -> DetachDevice(This,aName,aControllerPort,aDevice) ) 

#define IMachine_PassthroughDevice(This,aName,aControllerPort,aDevice,aPassthrough)	\
    ( (This)->lpVtbl -> PassthroughDevice(This,aName,aControllerPort,aDevice,aPassthrough) ) 

#define IMachine_TemporaryEjectDevice(This,aName,aControllerPort,aDevice,aTemporaryEject)	\
    ( (This)->lpVtbl -> TemporaryEjectDevice(This,aName,aControllerPort,aDevice,aTemporaryEject) ) 

#define IMachine_NonRotationalDevice(This,aName,aControllerPort,aDevice,aNonRotational)	\
    ( (This)->lpVtbl -> NonRotationalDevice(This,aName,aControllerPort,aDevice,aNonRotational) ) 

#define IMachine_SetAutoDiscardForDevice(This,aName,aControllerPort,aDevice,aDiscard)	\
    ( (This)->lpVtbl -> SetAutoDiscardForDevice(This,aName,aControllerPort,aDevice,aDiscard) ) 

#define IMachine_SetHotPluggableForDevice(This,aName,aControllerPort,aDevice,aHotPluggable)	\
    ( (This)->lpVtbl -> SetHotPluggableForDevice(This,aName,aControllerPort,aDevice,aHotPluggable) ) 

#define IMachine_SetBandwidthGroupForDevice(This,aName,aControllerPort,aDevice,aBandwidthGroup)	\
    ( (This)->lpVtbl -> SetBandwidthGroupForDevice(This,aName,aControllerPort,aDevice,aBandwidthGroup) ) 

#define IMachine_SetNoBandwidthGroupForDevice(This,aName,aControllerPort,aDevice)	\
    ( (This)->lpVtbl -> SetNoBandwidthGroupForDevice(This,aName,aControllerPort,aDevice) ) 

#define IMachine_UnmountMedium(This,aName,aControllerPort,aDevice,aForce)	\
    ( (This)->lpVtbl -> UnmountMedium(This,aName,aControllerPort,aDevice,aForce) ) 

#define IMachine_MountMedium(This,aName,aControllerPort,aDevice,aMedium,aForce)	\
    ( (This)->lpVtbl -> MountMedium(This,aName,aControllerPort,aDevice,aMedium,aForce) ) 

#define IMachine_GetMedium(This,aName,aControllerPort,aDevice,aMedium)	\
    ( (This)->lpVtbl -> GetMedium(This,aName,aControllerPort,aDevice,aMedium) ) 

#define IMachine_GetMediumAttachmentsOfController(This,aName,aMediumAttachments)	\
    ( (This)->lpVtbl -> GetMediumAttachmentsOfController(This,aName,aMediumAttachments) ) 

#define IMachine_GetMediumAttachment(This,aName,aControllerPort,aDevice,aAttachment)	\
    ( (This)->lpVtbl -> GetMediumAttachment(This,aName,aControllerPort,aDevice,aAttachment) ) 

#define IMachine_AttachHostPCIDevice(This,aHostAddress,aDesiredGuestAddress,aTryToUnbind)	\
    ( (This)->lpVtbl -> AttachHostPCIDevice(This,aHostAddress,aDesiredGuestAddress,aTryToUnbind) ) 

#define IMachine_DetachHostPCIDevice(This,aHostAddress)	\
    ( (This)->lpVtbl -> DetachHostPCIDevice(This,aHostAddress) ) 

#define IMachine_GetNetworkAdapter(This,aSlot,aAdapter)	\
    ( (This)->lpVtbl -> GetNetworkAdapter(This,aSlot,aAdapter) ) 

#define IMachine_AddStorageController(This,aName,aConnectionType,aController)	\
    ( (This)->lpVtbl -> AddStorageController(This,aName,aConnectionType,aController) ) 

#define IMachine_GetStorageControllerByName(This,aName,aStorageController)	\
    ( (This)->lpVtbl -> GetStorageControllerByName(This,aName,aStorageController) ) 

#define IMachine_GetStorageControllerByInstance(This,aConnectionType,aInstance,aStorageController)	\
    ( (This)->lpVtbl -> GetStorageControllerByInstance(This,aConnectionType,aInstance,aStorageController) ) 

#define IMachine_RemoveStorageController(This,aName)	\
    ( (This)->lpVtbl -> RemoveStorageController(This,aName) ) 

#define IMachine_SetStorageControllerBootable(This,aName,aBootable)	\
    ( (This)->lpVtbl -> SetStorageControllerBootable(This,aName,aBootable) ) 

#define IMachine_AddUSBController(This,aName,aType,aController)	\
    ( (This)->lpVtbl -> AddUSBController(This,aName,aType,aController) ) 

#define IMachine_RemoveUSBController(This,aName)	\
    ( (This)->lpVtbl -> RemoveUSBController(This,aName) ) 

#define IMachine_GetUSBControllerByName(This,aName,aController)	\
    ( (This)->lpVtbl -> GetUSBControllerByName(This,aName,aController) ) 

#define IMachine_GetUSBControllerCountByType(This,aType,aControllers)	\
    ( (This)->lpVtbl -> GetUSBControllerCountByType(This,aType,aControllers) ) 

#define IMachine_GetSerialPort(This,aSlot,aPort)	\
    ( (This)->lpVtbl -> GetSerialPort(This,aSlot,aPort) ) 

#define IMachine_GetParallelPort(This,aSlot,aPort)	\
    ( (This)->lpVtbl -> GetParallelPort(This,aSlot,aPort) ) 

#define IMachine_GetExtraDataKeys(This,aKeys)	\
    ( (This)->lpVtbl -> GetExtraDataKeys(This,aKeys) ) 

#define IMachine_GetExtraData(This,aKey,aValue)	\
    ( (This)->lpVtbl -> GetExtraData(This,aKey,aValue) ) 

#define IMachine_SetExtraData(This,aKey,aValue)	\
    ( (This)->lpVtbl -> SetExtraData(This,aKey,aValue) ) 

#define IMachine_SetSettingsFilePath(This,aSettingsFilePath,aProgress)	\
    ( (This)->lpVtbl -> SetSettingsFilePath(This,aSettingsFilePath,aProgress) ) 

#define IMachine_SaveSettings(This)	\
    ( (This)->lpVtbl -> SaveSettings(This) ) 

#define IMachine_DiscardSettings(This)	\
    ( (This)->lpVtbl -> DiscardSettings(This) ) 

#define IMachine_Unregister(This,aCleanupMode,aMedia)	\
    ( (This)->lpVtbl -> Unregister(This,aCleanupMode,aMedia) ) 

#define IMachine_DeleteConfig(This,aMedia,aProgress)	\
    ( (This)->lpVtbl -> DeleteConfig(This,aMedia,aProgress) ) 

#define IMachine_ExportTo(This,aAppliance,aLocation,aDescription)	\
    ( (This)->lpVtbl -> ExportTo(This,aAppliance,aLocation,aDescription) ) 

#define IMachine_FindSnapshot(This,aNameOrId,aSnapshot)	\
    ( (This)->lpVtbl -> FindSnapshot(This,aNameOrId,aSnapshot) ) 

#define IMachine_CreateSharedFolder(This,aName,aHostPath,aWritable,aAutomount,aAutoMountPoint)	\
    ( (This)->lpVtbl -> CreateSharedFolder(This,aName,aHostPath,aWritable,aAutomount,aAutoMountPoint) ) 

#define IMachine_RemoveSharedFolder(This,aName)	\
    ( (This)->lpVtbl -> RemoveSharedFolder(This,aName) ) 

#define IMachine_CanShowConsoleWindow(This,aCanShow)	\
    ( (This)->lpVtbl -> CanShowConsoleWindow(This,aCanShow) ) 

#define IMachine_ShowConsoleWindow(This,aWinId)	\
    ( (This)->lpVtbl -> ShowConsoleWindow(This,aWinId) ) 

#define IMachine_GetGuestProperty(This,aName,aValue,aTimestamp,aFlags)	\
    ( (This)->lpVtbl -> GetGuestProperty(This,aName,aValue,aTimestamp,aFlags) ) 

#define IMachine_GetGuestPropertyValue(This,aProperty,aValue)	\
    ( (This)->lpVtbl -> GetGuestPropertyValue(This,aProperty,aValue) ) 

#define IMachine_GetGuestPropertyTimestamp(This,aProperty,aValue)	\
    ( (This)->lpVtbl -> GetGuestPropertyTimestamp(This,aProperty,aValue) ) 

#define IMachine_SetGuestProperty(This,aProperty,aValue,aFlags)	\
    ( (This)->lpVtbl -> SetGuestProperty(This,aProperty,aValue,aFlags) ) 

#define IMachine_SetGuestPropertyValue(This,aProperty,aValue)	\
    ( (This)->lpVtbl -> SetGuestPropertyValue(This,aProperty,aValue) ) 

#define IMachine_DeleteGuestProperty(This,aName)	\
    ( (This)->lpVtbl -> DeleteGuestProperty(This,aName) ) 

#define IMachine_EnumerateGuestProperties(This,aPatterns,aNames,aValues,aTimestamps,aFlags)	\
    ( (This)->lpVtbl -> EnumerateGuestProperties(This,aPatterns,aNames,aValues,aTimestamps,aFlags) ) 

#define IMachine_QuerySavedGuestScreenInfo(This,aScreenId,aOriginX,aOriginY,aWidth,aHeight,aEnabled)	\
    ( (This)->lpVtbl -> QuerySavedGuestScreenInfo(This,aScreenId,aOriginX,aOriginY,aWidth,aHeight,aEnabled) ) 

#define IMachine_ReadSavedThumbnailToArray(This,aScreenId,aBitmapFormat,aWidth,aHeight,aData)	\
    ( (This)->lpVtbl -> ReadSavedThumbnailToArray(This,aScreenId,aBitmapFormat,aWidth,aHeight,aData) ) 

#define IMachine_QuerySavedScreenshotInfo(This,aScreenId,aWidth,aHeight,aBitmapFormats)	\
    ( (This)->lpVtbl -> QuerySavedScreenshotInfo(This,aScreenId,aWidth,aHeight,aBitmapFormats) ) 

#define IMachine_ReadSavedScreenshotToArray(This,aScreenId,aBitmapFormat,aWidth,aHeight,aData)	\
    ( (This)->lpVtbl -> ReadSavedScreenshotToArray(This,aScreenId,aBitmapFormat,aWidth,aHeight,aData) ) 

#define IMachine_HotPlugCPU(This,aCpu)	\
    ( (This)->lpVtbl -> HotPlugCPU(This,aCpu) ) 

#define IMachine_HotUnplugCPU(This,aCpu)	\
    ( (This)->lpVtbl -> HotUnplugCPU(This,aCpu) ) 

#define IMachine_GetCPUStatus(This,aCpu,aAttached)	\
    ( (This)->lpVtbl -> GetCPUStatus(This,aCpu,aAttached) ) 

#define IMachine_GetEffectiveParavirtProvider(This,aParavirtProvider)	\
    ( (This)->lpVtbl -> GetEffectiveParavirtProvider(This,aParavirtProvider) ) 

#define IMachine_QueryLogFilename(This,aIdx,aFilename)	\
    ( (This)->lpVtbl -> QueryLogFilename(This,aIdx,aFilename) ) 

#define IMachine_ReadLog(This,aIdx,aOffset,aSize,aData)	\
    ( (This)->lpVtbl -> ReadLog(This,aIdx,aOffset,aSize,aData) ) 

#define IMachine_CloneTo(This,aTarget,aMode,aOptions,aProgress)	\
    ( (This)->lpVtbl -> CloneTo(This,aTarget,aMode,aOptions,aProgress) ) 

#define IMachine_MoveTo(This,aFolder,aType,aProgress)	\
    ( (This)->lpVtbl -> MoveTo(This,aFolder,aType,aProgress) ) 

#define IMachine_SaveState(This,aProgress)	\
    ( (This)->lpVtbl -> SaveState(This,aProgress) ) 

#define IMachine_AdoptSavedState(This,aSavedStateFile)	\
    ( (This)->lpVtbl -> AdoptSavedState(This,aSavedStateFile) ) 

#define IMachine_DiscardSavedState(This,aFRemoveFile)	\
    ( (This)->lpVtbl -> DiscardSavedState(This,aFRemoveFile) ) 

#define IMachine_TakeSnapshot(This,aName,aDescription,aPause,aId,aProgress)	\
    ( (This)->lpVtbl -> TakeSnapshot(This,aName,aDescription,aPause,aId,aProgress) ) 

#define IMachine_DeleteSnapshot(This,aId,aProgress)	\
    ( (This)->lpVtbl -> DeleteSnapshot(This,aId,aProgress) ) 

#define IMachine_DeleteSnapshotAndAllChildren(This,aId,aProgress)	\
    ( (This)->lpVtbl -> DeleteSnapshotAndAllChildren(This,aId,aProgress) ) 

#define IMachine_DeleteSnapshotRange(This,aStartId,aEndId,aProgress)	\
    ( (This)->lpVtbl -> DeleteSnapshotRange(This,aStartId,aEndId,aProgress) ) 

#define IMachine_RestoreSnapshot(This,aSnapshot,aProgress)	\
    ( (This)->lpVtbl -> RestoreSnapshot(This,aSnapshot,aProgress) ) 

#define IMachine_ApplyDefaults(This,aFlags)	\
    ( (This)->lpVtbl -> ApplyDefaults(This,aFlags) ) 

#define IMachine_ChangeEncryption(This,aCurrentPassword,aCipher,aNewPassword,aNewPasswordId,aForce,aProgress)	\
    ( (This)->lpVtbl -> ChangeEncryption(This,aCurrentPassword,aCipher,aNewPassword,aNewPasswordId,aForce,aProgress) ) 

#define IMachine_GetEncryptionSettings(This,aCipher,aPasswordId)	\
    ( (This)->lpVtbl -> GetEncryptionSettings(This,aCipher,aPasswordId) ) 

#define IMachine_CheckEncryptionPassword(This,aPassword)	\
    ( (This)->lpVtbl -> CheckEncryptionPassword(This,aPassword) ) 

#define IMachine_AddEncryptionPassword(This,aId,aPassword)	\
    ( (This)->lpVtbl -> AddEncryptionPassword(This,aId,aPassword) ) 

#define IMachine_AddEncryptionPasswords(This,aIds,aPasswords)	\
    ( (This)->lpVtbl -> AddEncryptionPasswords(This,aIds,aPasswords) ) 

#define IMachine_RemoveEncryptionPassword(This,aId)	\
    ( (This)->lpVtbl -> RemoveEncryptionPassword(This,aId) ) 

#define IMachine_ClearAllEncryptionPasswords(This)	\
    ( (This)->lpVtbl -> ClearAllEncryptionPasswords(This) ) 

#define IMachine_InternalAndReservedMethod1IMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IMachine(This) ) 

#define IMachine_InternalAndReservedMethod2IMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IMachine(This) ) 

#define IMachine_InternalAndReservedMethod3IMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IMachine(This) ) 

#define IMachine_InternalAndReservedMethod4IMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IMachine(This) ) 

#define IMachine_InternalAndReservedMethod5IMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IMachine(This) ) 

#define IMachine_InternalAndReservedMethod6IMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IMachine(This) ) 

#define IMachine_InternalAndReservedMethod7IMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IMachine(This) ) 

#define IMachine_InternalAndReservedMethod8IMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IMachine(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMachine_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0031 */
/* [local] */ 

#define COM_FORWARD_IMachine_GETTER_Parent_TO(smth) HRESULT STDMETHODCALLTYPE get_Parent (IVirtualBox * * aParent) { return smth get_Parent (aParent); }
#define COM_FORWARD_IMachine_GETTER_Parent_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Parent_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_Parent_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Parent_TO (base::)
#define COM_FORWARD_IMachine_GETTER_Icon_TO(smth) HRESULT STDMETHODCALLTYPE get_Icon (SAFEARRAY * * aIcon) { return smth get_Icon (aIcon); }
#define COM_FORWARD_IMachine_GETTER_Icon_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Icon_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_Icon_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Icon_TO (base::)
#define COM_FORWARD_IMachine_SETTER_Icon_TO(smth) HRESULT STDMETHODCALLTYPE put_Icon (SAFEARRAY * aIcon) { return smth put_Icon (aIcon); }
#define COM_FORWARD_IMachine_SETTER_Icon_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_Icon_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_Icon_TO_BASE(base) COM_FORWARD_IMachine_SETTER_Icon_TO (base::)
#define COM_FORWARD_IMachine_GETTER_Accessible_TO(smth) HRESULT STDMETHODCALLTYPE get_Accessible (BOOL * aAccessible) { return smth get_Accessible (aAccessible); }
#define COM_FORWARD_IMachine_GETTER_Accessible_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Accessible_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_Accessible_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Accessible_TO (base::)
#define COM_FORWARD_IMachine_GETTER_AccessError_TO(smth) HRESULT STDMETHODCALLTYPE get_AccessError (IVirtualBoxErrorInfo * * aAccessError) { return smth get_AccessError (aAccessError); }
#define COM_FORWARD_IMachine_GETTER_AccessError_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AccessError_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_AccessError_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AccessError_TO (base::)
#define COM_FORWARD_IMachine_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IMachine_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_Name_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Name_TO (base::)
#define COM_FORWARD_IMachine_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }
#define COM_FORWARD_IMachine_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_Name_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_Name_TO_BASE(base) COM_FORWARD_IMachine_SETTER_Name_TO (base::)
#define COM_FORWARD_IMachine_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }
#define COM_FORWARD_IMachine_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Description_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_Description_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Description_TO (base::)
#define COM_FORWARD_IMachine_SETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE put_Description (BSTR aDescription) { return smth put_Description (aDescription); }
#define COM_FORWARD_IMachine_SETTER_Description_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_Description_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_Description_TO_BASE(base) COM_FORWARD_IMachine_SETTER_Description_TO (base::)
#define COM_FORWARD_IMachine_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IMachine_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_Id_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Id_TO (base::)
#define COM_FORWARD_IMachine_GETTER_Groups_TO(smth) HRESULT STDMETHODCALLTYPE get_Groups (SAFEARRAY * * aGroups) { return smth get_Groups (aGroups); }
#define COM_FORWARD_IMachine_GETTER_Groups_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Groups_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_Groups_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Groups_TO (base::)
#define COM_FORWARD_IMachine_SETTER_Groups_TO(smth) HRESULT STDMETHODCALLTYPE put_Groups (SAFEARRAY * aGroups) { return smth put_Groups (aGroups); }
#define COM_FORWARD_IMachine_SETTER_Groups_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_Groups_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_Groups_TO_BASE(base) COM_FORWARD_IMachine_SETTER_Groups_TO (base::)
#define COM_FORWARD_IMachine_GETTER_OSTypeId_TO(smth) HRESULT STDMETHODCALLTYPE get_OSTypeId (BSTR * aOSTypeId) { return smth get_OSTypeId (aOSTypeId); }
#define COM_FORWARD_IMachine_GETTER_OSTypeId_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_OSTypeId_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_OSTypeId_TO_BASE(base) COM_FORWARD_IMachine_GETTER_OSTypeId_TO (base::)
#define COM_FORWARD_IMachine_SETTER_OSTypeId_TO(smth) HRESULT STDMETHODCALLTYPE put_OSTypeId (BSTR aOSTypeId) { return smth put_OSTypeId (aOSTypeId); }
#define COM_FORWARD_IMachine_SETTER_OSTypeId_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_OSTypeId_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_OSTypeId_TO_BASE(base) COM_FORWARD_IMachine_SETTER_OSTypeId_TO (base::)
#define COM_FORWARD_IMachine_GETTER_HardwareVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_HardwareVersion (BSTR * aHardwareVersion) { return smth get_HardwareVersion (aHardwareVersion); }
#define COM_FORWARD_IMachine_GETTER_HardwareVersion_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_HardwareVersion_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_HardwareVersion_TO_BASE(base) COM_FORWARD_IMachine_GETTER_HardwareVersion_TO (base::)
#define COM_FORWARD_IMachine_SETTER_HardwareVersion_TO(smth) HRESULT STDMETHODCALLTYPE put_HardwareVersion (BSTR aHardwareVersion) { return smth put_HardwareVersion (aHardwareVersion); }
#define COM_FORWARD_IMachine_SETTER_HardwareVersion_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_HardwareVersion_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_HardwareVersion_TO_BASE(base) COM_FORWARD_IMachine_SETTER_HardwareVersion_TO (base::)
#define COM_FORWARD_IMachine_GETTER_HardwareUUID_TO(smth) HRESULT STDMETHODCALLTYPE get_HardwareUUID (BSTR * aHardwareUUID) { return smth get_HardwareUUID (aHardwareUUID); }
#define COM_FORWARD_IMachine_GETTER_HardwareUUID_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_HardwareUUID_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_HardwareUUID_TO_BASE(base) COM_FORWARD_IMachine_GETTER_HardwareUUID_TO (base::)
#define COM_FORWARD_IMachine_SETTER_HardwareUUID_TO(smth) HRESULT STDMETHODCALLTYPE put_HardwareUUID (BSTR aHardwareUUID) { return smth put_HardwareUUID (aHardwareUUID); }
#define COM_FORWARD_IMachine_SETTER_HardwareUUID_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_HardwareUUID_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_HardwareUUID_TO_BASE(base) COM_FORWARD_IMachine_SETTER_HardwareUUID_TO (base::)
#define COM_FORWARD_IMachine_GETTER_CPUCount_TO(smth) HRESULT STDMETHODCALLTYPE get_CPUCount (ULONG * aCPUCount) { return smth get_CPUCount (aCPUCount); }
#define COM_FORWARD_IMachine_GETTER_CPUCount_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CPUCount_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_CPUCount_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CPUCount_TO (base::)
#define COM_FORWARD_IMachine_SETTER_CPUCount_TO(smth) HRESULT STDMETHODCALLTYPE put_CPUCount (ULONG aCPUCount) { return smth put_CPUCount (aCPUCount); }
#define COM_FORWARD_IMachine_SETTER_CPUCount_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_CPUCount_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_CPUCount_TO_BASE(base) COM_FORWARD_IMachine_SETTER_CPUCount_TO (base::)
#define COM_FORWARD_IMachine_GETTER_CPUHotPlugEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_CPUHotPlugEnabled (BOOL * aCPUHotPlugEnabled) { return smth get_CPUHotPlugEnabled (aCPUHotPlugEnabled); }
#define COM_FORWARD_IMachine_GETTER_CPUHotPlugEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CPUHotPlugEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_CPUHotPlugEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CPUHotPlugEnabled_TO (base::)
#define COM_FORWARD_IMachine_SETTER_CPUHotPlugEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_CPUHotPlugEnabled (BOOL aCPUHotPlugEnabled) { return smth put_CPUHotPlugEnabled (aCPUHotPlugEnabled); }
#define COM_FORWARD_IMachine_SETTER_CPUHotPlugEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_CPUHotPlugEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_CPUHotPlugEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_CPUHotPlugEnabled_TO (base::)
#define COM_FORWARD_IMachine_GETTER_CPUExecutionCap_TO(smth) HRESULT STDMETHODCALLTYPE get_CPUExecutionCap (ULONG * aCPUExecutionCap) { return smth get_CPUExecutionCap (aCPUExecutionCap); }
#define COM_FORWARD_IMachine_GETTER_CPUExecutionCap_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CPUExecutionCap_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_CPUExecutionCap_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CPUExecutionCap_TO (base::)
#define COM_FORWARD_IMachine_SETTER_CPUExecutionCap_TO(smth) HRESULT STDMETHODCALLTYPE put_CPUExecutionCap (ULONG aCPUExecutionCap) { return smth put_CPUExecutionCap (aCPUExecutionCap); }
#define COM_FORWARD_IMachine_SETTER_CPUExecutionCap_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_CPUExecutionCap_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_CPUExecutionCap_TO_BASE(base) COM_FORWARD_IMachine_SETTER_CPUExecutionCap_TO (base::)
#define COM_FORWARD_IMachine_GETTER_CPUIDPortabilityLevel_TO(smth) HRESULT STDMETHODCALLTYPE get_CPUIDPortabilityLevel (ULONG * aCPUIDPortabilityLevel) { return smth get_CPUIDPortabilityLevel (aCPUIDPortabilityLevel); }
#define COM_FORWARD_IMachine_GETTER_CPUIDPortabilityLevel_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CPUIDPortabilityLevel_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_CPUIDPortabilityLevel_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CPUIDPortabilityLevel_TO (base::)
#define COM_FORWARD_IMachine_SETTER_CPUIDPortabilityLevel_TO(smth) HRESULT STDMETHODCALLTYPE put_CPUIDPortabilityLevel (ULONG aCPUIDPortabilityLevel) { return smth put_CPUIDPortabilityLevel (aCPUIDPortabilityLevel); }
#define COM_FORWARD_IMachine_SETTER_CPUIDPortabilityLevel_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_CPUIDPortabilityLevel_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_CPUIDPortabilityLevel_TO_BASE(base) COM_FORWARD_IMachine_SETTER_CPUIDPortabilityLevel_TO (base::)
#define COM_FORWARD_IMachine_GETTER_MemorySize_TO(smth) HRESULT STDMETHODCALLTYPE get_MemorySize (ULONG * aMemorySize) { return smth get_MemorySize (aMemorySize); }
#define COM_FORWARD_IMachine_GETTER_MemorySize_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_MemorySize_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_MemorySize_TO_BASE(base) COM_FORWARD_IMachine_GETTER_MemorySize_TO (base::)
#define COM_FORWARD_IMachine_SETTER_MemorySize_TO(smth) HRESULT STDMETHODCALLTYPE put_MemorySize (ULONG aMemorySize) { return smth put_MemorySize (aMemorySize); }
#define COM_FORWARD_IMachine_SETTER_MemorySize_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_MemorySize_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_MemorySize_TO_BASE(base) COM_FORWARD_IMachine_SETTER_MemorySize_TO (base::)
#define COM_FORWARD_IMachine_GETTER_MemoryBalloonSize_TO(smth) HRESULT STDMETHODCALLTYPE get_MemoryBalloonSize (ULONG * aMemoryBalloonSize) { return smth get_MemoryBalloonSize (aMemoryBalloonSize); }
#define COM_FORWARD_IMachine_GETTER_MemoryBalloonSize_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_MemoryBalloonSize_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_MemoryBalloonSize_TO_BASE(base) COM_FORWARD_IMachine_GETTER_MemoryBalloonSize_TO (base::)
#define COM_FORWARD_IMachine_SETTER_MemoryBalloonSize_TO(smth) HRESULT STDMETHODCALLTYPE put_MemoryBalloonSize (ULONG aMemoryBalloonSize) { return smth put_MemoryBalloonSize (aMemoryBalloonSize); }
#define COM_FORWARD_IMachine_SETTER_MemoryBalloonSize_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_MemoryBalloonSize_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_MemoryBalloonSize_TO_BASE(base) COM_FORWARD_IMachine_SETTER_MemoryBalloonSize_TO (base::)
#define COM_FORWARD_IMachine_GETTER_PageFusionEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_PageFusionEnabled (BOOL * aPageFusionEnabled) { return smth get_PageFusionEnabled (aPageFusionEnabled); }
#define COM_FORWARD_IMachine_GETTER_PageFusionEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_PageFusionEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_PageFusionEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_PageFusionEnabled_TO (base::)
#define COM_FORWARD_IMachine_SETTER_PageFusionEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_PageFusionEnabled (BOOL aPageFusionEnabled) { return smth put_PageFusionEnabled (aPageFusionEnabled); }
#define COM_FORWARD_IMachine_SETTER_PageFusionEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_PageFusionEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_PageFusionEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_PageFusionEnabled_TO (base::)
#define COM_FORWARD_IMachine_GETTER_GraphicsAdapter_TO(smth) HRESULT STDMETHODCALLTYPE get_GraphicsAdapter (IGraphicsAdapter * * aGraphicsAdapter) { return smth get_GraphicsAdapter (aGraphicsAdapter); }
#define COM_FORWARD_IMachine_GETTER_GraphicsAdapter_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_GraphicsAdapter_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_GraphicsAdapter_TO_BASE(base) COM_FORWARD_IMachine_GETTER_GraphicsAdapter_TO (base::)
#define COM_FORWARD_IMachine_GETTER_Platform_TO(smth) HRESULT STDMETHODCALLTYPE get_Platform (IPlatform * * aPlatform) { return smth get_Platform (aPlatform); }
#define COM_FORWARD_IMachine_GETTER_Platform_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_Platform_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_Platform_TO_BASE(base) COM_FORWARD_IMachine_GETTER_Platform_TO (base::)
#define COM_FORWARD_IMachine_GETTER_FirmwareSettings_TO(smth) HRESULT STDMETHODCALLTYPE get_FirmwareSettings (IFirmwareSettings * * aFirmwareSettings) { return smth get_FirmwareSettings (aFirmwareSettings); }
#define COM_FORWARD_IMachine_GETTER_FirmwareSettings_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_FirmwareSettings_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_FirmwareSettings_TO_BASE(base) COM_FORWARD_IMachine_GETTER_FirmwareSettings_TO (base::)
#define COM_FORWARD_IMachine_GETTER_TrustedPlatformModule_TO(smth) HRESULT STDMETHODCALLTYPE get_TrustedPlatformModule (ITrustedPlatformModule * * aTrustedPlatformModule) { return smth get_TrustedPlatformModule (aTrustedPlatformModule); }
#define COM_FORWARD_IMachine_GETTER_TrustedPlatformModule_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TrustedPlatformModule_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_TrustedPlatformModule_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TrustedPlatformModule_TO (base::)
#define COM_FORWARD_IMachine_GETTER_NonVolatileStore_TO(smth) HRESULT STDMETHODCALLTYPE get_NonVolatileStore (INvramStore * * aNonVolatileStore) { return smth get_NonVolatileStore (aNonVolatileStore); }
#define COM_FORWARD_IMachine_GETTER_NonVolatileStore_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_NonVolatileStore_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_NonVolatileStore_TO_BASE(base) COM_FORWARD_IMachine_GETTER_NonVolatileStore_TO (base::)
#define COM_FORWARD_IMachine_GETTER_RecordingSettings_TO(smth) HRESULT STDMETHODCALLTYPE get_RecordingSettings (IRecordingSettings * * aRecordingSettings) { return smth get_RecordingSettings (aRecordingSettings); }
#define COM_FORWARD_IMachine_GETTER_RecordingSettings_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_RecordingSettings_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_RecordingSettings_TO_BASE(base) COM_FORWARD_IMachine_GETTER_RecordingSettings_TO (base::)
#define COM_FORWARD_IMachine_GETTER_PointingHIDType_TO(smth) HRESULT STDMETHODCALLTYPE get_PointingHIDType (PointingHIDType * aPointingHIDType) { return smth get_PointingHIDType (aPointingHIDType); }
#define COM_FORWARD_IMachine_GETTER_PointingHIDType_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_PointingHIDType_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_PointingHIDType_TO_BASE(base) COM_FORWARD_IMachine_GETTER_PointingHIDType_TO (base::)
#define COM_FORWARD_IMachine_SETTER_PointingHIDType_TO(smth) HRESULT STDMETHODCALLTYPE put_PointingHIDType (PointingHIDType aPointingHIDType) { return smth put_PointingHIDType (aPointingHIDType); }
#define COM_FORWARD_IMachine_SETTER_PointingHIDType_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_PointingHIDType_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_PointingHIDType_TO_BASE(base) COM_FORWARD_IMachine_SETTER_PointingHIDType_TO (base::)
#define COM_FORWARD_IMachine_GETTER_KeyboardHIDType_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyboardHIDType (KeyboardHIDType * aKeyboardHIDType) { return smth get_KeyboardHIDType (aKeyboardHIDType); }
#define COM_FORWARD_IMachine_GETTER_KeyboardHIDType_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_KeyboardHIDType_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_KeyboardHIDType_TO_BASE(base) COM_FORWARD_IMachine_GETTER_KeyboardHIDType_TO (base::)
#define COM_FORWARD_IMachine_SETTER_KeyboardHIDType_TO(smth) HRESULT STDMETHODCALLTYPE put_KeyboardHIDType (KeyboardHIDType aKeyboardHIDType) { return smth put_KeyboardHIDType (aKeyboardHIDType); }
#define COM_FORWARD_IMachine_SETTER_KeyboardHIDType_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_KeyboardHIDType_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_KeyboardHIDType_TO_BASE(base) COM_FORWARD_IMachine_SETTER_KeyboardHIDType_TO (base::)
#define COM_FORWARD_IMachine_GETTER_SnapshotFolder_TO(smth) HRESULT STDMETHODCALLTYPE get_SnapshotFolder (BSTR * aSnapshotFolder) { return smth get_SnapshotFolder (aSnapshotFolder); }
#define COM_FORWARD_IMachine_GETTER_SnapshotFolder_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SnapshotFolder_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_SnapshotFolder_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SnapshotFolder_TO (base::)
#define COM_FORWARD_IMachine_SETTER_SnapshotFolder_TO(smth) HRESULT STDMETHODCALLTYPE put_SnapshotFolder (BSTR aSnapshotFolder) { return smth put_SnapshotFolder (aSnapshotFolder); }
#define COM_FORWARD_IMachine_SETTER_SnapshotFolder_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_SnapshotFolder_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_SnapshotFolder_TO_BASE(base) COM_FORWARD_IMachine_SETTER_SnapshotFolder_TO (base::)
#define COM_FORWARD_IMachine_GETTER_VRDEServer_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEServer (IVRDEServer * * aVRDEServer) { return smth get_VRDEServer (aVRDEServer); }
#define COM_FORWARD_IMachine_GETTER_VRDEServer_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_VRDEServer_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_VRDEServer_TO_BASE(base) COM_FORWARD_IMachine_GETTER_VRDEServer_TO (base::)
#define COM_FORWARD_IMachine_GETTER_EmulatedUSBCardReaderEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_EmulatedUSBCardReaderEnabled (BOOL * aEmulatedUSBCardReaderEnabled) { return smth get_EmulatedUSBCardReaderEnabled (aEmulatedUSBCardReaderEnabled); }
#define COM_FORWARD_IMachine_GETTER_EmulatedUSBCardReaderEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_EmulatedUSBCardReaderEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_EmulatedUSBCardReaderEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_EmulatedUSBCardReaderEnabled_TO (base::)
#define COM_FORWARD_IMachine_SETTER_EmulatedUSBCardReaderEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_EmulatedUSBCardReaderEnabled (BOOL aEmulatedUSBCardReaderEnabled) { return smth put_EmulatedUSBCardReaderEnabled (aEmulatedUSBCardReaderEnabled); }
#define COM_FORWARD_IMachine_SETTER_EmulatedUSBCardReaderEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_EmulatedUSBCardReaderEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_EmulatedUSBCardReaderEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_EmulatedUSBCardReaderEnabled_TO (base::)
#define COM_FORWARD_IMachine_GETTER_MediumAttachments_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumAttachments (SAFEARRAY * * aMediumAttachments) { return smth get_MediumAttachments (aMediumAttachments); }
#define COM_FORWARD_IMachine_GETTER_MediumAttachments_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_MediumAttachments_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_MediumAttachments_TO_BASE(base) COM_FORWARD_IMachine_GETTER_MediumAttachments_TO (base::)
#define COM_FORWARD_IMachine_GETTER_USBControllers_TO(smth) HRESULT STDMETHODCALLTYPE get_USBControllers (SAFEARRAY * * aUSBControllers) { return smth get_USBControllers (aUSBControllers); }
#define COM_FORWARD_IMachine_GETTER_USBControllers_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_USBControllers_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_USBControllers_TO_BASE(base) COM_FORWARD_IMachine_GETTER_USBControllers_TO (base::)
#define COM_FORWARD_IMachine_GETTER_USBDeviceFilters_TO(smth) HRESULT STDMETHODCALLTYPE get_USBDeviceFilters (IUSBDeviceFilters * * aUSBDeviceFilters) { return smth get_USBDeviceFilters (aUSBDeviceFilters); }
#define COM_FORWARD_IMachine_GETTER_USBDeviceFilters_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_USBDeviceFilters_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_USBDeviceFilters_TO_BASE(base) COM_FORWARD_IMachine_GETTER_USBDeviceFilters_TO (base::)
#define COM_FORWARD_IMachine_GETTER_AudioSettings_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioSettings (IAudioSettings * * aAudioSettings) { return smth get_AudioSettings (aAudioSettings); }
#define COM_FORWARD_IMachine_GETTER_AudioSettings_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AudioSettings_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_AudioSettings_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AudioSettings_TO (base::)
#define COM_FORWARD_IMachine_GETTER_StorageControllers_TO(smth) HRESULT STDMETHODCALLTYPE get_StorageControllers (SAFEARRAY * * aStorageControllers) { return smth get_StorageControllers (aStorageControllers); }
#define COM_FORWARD_IMachine_GETTER_StorageControllers_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_StorageControllers_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_StorageControllers_TO_BASE(base) COM_FORWARD_IMachine_GETTER_StorageControllers_TO (base::)
#define COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO(smth) HRESULT STDMETHODCALLTYPE get_SettingsFilePath (BSTR * aSettingsFilePath) { return smth get_SettingsFilePath (aSettingsFilePath); }
#define COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO (base::)
#define COM_FORWARD_IMachine_GETTER_SettingsAuxFilePath_TO(smth) HRESULT STDMETHODCALLTYPE get_SettingsAuxFilePath (BSTR * aSettingsAuxFilePath) { return smth get_SettingsAuxFilePath (aSettingsAuxFilePath); }
#define COM_FORWARD_IMachine_GETTER_SettingsAuxFilePath_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SettingsAuxFilePath_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_SettingsAuxFilePath_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SettingsAuxFilePath_TO (base::)
#define COM_FORWARD_IMachine_GETTER_SettingsModified_TO(smth) HRESULT STDMETHODCALLTYPE get_SettingsModified (BOOL * aSettingsModified) { return smth get_SettingsModified (aSettingsModified); }
#define COM_FORWARD_IMachine_GETTER_SettingsModified_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SettingsModified_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_SettingsModified_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SettingsModified_TO (base::)
#define COM_FORWARD_IMachine_GETTER_SessionState_TO(smth) HRESULT STDMETHODCALLTYPE get_SessionState (SessionState * aSessionState) { return smth get_SessionState (aSessionState); }
#define COM_FORWARD_IMachine_GETTER_SessionState_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SessionState_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_SessionState_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SessionState_TO (base::)
#define COM_FORWARD_IMachine_GETTER_SessionName_TO(smth) HRESULT STDMETHODCALLTYPE get_SessionName (BSTR * aSessionName) { return smth get_SessionName (aSessionName); }
#define COM_FORWARD_IMachine_GETTER_SessionName_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SessionName_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_SessionName_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SessionName_TO (base::)
#define COM_FORWARD_IMachine_GETTER_SessionPID_TO(smth) HRESULT STDMETHODCALLTYPE get_SessionPID (ULONG * aSessionPID) { return smth get_SessionPID (aSessionPID); }
#define COM_FORWARD_IMachine_GETTER_SessionPID_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SessionPID_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_SessionPID_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SessionPID_TO (base::)
#define COM_FORWARD_IMachine_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (MachineState * aState) { return smth get_State (aState); }
#define COM_FORWARD_IMachine_GETTER_State_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_State_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_State_TO_BASE(base) COM_FORWARD_IMachine_GETTER_State_TO (base::)
#define COM_FORWARD_IMachine_GETTER_LastStateChange_TO(smth) HRESULT STDMETHODCALLTYPE get_LastStateChange (LONG64 * aLastStateChange) { return smth get_LastStateChange (aLastStateChange); }
#define COM_FORWARD_IMachine_GETTER_LastStateChange_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_LastStateChange_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_LastStateChange_TO_BASE(base) COM_FORWARD_IMachine_GETTER_LastStateChange_TO (base::)
#define COM_FORWARD_IMachine_GETTER_StateFilePath_TO(smth) HRESULT STDMETHODCALLTYPE get_StateFilePath (BSTR * aStateFilePath) { return smth get_StateFilePath (aStateFilePath); }
#define COM_FORWARD_IMachine_GETTER_StateFilePath_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_StateFilePath_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_StateFilePath_TO_BASE(base) COM_FORWARD_IMachine_GETTER_StateFilePath_TO (base::)
#define COM_FORWARD_IMachine_GETTER_LogFolder_TO(smth) HRESULT STDMETHODCALLTYPE get_LogFolder (BSTR * aLogFolder) { return smth get_LogFolder (aLogFolder); }
#define COM_FORWARD_IMachine_GETTER_LogFolder_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_LogFolder_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_LogFolder_TO_BASE(base) COM_FORWARD_IMachine_GETTER_LogFolder_TO (base::)
#define COM_FORWARD_IMachine_GETTER_CurrentSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE get_CurrentSnapshot (ISnapshot * * aCurrentSnapshot) { return smth get_CurrentSnapshot (aCurrentSnapshot); }
#define COM_FORWARD_IMachine_GETTER_CurrentSnapshot_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CurrentSnapshot_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_CurrentSnapshot_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CurrentSnapshot_TO (base::)
#define COM_FORWARD_IMachine_GETTER_SnapshotCount_TO(smth) HRESULT STDMETHODCALLTYPE get_SnapshotCount (ULONG * aSnapshotCount) { return smth get_SnapshotCount (aSnapshotCount); }
#define COM_FORWARD_IMachine_GETTER_SnapshotCount_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SnapshotCount_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_SnapshotCount_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SnapshotCount_TO (base::)
#define COM_FORWARD_IMachine_GETTER_CurrentStateModified_TO(smth) HRESULT STDMETHODCALLTYPE get_CurrentStateModified (BOOL * aCurrentStateModified) { return smth get_CurrentStateModified (aCurrentStateModified); }
#define COM_FORWARD_IMachine_GETTER_CurrentStateModified_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CurrentStateModified_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_CurrentStateModified_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CurrentStateModified_TO (base::)
#define COM_FORWARD_IMachine_GETTER_SharedFolders_TO(smth) HRESULT STDMETHODCALLTYPE get_SharedFolders (SAFEARRAY * * aSharedFolders) { return smth get_SharedFolders (aSharedFolders); }
#define COM_FORWARD_IMachine_GETTER_SharedFolders_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_SharedFolders_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_SharedFolders_TO_BASE(base) COM_FORWARD_IMachine_GETTER_SharedFolders_TO (base::)
#define COM_FORWARD_IMachine_GETTER_ClipboardMode_TO(smth) HRESULT STDMETHODCALLTYPE get_ClipboardMode (ClipboardMode * aClipboardMode) { return smth get_ClipboardMode (aClipboardMode); }
#define COM_FORWARD_IMachine_GETTER_ClipboardMode_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_ClipboardMode_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_ClipboardMode_TO_BASE(base) COM_FORWARD_IMachine_GETTER_ClipboardMode_TO (base::)
#define COM_FORWARD_IMachine_SETTER_ClipboardMode_TO(smth) HRESULT STDMETHODCALLTYPE put_ClipboardMode (ClipboardMode aClipboardMode) { return smth put_ClipboardMode (aClipboardMode); }
#define COM_FORWARD_IMachine_SETTER_ClipboardMode_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_ClipboardMode_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_ClipboardMode_TO_BASE(base) COM_FORWARD_IMachine_SETTER_ClipboardMode_TO (base::)
#define COM_FORWARD_IMachine_GETTER_ClipboardFileTransfersEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_ClipboardFileTransfersEnabled (BOOL * aClipboardFileTransfersEnabled) { return smth get_ClipboardFileTransfersEnabled (aClipboardFileTransfersEnabled); }
#define COM_FORWARD_IMachine_GETTER_ClipboardFileTransfersEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_ClipboardFileTransfersEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_ClipboardFileTransfersEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_ClipboardFileTransfersEnabled_TO (base::)
#define COM_FORWARD_IMachine_SETTER_ClipboardFileTransfersEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_ClipboardFileTransfersEnabled (BOOL aClipboardFileTransfersEnabled) { return smth put_ClipboardFileTransfersEnabled (aClipboardFileTransfersEnabled); }
#define COM_FORWARD_IMachine_SETTER_ClipboardFileTransfersEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_ClipboardFileTransfersEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_ClipboardFileTransfersEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_ClipboardFileTransfersEnabled_TO (base::)
#define COM_FORWARD_IMachine_GETTER_DnDMode_TO(smth) HRESULT STDMETHODCALLTYPE get_DnDMode (DnDMode * aDnDMode) { return smth get_DnDMode (aDnDMode); }
#define COM_FORWARD_IMachine_GETTER_DnDMode_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_DnDMode_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_DnDMode_TO_BASE(base) COM_FORWARD_IMachine_GETTER_DnDMode_TO (base::)
#define COM_FORWARD_IMachine_SETTER_DnDMode_TO(smth) HRESULT STDMETHODCALLTYPE put_DnDMode (DnDMode aDnDMode) { return smth put_DnDMode (aDnDMode); }
#define COM_FORWARD_IMachine_SETTER_DnDMode_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_DnDMode_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_DnDMode_TO_BASE(base) COM_FORWARD_IMachine_SETTER_DnDMode_TO (base::)
#define COM_FORWARD_IMachine_GETTER_TeleporterEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_TeleporterEnabled (BOOL * aTeleporterEnabled) { return smth get_TeleporterEnabled (aTeleporterEnabled); }
#define COM_FORWARD_IMachine_GETTER_TeleporterEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TeleporterEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_TeleporterEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TeleporterEnabled_TO (base::)
#define COM_FORWARD_IMachine_SETTER_TeleporterEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_TeleporterEnabled (BOOL aTeleporterEnabled) { return smth put_TeleporterEnabled (aTeleporterEnabled); }
#define COM_FORWARD_IMachine_SETTER_TeleporterEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TeleporterEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_TeleporterEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TeleporterEnabled_TO (base::)
#define COM_FORWARD_IMachine_GETTER_TeleporterPort_TO(smth) HRESULT STDMETHODCALLTYPE get_TeleporterPort (ULONG * aTeleporterPort) { return smth get_TeleporterPort (aTeleporterPort); }
#define COM_FORWARD_IMachine_GETTER_TeleporterPort_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TeleporterPort_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_TeleporterPort_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TeleporterPort_TO (base::)
#define COM_FORWARD_IMachine_SETTER_TeleporterPort_TO(smth) HRESULT STDMETHODCALLTYPE put_TeleporterPort (ULONG aTeleporterPort) { return smth put_TeleporterPort (aTeleporterPort); }
#define COM_FORWARD_IMachine_SETTER_TeleporterPort_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TeleporterPort_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_TeleporterPort_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TeleporterPort_TO (base::)
#define COM_FORWARD_IMachine_GETTER_TeleporterAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_TeleporterAddress (BSTR * aTeleporterAddress) { return smth get_TeleporterAddress (aTeleporterAddress); }
#define COM_FORWARD_IMachine_GETTER_TeleporterAddress_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TeleporterAddress_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_TeleporterAddress_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TeleporterAddress_TO (base::)
#define COM_FORWARD_IMachine_SETTER_TeleporterAddress_TO(smth) HRESULT STDMETHODCALLTYPE put_TeleporterAddress (BSTR aTeleporterAddress) { return smth put_TeleporterAddress (aTeleporterAddress); }
#define COM_FORWARD_IMachine_SETTER_TeleporterAddress_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TeleporterAddress_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_TeleporterAddress_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TeleporterAddress_TO (base::)
#define COM_FORWARD_IMachine_GETTER_TeleporterPassword_TO(smth) HRESULT STDMETHODCALLTYPE get_TeleporterPassword (BSTR * aTeleporterPassword) { return smth get_TeleporterPassword (aTeleporterPassword); }
#define COM_FORWARD_IMachine_GETTER_TeleporterPassword_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TeleporterPassword_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_TeleporterPassword_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TeleporterPassword_TO (base::)
#define COM_FORWARD_IMachine_SETTER_TeleporterPassword_TO(smth) HRESULT STDMETHODCALLTYPE put_TeleporterPassword (BSTR aTeleporterPassword) { return smth put_TeleporterPassword (aTeleporterPassword); }
#define COM_FORWARD_IMachine_SETTER_TeleporterPassword_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TeleporterPassword_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_TeleporterPassword_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TeleporterPassword_TO (base::)
#define COM_FORWARD_IMachine_GETTER_ParavirtProvider_TO(smth) HRESULT STDMETHODCALLTYPE get_ParavirtProvider (ParavirtProvider * aParavirtProvider) { return smth get_ParavirtProvider (aParavirtProvider); }
#define COM_FORWARD_IMachine_GETTER_ParavirtProvider_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_ParavirtProvider_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_ParavirtProvider_TO_BASE(base) COM_FORWARD_IMachine_GETTER_ParavirtProvider_TO (base::)
#define COM_FORWARD_IMachine_SETTER_ParavirtProvider_TO(smth) HRESULT STDMETHODCALLTYPE put_ParavirtProvider (ParavirtProvider aParavirtProvider) { return smth put_ParavirtProvider (aParavirtProvider); }
#define COM_FORWARD_IMachine_SETTER_ParavirtProvider_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_ParavirtProvider_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_ParavirtProvider_TO_BASE(base) COM_FORWARD_IMachine_SETTER_ParavirtProvider_TO (base::)
#define COM_FORWARD_IMachine_GETTER_IOCacheEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_IOCacheEnabled (BOOL * aIOCacheEnabled) { return smth get_IOCacheEnabled (aIOCacheEnabled); }
#define COM_FORWARD_IMachine_GETTER_IOCacheEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_IOCacheEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_IOCacheEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_IOCacheEnabled_TO (base::)
#define COM_FORWARD_IMachine_SETTER_IOCacheEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_IOCacheEnabled (BOOL aIOCacheEnabled) { return smth put_IOCacheEnabled (aIOCacheEnabled); }
#define COM_FORWARD_IMachine_SETTER_IOCacheEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_IOCacheEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_IOCacheEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_IOCacheEnabled_TO (base::)
#define COM_FORWARD_IMachine_GETTER_IOCacheSize_TO(smth) HRESULT STDMETHODCALLTYPE get_IOCacheSize (ULONG * aIOCacheSize) { return smth get_IOCacheSize (aIOCacheSize); }
#define COM_FORWARD_IMachine_GETTER_IOCacheSize_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_IOCacheSize_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_IOCacheSize_TO_BASE(base) COM_FORWARD_IMachine_GETTER_IOCacheSize_TO (base::)
#define COM_FORWARD_IMachine_SETTER_IOCacheSize_TO(smth) HRESULT STDMETHODCALLTYPE put_IOCacheSize (ULONG aIOCacheSize) { return smth put_IOCacheSize (aIOCacheSize); }
#define COM_FORWARD_IMachine_SETTER_IOCacheSize_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_IOCacheSize_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_IOCacheSize_TO_BASE(base) COM_FORWARD_IMachine_SETTER_IOCacheSize_TO (base::)
#define COM_FORWARD_IMachine_GETTER_PCIDeviceAssignments_TO(smth) HRESULT STDMETHODCALLTYPE get_PCIDeviceAssignments (SAFEARRAY * * aPCIDeviceAssignments) { return smth get_PCIDeviceAssignments (aPCIDeviceAssignments); }
#define COM_FORWARD_IMachine_GETTER_PCIDeviceAssignments_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_PCIDeviceAssignments_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_PCIDeviceAssignments_TO_BASE(base) COM_FORWARD_IMachine_GETTER_PCIDeviceAssignments_TO (base::)
#define COM_FORWARD_IMachine_GETTER_BandwidthControl_TO(smth) HRESULT STDMETHODCALLTYPE get_BandwidthControl (IBandwidthControl * * aBandwidthControl) { return smth get_BandwidthControl (aBandwidthControl); }
#define COM_FORWARD_IMachine_GETTER_BandwidthControl_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_BandwidthControl_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_BandwidthControl_TO_BASE(base) COM_FORWARD_IMachine_GETTER_BandwidthControl_TO (base::)
#define COM_FORWARD_IMachine_GETTER_TracingEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_TracingEnabled (BOOL * aTracingEnabled) { return smth get_TracingEnabled (aTracingEnabled); }
#define COM_FORWARD_IMachine_GETTER_TracingEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TracingEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_TracingEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TracingEnabled_TO (base::)
#define COM_FORWARD_IMachine_SETTER_TracingEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_TracingEnabled (BOOL aTracingEnabled) { return smth put_TracingEnabled (aTracingEnabled); }
#define COM_FORWARD_IMachine_SETTER_TracingEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TracingEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_TracingEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TracingEnabled_TO (base::)
#define COM_FORWARD_IMachine_GETTER_TracingConfig_TO(smth) HRESULT STDMETHODCALLTYPE get_TracingConfig (BSTR * aTracingConfig) { return smth get_TracingConfig (aTracingConfig); }
#define COM_FORWARD_IMachine_GETTER_TracingConfig_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_TracingConfig_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_TracingConfig_TO_BASE(base) COM_FORWARD_IMachine_GETTER_TracingConfig_TO (base::)
#define COM_FORWARD_IMachine_SETTER_TracingConfig_TO(smth) HRESULT STDMETHODCALLTYPE put_TracingConfig (BSTR aTracingConfig) { return smth put_TracingConfig (aTracingConfig); }
#define COM_FORWARD_IMachine_SETTER_TracingConfig_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_TracingConfig_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_TracingConfig_TO_BASE(base) COM_FORWARD_IMachine_SETTER_TracingConfig_TO (base::)
#define COM_FORWARD_IMachine_GETTER_AllowTracingToAccessVM_TO(smth) HRESULT STDMETHODCALLTYPE get_AllowTracingToAccessVM (BOOL * aAllowTracingToAccessVM) { return smth get_AllowTracingToAccessVM (aAllowTracingToAccessVM); }
#define COM_FORWARD_IMachine_GETTER_AllowTracingToAccessVM_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AllowTracingToAccessVM_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_AllowTracingToAccessVM_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AllowTracingToAccessVM_TO (base::)
#define COM_FORWARD_IMachine_SETTER_AllowTracingToAccessVM_TO(smth) HRESULT STDMETHODCALLTYPE put_AllowTracingToAccessVM (BOOL aAllowTracingToAccessVM) { return smth put_AllowTracingToAccessVM (aAllowTracingToAccessVM); }
#define COM_FORWARD_IMachine_SETTER_AllowTracingToAccessVM_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_AllowTracingToAccessVM_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_AllowTracingToAccessVM_TO_BASE(base) COM_FORWARD_IMachine_SETTER_AllowTracingToAccessVM_TO (base::)
#define COM_FORWARD_IMachine_GETTER_AutostartEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_AutostartEnabled (BOOL * aAutostartEnabled) { return smth get_AutostartEnabled (aAutostartEnabled); }
#define COM_FORWARD_IMachine_GETTER_AutostartEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AutostartEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_AutostartEnabled_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AutostartEnabled_TO (base::)
#define COM_FORWARD_IMachine_SETTER_AutostartEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_AutostartEnabled (BOOL aAutostartEnabled) { return smth put_AutostartEnabled (aAutostartEnabled); }
#define COM_FORWARD_IMachine_SETTER_AutostartEnabled_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_AutostartEnabled_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_AutostartEnabled_TO_BASE(base) COM_FORWARD_IMachine_SETTER_AutostartEnabled_TO (base::)
#define COM_FORWARD_IMachine_GETTER_AutostartDelay_TO(smth) HRESULT STDMETHODCALLTYPE get_AutostartDelay (ULONG * aAutostartDelay) { return smth get_AutostartDelay (aAutostartDelay); }
#define COM_FORWARD_IMachine_GETTER_AutostartDelay_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AutostartDelay_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_AutostartDelay_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AutostartDelay_TO (base::)
#define COM_FORWARD_IMachine_SETTER_AutostartDelay_TO(smth) HRESULT STDMETHODCALLTYPE put_AutostartDelay (ULONG aAutostartDelay) { return smth put_AutostartDelay (aAutostartDelay); }
#define COM_FORWARD_IMachine_SETTER_AutostartDelay_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_AutostartDelay_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_AutostartDelay_TO_BASE(base) COM_FORWARD_IMachine_SETTER_AutostartDelay_TO (base::)
#define COM_FORWARD_IMachine_GETTER_AutostopType_TO(smth) HRESULT STDMETHODCALLTYPE get_AutostopType (AutostopType * aAutostopType) { return smth get_AutostopType (aAutostopType); }
#define COM_FORWARD_IMachine_GETTER_AutostopType_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_AutostopType_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_AutostopType_TO_BASE(base) COM_FORWARD_IMachine_GETTER_AutostopType_TO (base::)
#define COM_FORWARD_IMachine_SETTER_AutostopType_TO(smth) HRESULT STDMETHODCALLTYPE put_AutostopType (AutostopType aAutostopType) { return smth put_AutostopType (aAutostopType); }
#define COM_FORWARD_IMachine_SETTER_AutostopType_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_AutostopType_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_AutostopType_TO_BASE(base) COM_FORWARD_IMachine_SETTER_AutostopType_TO (base::)
#define COM_FORWARD_IMachine_GETTER_DefaultFrontend_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultFrontend (BSTR * aDefaultFrontend) { return smth get_DefaultFrontend (aDefaultFrontend); }
#define COM_FORWARD_IMachine_GETTER_DefaultFrontend_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_DefaultFrontend_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_DefaultFrontend_TO_BASE(base) COM_FORWARD_IMachine_GETTER_DefaultFrontend_TO (base::)
#define COM_FORWARD_IMachine_SETTER_DefaultFrontend_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultFrontend (BSTR aDefaultFrontend) { return smth put_DefaultFrontend (aDefaultFrontend); }
#define COM_FORWARD_IMachine_SETTER_DefaultFrontend_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_DefaultFrontend_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_DefaultFrontend_TO_BASE(base) COM_FORWARD_IMachine_SETTER_DefaultFrontend_TO (base::)
#define COM_FORWARD_IMachine_GETTER_USBProxyAvailable_TO(smth) HRESULT STDMETHODCALLTYPE get_USBProxyAvailable (BOOL * aUSBProxyAvailable) { return smth get_USBProxyAvailable (aUSBProxyAvailable); }
#define COM_FORWARD_IMachine_GETTER_USBProxyAvailable_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_USBProxyAvailable_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_USBProxyAvailable_TO_BASE(base) COM_FORWARD_IMachine_GETTER_USBProxyAvailable_TO (base::)
#define COM_FORWARD_IMachine_GETTER_VMProcessPriority_TO(smth) HRESULT STDMETHODCALLTYPE get_VMProcessPriority (VMProcPriority * aVMProcessPriority) { return smth get_VMProcessPriority (aVMProcessPriority); }
#define COM_FORWARD_IMachine_GETTER_VMProcessPriority_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_VMProcessPriority_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_VMProcessPriority_TO_BASE(base) COM_FORWARD_IMachine_GETTER_VMProcessPriority_TO (base::)
#define COM_FORWARD_IMachine_SETTER_VMProcessPriority_TO(smth) HRESULT STDMETHODCALLTYPE put_VMProcessPriority (VMProcPriority aVMProcessPriority) { return smth put_VMProcessPriority (aVMProcessPriority); }
#define COM_FORWARD_IMachine_SETTER_VMProcessPriority_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_VMProcessPriority_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_VMProcessPriority_TO_BASE(base) COM_FORWARD_IMachine_SETTER_VMProcessPriority_TO (base::)
#define COM_FORWARD_IMachine_GETTER_VMExecutionEngine_TO(smth) HRESULT STDMETHODCALLTYPE get_VMExecutionEngine (VMExecutionEngine * aVMExecutionEngine) { return smth get_VMExecutionEngine (aVMExecutionEngine); }
#define COM_FORWARD_IMachine_GETTER_VMExecutionEngine_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_VMExecutionEngine_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_VMExecutionEngine_TO_BASE(base) COM_FORWARD_IMachine_GETTER_VMExecutionEngine_TO (base::)
#define COM_FORWARD_IMachine_SETTER_VMExecutionEngine_TO(smth) HRESULT STDMETHODCALLTYPE put_VMExecutionEngine (VMExecutionEngine aVMExecutionEngine) { return smth put_VMExecutionEngine (aVMExecutionEngine); }
#define COM_FORWARD_IMachine_SETTER_VMExecutionEngine_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_VMExecutionEngine_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_VMExecutionEngine_TO_BASE(base) COM_FORWARD_IMachine_SETTER_VMExecutionEngine_TO (base::)
#define COM_FORWARD_IMachine_GETTER_ParavirtDebug_TO(smth) HRESULT STDMETHODCALLTYPE get_ParavirtDebug (BSTR * aParavirtDebug) { return smth get_ParavirtDebug (aParavirtDebug); }
#define COM_FORWARD_IMachine_GETTER_ParavirtDebug_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_ParavirtDebug_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_ParavirtDebug_TO_BASE(base) COM_FORWARD_IMachine_GETTER_ParavirtDebug_TO (base::)
#define COM_FORWARD_IMachine_SETTER_ParavirtDebug_TO(smth) HRESULT STDMETHODCALLTYPE put_ParavirtDebug (BSTR aParavirtDebug) { return smth put_ParavirtDebug (aParavirtDebug); }
#define COM_FORWARD_IMachine_SETTER_ParavirtDebug_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_ParavirtDebug_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_ParavirtDebug_TO_BASE(base) COM_FORWARD_IMachine_SETTER_ParavirtDebug_TO (base::)
#define COM_FORWARD_IMachine_GETTER_CPUProfile_TO(smth) HRESULT STDMETHODCALLTYPE get_CPUProfile (BSTR * aCPUProfile) { return smth get_CPUProfile (aCPUProfile); }
#define COM_FORWARD_IMachine_GETTER_CPUProfile_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_CPUProfile_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_CPUProfile_TO_BASE(base) COM_FORWARD_IMachine_GETTER_CPUProfile_TO (base::)
#define COM_FORWARD_IMachine_SETTER_CPUProfile_TO(smth) HRESULT STDMETHODCALLTYPE put_CPUProfile (BSTR aCPUProfile) { return smth put_CPUProfile (aCPUProfile); }
#define COM_FORWARD_IMachine_SETTER_CPUProfile_TO_OBJ(obj) COM_FORWARD_IMachine_SETTER_CPUProfile_TO ((obj)->)
#define COM_FORWARD_IMachine_SETTER_CPUProfile_TO_BASE(base) COM_FORWARD_IMachine_SETTER_CPUProfile_TO (base::)
#define COM_FORWARD_IMachine_GETTER_StateKeyId_TO(smth) HRESULT STDMETHODCALLTYPE get_StateKeyId (BSTR * aStateKeyId) { return smth get_StateKeyId (aStateKeyId); }
#define COM_FORWARD_IMachine_GETTER_StateKeyId_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_StateKeyId_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_StateKeyId_TO_BASE(base) COM_FORWARD_IMachine_GETTER_StateKeyId_TO (base::)
#define COM_FORWARD_IMachine_GETTER_StateKeyStore_TO(smth) HRESULT STDMETHODCALLTYPE get_StateKeyStore (BSTR * aStateKeyStore) { return smth get_StateKeyStore (aStateKeyStore); }
#define COM_FORWARD_IMachine_GETTER_StateKeyStore_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_StateKeyStore_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_StateKeyStore_TO_BASE(base) COM_FORWARD_IMachine_GETTER_StateKeyStore_TO (base::)
#define COM_FORWARD_IMachine_GETTER_LogKeyId_TO(smth) HRESULT STDMETHODCALLTYPE get_LogKeyId (BSTR * aLogKeyId) { return smth get_LogKeyId (aLogKeyId); }
#define COM_FORWARD_IMachine_GETTER_LogKeyId_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_LogKeyId_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_LogKeyId_TO_BASE(base) COM_FORWARD_IMachine_GETTER_LogKeyId_TO (base::)
#define COM_FORWARD_IMachine_GETTER_LogKeyStore_TO(smth) HRESULT STDMETHODCALLTYPE get_LogKeyStore (BSTR * aLogKeyStore) { return smth get_LogKeyStore (aLogKeyStore); }
#define COM_FORWARD_IMachine_GETTER_LogKeyStore_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_LogKeyStore_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_LogKeyStore_TO_BASE(base) COM_FORWARD_IMachine_GETTER_LogKeyStore_TO (base::)
#define COM_FORWARD_IMachine_GETTER_GuestDebugControl_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestDebugControl (IGuestDebugControl * * aGuestDebugControl) { return smth get_GuestDebugControl (aGuestDebugControl); }
#define COM_FORWARD_IMachine_GETTER_GuestDebugControl_TO_OBJ(obj) COM_FORWARD_IMachine_GETTER_GuestDebugControl_TO ((obj)->)
#define COM_FORWARD_IMachine_GETTER_GuestDebugControl_TO_BASE(base) COM_FORWARD_IMachine_GETTER_GuestDebugControl_TO (base::)
#define COM_FORWARD_IMachine_LockMachine_TO(smth) HRESULT STDMETHODCALLTYPE LockMachine (ISession * aSession, LockType aLockType) { return smth LockMachine (aSession, aLockType); }
#define COM_FORWARD_IMachine_LockMachine_TO_OBJ(obj) COM_FORWARD_IMachine_LockMachine_TO ((obj)->)
#define COM_FORWARD_IMachine_LockMachine_TO_BASE(base) COM_FORWARD_IMachine_LockMachine_TO (base::)
#define COM_FORWARD_IMachine_LaunchVMProcess_TO(smth) HRESULT STDMETHODCALLTYPE LaunchVMProcess (ISession * aSession, BSTR aName, SAFEARRAY * * aEnvironmentChanges, IProgress * * aProgress) { return smth LaunchVMProcess (aSession, aName, aEnvironmentChanges, aProgress); }
#define COM_FORWARD_IMachine_LaunchVMProcess_TO_OBJ(obj) COM_FORWARD_IMachine_LaunchVMProcess_TO ((obj)->)
#define COM_FORWARD_IMachine_LaunchVMProcess_TO_BASE(base) COM_FORWARD_IMachine_LaunchVMProcess_TO (base::)
#define COM_FORWARD_IMachine_SetBootOrder_TO(smth) HRESULT STDMETHODCALLTYPE SetBootOrder (ULONG aPosition, DeviceType aDevice) { return smth SetBootOrder (aPosition, aDevice); }
#define COM_FORWARD_IMachine_SetBootOrder_TO_OBJ(obj) COM_FORWARD_IMachine_SetBootOrder_TO ((obj)->)
#define COM_FORWARD_IMachine_SetBootOrder_TO_BASE(base) COM_FORWARD_IMachine_SetBootOrder_TO (base::)
#define COM_FORWARD_IMachine_GetBootOrder_TO(smth) HRESULT STDMETHODCALLTYPE GetBootOrder (ULONG aPosition, DeviceType * aDevice) { return smth GetBootOrder (aPosition, aDevice); }
#define COM_FORWARD_IMachine_GetBootOrder_TO_OBJ(obj) COM_FORWARD_IMachine_GetBootOrder_TO ((obj)->)
#define COM_FORWARD_IMachine_GetBootOrder_TO_BASE(base) COM_FORWARD_IMachine_GetBootOrder_TO (base::)
#define COM_FORWARD_IMachine_AttachDevice_TO(smth) HRESULT STDMETHODCALLTYPE AttachDevice (BSTR aName, LONG aControllerPort, LONG aDevice, DeviceType aType, IMedium * aMedium) { return smth AttachDevice (aName, aControllerPort, aDevice, aType, aMedium); }
#define COM_FORWARD_IMachine_AttachDevice_TO_OBJ(obj) COM_FORWARD_IMachine_AttachDevice_TO ((obj)->)
#define COM_FORWARD_IMachine_AttachDevice_TO_BASE(base) COM_FORWARD_IMachine_AttachDevice_TO (base::)
#define COM_FORWARD_IMachine_AttachDeviceWithoutMedium_TO(smth) HRESULT STDMETHODCALLTYPE AttachDeviceWithoutMedium (BSTR aName, LONG aControllerPort, LONG aDevice, DeviceType aType) { return smth AttachDeviceWithoutMedium (aName, aControllerPort, aDevice, aType); }
#define COM_FORWARD_IMachine_AttachDeviceWithoutMedium_TO_OBJ(obj) COM_FORWARD_IMachine_AttachDeviceWithoutMedium_TO ((obj)->)
#define COM_FORWARD_IMachine_AttachDeviceWithoutMedium_TO_BASE(base) COM_FORWARD_IMachine_AttachDeviceWithoutMedium_TO (base::)
#define COM_FORWARD_IMachine_DetachDevice_TO(smth) HRESULT STDMETHODCALLTYPE DetachDevice (BSTR aName, LONG aControllerPort, LONG aDevice) { return smth DetachDevice (aName, aControllerPort, aDevice); }
#define COM_FORWARD_IMachine_DetachDevice_TO_OBJ(obj) COM_FORWARD_IMachine_DetachDevice_TO ((obj)->)
#define COM_FORWARD_IMachine_DetachDevice_TO_BASE(base) COM_FORWARD_IMachine_DetachDevice_TO (base::)
#define COM_FORWARD_IMachine_PassthroughDevice_TO(smth) HRESULT STDMETHODCALLTYPE PassthroughDevice (BSTR aName, LONG aControllerPort, LONG aDevice, BOOL aPassthrough) { return smth PassthroughDevice (aName, aControllerPort, aDevice, aPassthrough); }
#define COM_FORWARD_IMachine_PassthroughDevice_TO_OBJ(obj) COM_FORWARD_IMachine_PassthroughDevice_TO ((obj)->)
#define COM_FORWARD_IMachine_PassthroughDevice_TO_BASE(base) COM_FORWARD_IMachine_PassthroughDevice_TO (base::)
#define COM_FORWARD_IMachine_TemporaryEjectDevice_TO(smth) HRESULT STDMETHODCALLTYPE TemporaryEjectDevice (BSTR aName, LONG aControllerPort, LONG aDevice, BOOL aTemporaryEject) { return smth TemporaryEjectDevice (aName, aControllerPort, aDevice, aTemporaryEject); }
#define COM_FORWARD_IMachine_TemporaryEjectDevice_TO_OBJ(obj) COM_FORWARD_IMachine_TemporaryEjectDevice_TO ((obj)->)
#define COM_FORWARD_IMachine_TemporaryEjectDevice_TO_BASE(base) COM_FORWARD_IMachine_TemporaryEjectDevice_TO (base::)
#define COM_FORWARD_IMachine_NonRotationalDevice_TO(smth) HRESULT STDMETHODCALLTYPE NonRotationalDevice (BSTR aName, LONG aControllerPort, LONG aDevice, BOOL aNonRotational) { return smth NonRotationalDevice (aName, aControllerPort, aDevice, aNonRotational); }
#define COM_FORWARD_IMachine_NonRotationalDevice_TO_OBJ(obj) COM_FORWARD_IMachine_NonRotationalDevice_TO ((obj)->)
#define COM_FORWARD_IMachine_NonRotationalDevice_TO_BASE(base) COM_FORWARD_IMachine_NonRotationalDevice_TO (base::)
#define COM_FORWARD_IMachine_SetAutoDiscardForDevice_TO(smth) HRESULT STDMETHODCALLTYPE SetAutoDiscardForDevice (BSTR aName, LONG aControllerPort, LONG aDevice, BOOL aDiscard) { return smth SetAutoDiscardForDevice (aName, aControllerPort, aDevice, aDiscard); }
#define COM_FORWARD_IMachine_SetAutoDiscardForDevice_TO_OBJ(obj) COM_FORWARD_IMachine_SetAutoDiscardForDevice_TO ((obj)->)
#define COM_FORWARD_IMachine_SetAutoDiscardForDevice_TO_BASE(base) COM_FORWARD_IMachine_SetAutoDiscardForDevice_TO (base::)
#define COM_FORWARD_IMachine_SetHotPluggableForDevice_TO(smth) HRESULT STDMETHODCALLTYPE SetHotPluggableForDevice (BSTR aName, LONG aControllerPort, LONG aDevice, BOOL aHotPluggable) { return smth SetHotPluggableForDevice (aName, aControllerPort, aDevice, aHotPluggable); }
#define COM_FORWARD_IMachine_SetHotPluggableForDevice_TO_OBJ(obj) COM_FORWARD_IMachine_SetHotPluggableForDevice_TO ((obj)->)
#define COM_FORWARD_IMachine_SetHotPluggableForDevice_TO_BASE(base) COM_FORWARD_IMachine_SetHotPluggableForDevice_TO (base::)
#define COM_FORWARD_IMachine_SetBandwidthGroupForDevice_TO(smth) HRESULT STDMETHODCALLTYPE SetBandwidthGroupForDevice (BSTR aName, LONG aControllerPort, LONG aDevice, IBandwidthGroup * aBandwidthGroup) { return smth SetBandwidthGroupForDevice (aName, aControllerPort, aDevice, aBandwidthGroup); }
#define COM_FORWARD_IMachine_SetBandwidthGroupForDevice_TO_OBJ(obj) COM_FORWARD_IMachine_SetBandwidthGroupForDevice_TO ((obj)->)
#define COM_FORWARD_IMachine_SetBandwidthGroupForDevice_TO_BASE(base) COM_FORWARD_IMachine_SetBandwidthGroupForDevice_TO (base::)
#define COM_FORWARD_IMachine_SetNoBandwidthGroupForDevice_TO(smth) HRESULT STDMETHODCALLTYPE SetNoBandwidthGroupForDevice (BSTR aName, LONG aControllerPort, LONG aDevice) { return smth SetNoBandwidthGroupForDevice (aName, aControllerPort, aDevice); }
#define COM_FORWARD_IMachine_SetNoBandwidthGroupForDevice_TO_OBJ(obj) COM_FORWARD_IMachine_SetNoBandwidthGroupForDevice_TO ((obj)->)
#define COM_FORWARD_IMachine_SetNoBandwidthGroupForDevice_TO_BASE(base) COM_FORWARD_IMachine_SetNoBandwidthGroupForDevice_TO (base::)
#define COM_FORWARD_IMachine_UnmountMedium_TO(smth) HRESULT STDMETHODCALLTYPE UnmountMedium (BSTR aName, LONG aControllerPort, LONG aDevice, BOOL aForce) { return smth UnmountMedium (aName, aControllerPort, aDevice, aForce); }
#define COM_FORWARD_IMachine_UnmountMedium_TO_OBJ(obj) COM_FORWARD_IMachine_UnmountMedium_TO ((obj)->)
#define COM_FORWARD_IMachine_UnmountMedium_TO_BASE(base) COM_FORWARD_IMachine_UnmountMedium_TO (base::)
#define COM_FORWARD_IMachine_MountMedium_TO(smth) HRESULT STDMETHODCALLTYPE MountMedium (BSTR aName, LONG aControllerPort, LONG aDevice, IMedium * aMedium, BOOL aForce) { return smth MountMedium (aName, aControllerPort, aDevice, aMedium, aForce); }
#define COM_FORWARD_IMachine_MountMedium_TO_OBJ(obj) COM_FORWARD_IMachine_MountMedium_TO ((obj)->)
#define COM_FORWARD_IMachine_MountMedium_TO_BASE(base) COM_FORWARD_IMachine_MountMedium_TO (base::)
#define COM_FORWARD_IMachine_GetMedium_TO(smth) HRESULT STDMETHODCALLTYPE GetMedium (BSTR aName, LONG aControllerPort, LONG aDevice, IMedium * * aMedium) { return smth GetMedium (aName, aControllerPort, aDevice, aMedium); }
#define COM_FORWARD_IMachine_GetMedium_TO_OBJ(obj) COM_FORWARD_IMachine_GetMedium_TO ((obj)->)
#define COM_FORWARD_IMachine_GetMedium_TO_BASE(base) COM_FORWARD_IMachine_GetMedium_TO (base::)
#define COM_FORWARD_IMachine_GetMediumAttachmentsOfController_TO(smth) HRESULT STDMETHODCALLTYPE GetMediumAttachmentsOfController (BSTR aName, SAFEARRAY * * aMediumAttachments) { return smth GetMediumAttachmentsOfController (aName, aMediumAttachments); }
#define COM_FORWARD_IMachine_GetMediumAttachmentsOfController_TO_OBJ(obj) COM_FORWARD_IMachine_GetMediumAttachmentsOfController_TO ((obj)->)
#define COM_FORWARD_IMachine_GetMediumAttachmentsOfController_TO_BASE(base) COM_FORWARD_IMachine_GetMediumAttachmentsOfController_TO (base::)
#define COM_FORWARD_IMachine_GetMediumAttachment_TO(smth) HRESULT STDMETHODCALLTYPE GetMediumAttachment (BSTR aName, LONG aControllerPort, LONG aDevice, IMediumAttachment * * aAttachment) { return smth GetMediumAttachment (aName, aControllerPort, aDevice, aAttachment); }
#define COM_FORWARD_IMachine_GetMediumAttachment_TO_OBJ(obj) COM_FORWARD_IMachine_GetMediumAttachment_TO ((obj)->)
#define COM_FORWARD_IMachine_GetMediumAttachment_TO_BASE(base) COM_FORWARD_IMachine_GetMediumAttachment_TO (base::)
#define COM_FORWARD_IMachine_AttachHostPCIDevice_TO(smth) HRESULT STDMETHODCALLTYPE AttachHostPCIDevice (LONG aHostAddress, LONG aDesiredGuestAddress, BOOL aTryToUnbind) { return smth AttachHostPCIDevice (aHostAddress, aDesiredGuestAddress, aTryToUnbind); }
#define COM_FORWARD_IMachine_AttachHostPCIDevice_TO_OBJ(obj) COM_FORWARD_IMachine_AttachHostPCIDevice_TO ((obj)->)
#define COM_FORWARD_IMachine_AttachHostPCIDevice_TO_BASE(base) COM_FORWARD_IMachine_AttachHostPCIDevice_TO (base::)
#define COM_FORWARD_IMachine_DetachHostPCIDevice_TO(smth) HRESULT STDMETHODCALLTYPE DetachHostPCIDevice (LONG aHostAddress) { return smth DetachHostPCIDevice (aHostAddress); }
#define COM_FORWARD_IMachine_DetachHostPCIDevice_TO_OBJ(obj) COM_FORWARD_IMachine_DetachHostPCIDevice_TO ((obj)->)
#define COM_FORWARD_IMachine_DetachHostPCIDevice_TO_BASE(base) COM_FORWARD_IMachine_DetachHostPCIDevice_TO (base::)
#define COM_FORWARD_IMachine_GetNetworkAdapter_TO(smth) HRESULT STDMETHODCALLTYPE GetNetworkAdapter (ULONG aSlot, INetworkAdapter * * aAdapter) { return smth GetNetworkAdapter (aSlot, aAdapter); }
#define COM_FORWARD_IMachine_GetNetworkAdapter_TO_OBJ(obj) COM_FORWARD_IMachine_GetNetworkAdapter_TO ((obj)->)
#define COM_FORWARD_IMachine_GetNetworkAdapter_TO_BASE(base) COM_FORWARD_IMachine_GetNetworkAdapter_TO (base::)
#define COM_FORWARD_IMachine_AddStorageController_TO(smth) HRESULT STDMETHODCALLTYPE AddStorageController (BSTR aName, StorageBus aConnectionType, IStorageController * * aController) { return smth AddStorageController (aName, aConnectionType, aController); }
#define COM_FORWARD_IMachine_AddStorageController_TO_OBJ(obj) COM_FORWARD_IMachine_AddStorageController_TO ((obj)->)
#define COM_FORWARD_IMachine_AddStorageController_TO_BASE(base) COM_FORWARD_IMachine_AddStorageController_TO (base::)
#define COM_FORWARD_IMachine_GetStorageControllerByName_TO(smth) HRESULT STDMETHODCALLTYPE GetStorageControllerByName (BSTR aName, IStorageController * * aStorageController) { return smth GetStorageControllerByName (aName, aStorageController); }
#define COM_FORWARD_IMachine_GetStorageControllerByName_TO_OBJ(obj) COM_FORWARD_IMachine_GetStorageControllerByName_TO ((obj)->)
#define COM_FORWARD_IMachine_GetStorageControllerByName_TO_BASE(base) COM_FORWARD_IMachine_GetStorageControllerByName_TO (base::)
#define COM_FORWARD_IMachine_GetStorageControllerByInstance_TO(smth) HRESULT STDMETHODCALLTYPE GetStorageControllerByInstance (StorageBus aConnectionType, ULONG aInstance, IStorageController * * aStorageController) { return smth GetStorageControllerByInstance (aConnectionType, aInstance, aStorageController); }
#define COM_FORWARD_IMachine_GetStorageControllerByInstance_TO_OBJ(obj) COM_FORWARD_IMachine_GetStorageControllerByInstance_TO ((obj)->)
#define COM_FORWARD_IMachine_GetStorageControllerByInstance_TO_BASE(base) COM_FORWARD_IMachine_GetStorageControllerByInstance_TO (base::)
#define COM_FORWARD_IMachine_RemoveStorageController_TO(smth) HRESULT STDMETHODCALLTYPE RemoveStorageController (BSTR aName) { return smth RemoveStorageController (aName); }
#define COM_FORWARD_IMachine_RemoveStorageController_TO_OBJ(obj) COM_FORWARD_IMachine_RemoveStorageController_TO ((obj)->)
#define COM_FORWARD_IMachine_RemoveStorageController_TO_BASE(base) COM_FORWARD_IMachine_RemoveStorageController_TO (base::)
#define COM_FORWARD_IMachine_SetStorageControllerBootable_TO(smth) HRESULT STDMETHODCALLTYPE SetStorageControllerBootable (BSTR aName, BOOL aBootable) { return smth SetStorageControllerBootable (aName, aBootable); }
#define COM_FORWARD_IMachine_SetStorageControllerBootable_TO_OBJ(obj) COM_FORWARD_IMachine_SetStorageControllerBootable_TO ((obj)->)
#define COM_FORWARD_IMachine_SetStorageControllerBootable_TO_BASE(base) COM_FORWARD_IMachine_SetStorageControllerBootable_TO (base::)
#define COM_FORWARD_IMachine_AddUSBController_TO(smth) HRESULT STDMETHODCALLTYPE AddUSBController (BSTR aName, USBControllerType aType, IUSBController * * aController) { return smth AddUSBController (aName, aType, aController); }
#define COM_FORWARD_IMachine_AddUSBController_TO_OBJ(obj) COM_FORWARD_IMachine_AddUSBController_TO ((obj)->)
#define COM_FORWARD_IMachine_AddUSBController_TO_BASE(base) COM_FORWARD_IMachine_AddUSBController_TO (base::)
#define COM_FORWARD_IMachine_RemoveUSBController_TO(smth) HRESULT STDMETHODCALLTYPE RemoveUSBController (BSTR aName) { return smth RemoveUSBController (aName); }
#define COM_FORWARD_IMachine_RemoveUSBController_TO_OBJ(obj) COM_FORWARD_IMachine_RemoveUSBController_TO ((obj)->)
#define COM_FORWARD_IMachine_RemoveUSBController_TO_BASE(base) COM_FORWARD_IMachine_RemoveUSBController_TO (base::)
#define COM_FORWARD_IMachine_GetUSBControllerByName_TO(smth) HRESULT STDMETHODCALLTYPE GetUSBControllerByName (BSTR aName, IUSBController * * aController) { return smth GetUSBControllerByName (aName, aController); }
#define COM_FORWARD_IMachine_GetUSBControllerByName_TO_OBJ(obj) COM_FORWARD_IMachine_GetUSBControllerByName_TO ((obj)->)
#define COM_FORWARD_IMachine_GetUSBControllerByName_TO_BASE(base) COM_FORWARD_IMachine_GetUSBControllerByName_TO (base::)
#define COM_FORWARD_IMachine_GetUSBControllerCountByType_TO(smth) HRESULT STDMETHODCALLTYPE GetUSBControllerCountByType (USBControllerType aType, ULONG * aControllers) { return smth GetUSBControllerCountByType (aType, aControllers); }
#define COM_FORWARD_IMachine_GetUSBControllerCountByType_TO_OBJ(obj) COM_FORWARD_IMachine_GetUSBControllerCountByType_TO ((obj)->)
#define COM_FORWARD_IMachine_GetUSBControllerCountByType_TO_BASE(base) COM_FORWARD_IMachine_GetUSBControllerCountByType_TO (base::)
#define COM_FORWARD_IMachine_GetSerialPort_TO(smth) HRESULT STDMETHODCALLTYPE GetSerialPort (ULONG aSlot, ISerialPort * * aPort) { return smth GetSerialPort (aSlot, aPort); }
#define COM_FORWARD_IMachine_GetSerialPort_TO_OBJ(obj) COM_FORWARD_IMachine_GetSerialPort_TO ((obj)->)
#define COM_FORWARD_IMachine_GetSerialPort_TO_BASE(base) COM_FORWARD_IMachine_GetSerialPort_TO (base::)
#define COM_FORWARD_IMachine_GetParallelPort_TO(smth) HRESULT STDMETHODCALLTYPE GetParallelPort (ULONG aSlot, IParallelPort * * aPort) { return smth GetParallelPort (aSlot, aPort); }
#define COM_FORWARD_IMachine_GetParallelPort_TO_OBJ(obj) COM_FORWARD_IMachine_GetParallelPort_TO ((obj)->)
#define COM_FORWARD_IMachine_GetParallelPort_TO_BASE(base) COM_FORWARD_IMachine_GetParallelPort_TO (base::)
#define COM_FORWARD_IMachine_GetExtraDataKeys_TO(smth) HRESULT STDMETHODCALLTYPE GetExtraDataKeys (SAFEARRAY * * aKeys) { return smth GetExtraDataKeys (aKeys); }
#define COM_FORWARD_IMachine_GetExtraDataKeys_TO_OBJ(obj) COM_FORWARD_IMachine_GetExtraDataKeys_TO ((obj)->)
#define COM_FORWARD_IMachine_GetExtraDataKeys_TO_BASE(base) COM_FORWARD_IMachine_GetExtraDataKeys_TO (base::)
#define COM_FORWARD_IMachine_GetExtraData_TO(smth) HRESULT STDMETHODCALLTYPE GetExtraData (BSTR aKey, BSTR * aValue) { return smth GetExtraData (aKey, aValue); }
#define COM_FORWARD_IMachine_GetExtraData_TO_OBJ(obj) COM_FORWARD_IMachine_GetExtraData_TO ((obj)->)
#define COM_FORWARD_IMachine_GetExtraData_TO_BASE(base) COM_FORWARD_IMachine_GetExtraData_TO (base::)
#define COM_FORWARD_IMachine_SetExtraData_TO(smth) HRESULT STDMETHODCALLTYPE SetExtraData (BSTR aKey, BSTR aValue) { return smth SetExtraData (aKey, aValue); }
#define COM_FORWARD_IMachine_SetExtraData_TO_OBJ(obj) COM_FORWARD_IMachine_SetExtraData_TO ((obj)->)
#define COM_FORWARD_IMachine_SetExtraData_TO_BASE(base) COM_FORWARD_IMachine_SetExtraData_TO (base::)
#define COM_FORWARD_IMachine_SetSettingsFilePath_TO(smth) HRESULT STDMETHODCALLTYPE SetSettingsFilePath (BSTR aSettingsFilePath, IProgress * * aProgress) { return smth SetSettingsFilePath (aSettingsFilePath, aProgress); }
#define COM_FORWARD_IMachine_SetSettingsFilePath_TO_OBJ(obj) COM_FORWARD_IMachine_SetSettingsFilePath_TO ((obj)->)
#define COM_FORWARD_IMachine_SetSettingsFilePath_TO_BASE(base) COM_FORWARD_IMachine_SetSettingsFilePath_TO (base::)
#define COM_FORWARD_IMachine_SaveSettings_TO(smth) HRESULT STDMETHODCALLTYPE SaveSettings() { return smth SaveSettings(); }
#define COM_FORWARD_IMachine_SaveSettings_TO_OBJ(obj) COM_FORWARD_IMachine_SaveSettings_TO ((obj)->)
#define COM_FORWARD_IMachine_SaveSettings_TO_BASE(base) COM_FORWARD_IMachine_SaveSettings_TO (base::)
#define COM_FORWARD_IMachine_DiscardSettings_TO(smth) HRESULT STDMETHODCALLTYPE DiscardSettings() { return smth DiscardSettings(); }
#define COM_FORWARD_IMachine_DiscardSettings_TO_OBJ(obj) COM_FORWARD_IMachine_DiscardSettings_TO ((obj)->)
#define COM_FORWARD_IMachine_DiscardSettings_TO_BASE(base) COM_FORWARD_IMachine_DiscardSettings_TO (base::)
#define COM_FORWARD_IMachine_Unregister_TO(smth) HRESULT STDMETHODCALLTYPE Unregister (CleanupMode aCleanupMode, SAFEARRAY * * aMedia) { return smth Unregister (aCleanupMode, aMedia); }
#define COM_FORWARD_IMachine_Unregister_TO_OBJ(obj) COM_FORWARD_IMachine_Unregister_TO ((obj)->)
#define COM_FORWARD_IMachine_Unregister_TO_BASE(base) COM_FORWARD_IMachine_Unregister_TO (base::)
#define COM_FORWARD_IMachine_DeleteConfig_TO(smth) HRESULT STDMETHODCALLTYPE DeleteConfig (SAFEARRAY * * aMedia, IProgress * * aProgress) { return smth DeleteConfig (aMedia, aProgress); }
#define COM_FORWARD_IMachine_DeleteConfig_TO_OBJ(obj) COM_FORWARD_IMachine_DeleteConfig_TO ((obj)->)
#define COM_FORWARD_IMachine_DeleteConfig_TO_BASE(base) COM_FORWARD_IMachine_DeleteConfig_TO (base::)
#define COM_FORWARD_IMachine_ExportTo_TO(smth) HRESULT STDMETHODCALLTYPE ExportTo (IAppliance * aAppliance, BSTR aLocation, IVirtualSystemDescription * * aDescription) { return smth ExportTo (aAppliance, aLocation, aDescription); }
#define COM_FORWARD_IMachine_ExportTo_TO_OBJ(obj) COM_FORWARD_IMachine_ExportTo_TO ((obj)->)
#define COM_FORWARD_IMachine_ExportTo_TO_BASE(base) COM_FORWARD_IMachine_ExportTo_TO (base::)
#define COM_FORWARD_IMachine_FindSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE FindSnapshot (BSTR aNameOrId, ISnapshot * * aSnapshot) { return smth FindSnapshot (aNameOrId, aSnapshot); }
#define COM_FORWARD_IMachine_FindSnapshot_TO_OBJ(obj) COM_FORWARD_IMachine_FindSnapshot_TO ((obj)->)
#define COM_FORWARD_IMachine_FindSnapshot_TO_BASE(base) COM_FORWARD_IMachine_FindSnapshot_TO (base::)
#define COM_FORWARD_IMachine_CreateSharedFolder_TO(smth) HRESULT STDMETHODCALLTYPE CreateSharedFolder (BSTR aName, BSTR aHostPath, BOOL aWritable, BOOL aAutomount, BSTR aAutoMountPoint) { return smth CreateSharedFolder (aName, aHostPath, aWritable, aAutomount, aAutoMountPoint); }
#define COM_FORWARD_IMachine_CreateSharedFolder_TO_OBJ(obj) COM_FORWARD_IMachine_CreateSharedFolder_TO ((obj)->)
#define COM_FORWARD_IMachine_CreateSharedFolder_TO_BASE(base) COM_FORWARD_IMachine_CreateSharedFolder_TO (base::)
#define COM_FORWARD_IMachine_RemoveSharedFolder_TO(smth) HRESULT STDMETHODCALLTYPE RemoveSharedFolder (BSTR aName) { return smth RemoveSharedFolder (aName); }
#define COM_FORWARD_IMachine_RemoveSharedFolder_TO_OBJ(obj) COM_FORWARD_IMachine_RemoveSharedFolder_TO ((obj)->)
#define COM_FORWARD_IMachine_RemoveSharedFolder_TO_BASE(base) COM_FORWARD_IMachine_RemoveSharedFolder_TO (base::)
#define COM_FORWARD_IMachine_CanShowConsoleWindow_TO(smth) HRESULT STDMETHODCALLTYPE CanShowConsoleWindow (BOOL * aCanShow) { return smth CanShowConsoleWindow (aCanShow); }
#define COM_FORWARD_IMachine_CanShowConsoleWindow_TO_OBJ(obj) COM_FORWARD_IMachine_CanShowConsoleWindow_TO ((obj)->)
#define COM_FORWARD_IMachine_CanShowConsoleWindow_TO_BASE(base) COM_FORWARD_IMachine_CanShowConsoleWindow_TO (base::)
#define COM_FORWARD_IMachine_ShowConsoleWindow_TO(smth) HRESULT STDMETHODCALLTYPE ShowConsoleWindow (LONG64 * aWinId) { return smth ShowConsoleWindow (aWinId); }
#define COM_FORWARD_IMachine_ShowConsoleWindow_TO_OBJ(obj) COM_FORWARD_IMachine_ShowConsoleWindow_TO ((obj)->)
#define COM_FORWARD_IMachine_ShowConsoleWindow_TO_BASE(base) COM_FORWARD_IMachine_ShowConsoleWindow_TO (base::)
#define COM_FORWARD_IMachine_GetGuestProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetGuestProperty (BSTR aName, BSTR * aValue, LONG64 * aTimestamp, BSTR * aFlags) { return smth GetGuestProperty (aName, aValue, aTimestamp, aFlags); }
#define COM_FORWARD_IMachine_GetGuestProperty_TO_OBJ(obj) COM_FORWARD_IMachine_GetGuestProperty_TO ((obj)->)
#define COM_FORWARD_IMachine_GetGuestProperty_TO_BASE(base) COM_FORWARD_IMachine_GetGuestProperty_TO (base::)
#define COM_FORWARD_IMachine_GetGuestPropertyValue_TO(smth) HRESULT STDMETHODCALLTYPE GetGuestPropertyValue (BSTR aProperty, BSTR * aValue) { return smth GetGuestPropertyValue (aProperty, aValue); }
#define COM_FORWARD_IMachine_GetGuestPropertyValue_TO_OBJ(obj) COM_FORWARD_IMachine_GetGuestPropertyValue_TO ((obj)->)
#define COM_FORWARD_IMachine_GetGuestPropertyValue_TO_BASE(base) COM_FORWARD_IMachine_GetGuestPropertyValue_TO (base::)
#define COM_FORWARD_IMachine_GetGuestPropertyTimestamp_TO(smth) HRESULT STDMETHODCALLTYPE GetGuestPropertyTimestamp (BSTR aProperty, LONG64 * aValue) { return smth GetGuestPropertyTimestamp (aProperty, aValue); }
#define COM_FORWARD_IMachine_GetGuestPropertyTimestamp_TO_OBJ(obj) COM_FORWARD_IMachine_GetGuestPropertyTimestamp_TO ((obj)->)
#define COM_FORWARD_IMachine_GetGuestPropertyTimestamp_TO_BASE(base) COM_FORWARD_IMachine_GetGuestPropertyTimestamp_TO (base::)
#define COM_FORWARD_IMachine_SetGuestProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetGuestProperty (BSTR aProperty, BSTR aValue, BSTR aFlags) { return smth SetGuestProperty (aProperty, aValue, aFlags); }
#define COM_FORWARD_IMachine_SetGuestProperty_TO_OBJ(obj) COM_FORWARD_IMachine_SetGuestProperty_TO ((obj)->)
#define COM_FORWARD_IMachine_SetGuestProperty_TO_BASE(base) COM_FORWARD_IMachine_SetGuestProperty_TO (base::)
#define COM_FORWARD_IMachine_SetGuestPropertyValue_TO(smth) HRESULT STDMETHODCALLTYPE SetGuestPropertyValue (BSTR aProperty, BSTR aValue) { return smth SetGuestPropertyValue (aProperty, aValue); }
#define COM_FORWARD_IMachine_SetGuestPropertyValue_TO_OBJ(obj) COM_FORWARD_IMachine_SetGuestPropertyValue_TO ((obj)->)
#define COM_FORWARD_IMachine_SetGuestPropertyValue_TO_BASE(base) COM_FORWARD_IMachine_SetGuestPropertyValue_TO (base::)
#define COM_FORWARD_IMachine_DeleteGuestProperty_TO(smth) HRESULT STDMETHODCALLTYPE DeleteGuestProperty (BSTR aName) { return smth DeleteGuestProperty (aName); }
#define COM_FORWARD_IMachine_DeleteGuestProperty_TO_OBJ(obj) COM_FORWARD_IMachine_DeleteGuestProperty_TO ((obj)->)
#define COM_FORWARD_IMachine_DeleteGuestProperty_TO_BASE(base) COM_FORWARD_IMachine_DeleteGuestProperty_TO (base::)
#define COM_FORWARD_IMachine_EnumerateGuestProperties_TO(smth) HRESULT STDMETHODCALLTYPE EnumerateGuestProperties (BSTR aPatterns, SAFEARRAY * * aNames, SAFEARRAY * * aValues, SAFEARRAY * * aTimestamps, SAFEARRAY * * aFlags) { return smth EnumerateGuestProperties (aPatterns, aNames, aValues, aTimestamps, aFlags); }
#define COM_FORWARD_IMachine_EnumerateGuestProperties_TO_OBJ(obj) COM_FORWARD_IMachine_EnumerateGuestProperties_TO ((obj)->)
#define COM_FORWARD_IMachine_EnumerateGuestProperties_TO_BASE(base) COM_FORWARD_IMachine_EnumerateGuestProperties_TO (base::)
#define COM_FORWARD_IMachine_QuerySavedGuestScreenInfo_TO(smth) HRESULT STDMETHODCALLTYPE QuerySavedGuestScreenInfo (ULONG aScreenId, ULONG * aOriginX, ULONG * aOriginY, ULONG * aWidth, ULONG * aHeight, BOOL * aEnabled) { return smth QuerySavedGuestScreenInfo (aScreenId, aOriginX, aOriginY, aWidth, aHeight, aEnabled); }
#define COM_FORWARD_IMachine_QuerySavedGuestScreenInfo_TO_OBJ(obj) COM_FORWARD_IMachine_QuerySavedGuestScreenInfo_TO ((obj)->)
#define COM_FORWARD_IMachine_QuerySavedGuestScreenInfo_TO_BASE(base) COM_FORWARD_IMachine_QuerySavedGuestScreenInfo_TO (base::)
#define COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO(smth) HRESULT STDMETHODCALLTYPE ReadSavedThumbnailToArray (ULONG aScreenId, BitmapFormat aBitmapFormat, ULONG * aWidth, ULONG * aHeight, SAFEARRAY * * aData) { return smth ReadSavedThumbnailToArray (aScreenId, aBitmapFormat, aWidth, aHeight, aData); }
#define COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO_OBJ(obj) COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO ((obj)->)
#define COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO_BASE(base) COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO (base::)
#define COM_FORWARD_IMachine_QuerySavedScreenshotInfo_TO(smth) HRESULT STDMETHODCALLTYPE QuerySavedScreenshotInfo (ULONG aScreenId, ULONG * aWidth, ULONG * aHeight, SAFEARRAY * * aBitmapFormats) { return smth QuerySavedScreenshotInfo (aScreenId, aWidth, aHeight, aBitmapFormats); }
#define COM_FORWARD_IMachine_QuerySavedScreenshotInfo_TO_OBJ(obj) COM_FORWARD_IMachine_QuerySavedScreenshotInfo_TO ((obj)->)
#define COM_FORWARD_IMachine_QuerySavedScreenshotInfo_TO_BASE(base) COM_FORWARD_IMachine_QuerySavedScreenshotInfo_TO (base::)
#define COM_FORWARD_IMachine_ReadSavedScreenshotToArray_TO(smth) HRESULT STDMETHODCALLTYPE ReadSavedScreenshotToArray (ULONG aScreenId, BitmapFormat aBitmapFormat, ULONG * aWidth, ULONG * aHeight, SAFEARRAY * * aData) { return smth ReadSavedScreenshotToArray (aScreenId, aBitmapFormat, aWidth, aHeight, aData); }
#define COM_FORWARD_IMachine_ReadSavedScreenshotToArray_TO_OBJ(obj) COM_FORWARD_IMachine_ReadSavedScreenshotToArray_TO ((obj)->)
#define COM_FORWARD_IMachine_ReadSavedScreenshotToArray_TO_BASE(base) COM_FORWARD_IMachine_ReadSavedScreenshotToArray_TO (base::)
#define COM_FORWARD_IMachine_HotPlugCPU_TO(smth) HRESULT STDMETHODCALLTYPE HotPlugCPU (ULONG aCpu) { return smth HotPlugCPU (aCpu); }
#define COM_FORWARD_IMachine_HotPlugCPU_TO_OBJ(obj) COM_FORWARD_IMachine_HotPlugCPU_TO ((obj)->)
#define COM_FORWARD_IMachine_HotPlugCPU_TO_BASE(base) COM_FORWARD_IMachine_HotPlugCPU_TO (base::)
#define COM_FORWARD_IMachine_HotUnplugCPU_TO(smth) HRESULT STDMETHODCALLTYPE HotUnplugCPU (ULONG aCpu) { return smth HotUnplugCPU (aCpu); }
#define COM_FORWARD_IMachine_HotUnplugCPU_TO_OBJ(obj) COM_FORWARD_IMachine_HotUnplugCPU_TO ((obj)->)
#define COM_FORWARD_IMachine_HotUnplugCPU_TO_BASE(base) COM_FORWARD_IMachine_HotUnplugCPU_TO (base::)
#define COM_FORWARD_IMachine_GetCPUStatus_TO(smth) HRESULT STDMETHODCALLTYPE GetCPUStatus (ULONG aCpu, BOOL * aAttached) { return smth GetCPUStatus (aCpu, aAttached); }
#define COM_FORWARD_IMachine_GetCPUStatus_TO_OBJ(obj) COM_FORWARD_IMachine_GetCPUStatus_TO ((obj)->)
#define COM_FORWARD_IMachine_GetCPUStatus_TO_BASE(base) COM_FORWARD_IMachine_GetCPUStatus_TO (base::)
#define COM_FORWARD_IMachine_GetEffectiveParavirtProvider_TO(smth) HRESULT STDMETHODCALLTYPE GetEffectiveParavirtProvider (ParavirtProvider * aParavirtProvider) { return smth GetEffectiveParavirtProvider (aParavirtProvider); }
#define COM_FORWARD_IMachine_GetEffectiveParavirtProvider_TO_OBJ(obj) COM_FORWARD_IMachine_GetEffectiveParavirtProvider_TO ((obj)->)
#define COM_FORWARD_IMachine_GetEffectiveParavirtProvider_TO_BASE(base) COM_FORWARD_IMachine_GetEffectiveParavirtProvider_TO (base::)
#define COM_FORWARD_IMachine_QueryLogFilename_TO(smth) HRESULT STDMETHODCALLTYPE QueryLogFilename (ULONG aIdx, BSTR * aFilename) { return smth QueryLogFilename (aIdx, aFilename); }
#define COM_FORWARD_IMachine_QueryLogFilename_TO_OBJ(obj) COM_FORWARD_IMachine_QueryLogFilename_TO ((obj)->)
#define COM_FORWARD_IMachine_QueryLogFilename_TO_BASE(base) COM_FORWARD_IMachine_QueryLogFilename_TO (base::)
#define COM_FORWARD_IMachine_ReadLog_TO(smth) HRESULT STDMETHODCALLTYPE ReadLog (ULONG aIdx, LONG64 aOffset, LONG64 aSize, SAFEARRAY * * aData) { return smth ReadLog (aIdx, aOffset, aSize, aData); }
#define COM_FORWARD_IMachine_ReadLog_TO_OBJ(obj) COM_FORWARD_IMachine_ReadLog_TO ((obj)->)
#define COM_FORWARD_IMachine_ReadLog_TO_BASE(base) COM_FORWARD_IMachine_ReadLog_TO (base::)
#define COM_FORWARD_IMachine_CloneTo_TO(smth) HRESULT STDMETHODCALLTYPE CloneTo (IMachine * aTarget, CloneMode aMode, SAFEARRAY * * aOptions, IProgress * * aProgress) { return smth CloneTo (aTarget, aMode, aOptions, aProgress); }
#define COM_FORWARD_IMachine_CloneTo_TO_OBJ(obj) COM_FORWARD_IMachine_CloneTo_TO ((obj)->)
#define COM_FORWARD_IMachine_CloneTo_TO_BASE(base) COM_FORWARD_IMachine_CloneTo_TO (base::)
#define COM_FORWARD_IMachine_MoveTo_TO(smth) HRESULT STDMETHODCALLTYPE MoveTo (BSTR aFolder, BSTR aType, IProgress * * aProgress) { return smth MoveTo (aFolder, aType, aProgress); }
#define COM_FORWARD_IMachine_MoveTo_TO_OBJ(obj) COM_FORWARD_IMachine_MoveTo_TO ((obj)->)
#define COM_FORWARD_IMachine_MoveTo_TO_BASE(base) COM_FORWARD_IMachine_MoveTo_TO (base::)
#define COM_FORWARD_IMachine_SaveState_TO(smth) HRESULT STDMETHODCALLTYPE SaveState (IProgress * * aProgress) { return smth SaveState (aProgress); }
#define COM_FORWARD_IMachine_SaveState_TO_OBJ(obj) COM_FORWARD_IMachine_SaveState_TO ((obj)->)
#define COM_FORWARD_IMachine_SaveState_TO_BASE(base) COM_FORWARD_IMachine_SaveState_TO (base::)
#define COM_FORWARD_IMachine_AdoptSavedState_TO(smth) HRESULT STDMETHODCALLTYPE AdoptSavedState (BSTR aSavedStateFile) { return smth AdoptSavedState (aSavedStateFile); }
#define COM_FORWARD_IMachine_AdoptSavedState_TO_OBJ(obj) COM_FORWARD_IMachine_AdoptSavedState_TO ((obj)->)
#define COM_FORWARD_IMachine_AdoptSavedState_TO_BASE(base) COM_FORWARD_IMachine_AdoptSavedState_TO (base::)
#define COM_FORWARD_IMachine_DiscardSavedState_TO(smth) HRESULT STDMETHODCALLTYPE DiscardSavedState (BOOL aFRemoveFile) { return smth DiscardSavedState (aFRemoveFile); }
#define COM_FORWARD_IMachine_DiscardSavedState_TO_OBJ(obj) COM_FORWARD_IMachine_DiscardSavedState_TO ((obj)->)
#define COM_FORWARD_IMachine_DiscardSavedState_TO_BASE(base) COM_FORWARD_IMachine_DiscardSavedState_TO (base::)
#define COM_FORWARD_IMachine_TakeSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE TakeSnapshot (BSTR aName, BSTR aDescription, BOOL aPause, BSTR * aId, IProgress * * aProgress) { return smth TakeSnapshot (aName, aDescription, aPause, aId, aProgress); }
#define COM_FORWARD_IMachine_TakeSnapshot_TO_OBJ(obj) COM_FORWARD_IMachine_TakeSnapshot_TO ((obj)->)
#define COM_FORWARD_IMachine_TakeSnapshot_TO_BASE(base) COM_FORWARD_IMachine_TakeSnapshot_TO (base::)
#define COM_FORWARD_IMachine_DeleteSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE DeleteSnapshot (BSTR aId, IProgress * * aProgress) { return smth DeleteSnapshot (aId, aProgress); }
#define COM_FORWARD_IMachine_DeleteSnapshot_TO_OBJ(obj) COM_FORWARD_IMachine_DeleteSnapshot_TO ((obj)->)
#define COM_FORWARD_IMachine_DeleteSnapshot_TO_BASE(base) COM_FORWARD_IMachine_DeleteSnapshot_TO (base::)
#define COM_FORWARD_IMachine_DeleteSnapshotAndAllChildren_TO(smth) HRESULT STDMETHODCALLTYPE DeleteSnapshotAndAllChildren (BSTR aId, IProgress * * aProgress) { return smth DeleteSnapshotAndAllChildren (aId, aProgress); }
#define COM_FORWARD_IMachine_DeleteSnapshotAndAllChildren_TO_OBJ(obj) COM_FORWARD_IMachine_DeleteSnapshotAndAllChildren_TO ((obj)->)
#define COM_FORWARD_IMachine_DeleteSnapshotAndAllChildren_TO_BASE(base) COM_FORWARD_IMachine_DeleteSnapshotAndAllChildren_TO (base::)
#define COM_FORWARD_IMachine_DeleteSnapshotRange_TO(smth) HRESULT STDMETHODCALLTYPE DeleteSnapshotRange (BSTR aStartId, BSTR aEndId, IProgress * * aProgress) { return smth DeleteSnapshotRange (aStartId, aEndId, aProgress); }
#define COM_FORWARD_IMachine_DeleteSnapshotRange_TO_OBJ(obj) COM_FORWARD_IMachine_DeleteSnapshotRange_TO ((obj)->)
#define COM_FORWARD_IMachine_DeleteSnapshotRange_TO_BASE(base) COM_FORWARD_IMachine_DeleteSnapshotRange_TO (base::)
#define COM_FORWARD_IMachine_RestoreSnapshot_TO(smth) HRESULT STDMETHODCALLTYPE RestoreSnapshot (ISnapshot * aSnapshot, IProgress * * aProgress) { return smth RestoreSnapshot (aSnapshot, aProgress); }
#define COM_FORWARD_IMachine_RestoreSnapshot_TO_OBJ(obj) COM_FORWARD_IMachine_RestoreSnapshot_TO ((obj)->)
#define COM_FORWARD_IMachine_RestoreSnapshot_TO_BASE(base) COM_FORWARD_IMachine_RestoreSnapshot_TO (base::)
#define COM_FORWARD_IMachine_ApplyDefaults_TO(smth) HRESULT STDMETHODCALLTYPE ApplyDefaults (BSTR aFlags) { return smth ApplyDefaults (aFlags); }
#define COM_FORWARD_IMachine_ApplyDefaults_TO_OBJ(obj) COM_FORWARD_IMachine_ApplyDefaults_TO ((obj)->)
#define COM_FORWARD_IMachine_ApplyDefaults_TO_BASE(base) COM_FORWARD_IMachine_ApplyDefaults_TO (base::)
#define COM_FORWARD_IMachine_ChangeEncryption_TO(smth) HRESULT STDMETHODCALLTYPE ChangeEncryption (BSTR aCurrentPassword, BSTR aCipher, BSTR aNewPassword, BSTR aNewPasswordId, BOOL aForce, IProgress * * aProgress) { return smth ChangeEncryption (aCurrentPassword, aCipher, aNewPassword, aNewPasswordId, aForce, aProgress); }
#define COM_FORWARD_IMachine_ChangeEncryption_TO_OBJ(obj) COM_FORWARD_IMachine_ChangeEncryption_TO ((obj)->)
#define COM_FORWARD_IMachine_ChangeEncryption_TO_BASE(base) COM_FORWARD_IMachine_ChangeEncryption_TO (base::)
#define COM_FORWARD_IMachine_GetEncryptionSettings_TO(smth) HRESULT STDMETHODCALLTYPE GetEncryptionSettings (BSTR * aCipher, BSTR * aPasswordId) { return smth GetEncryptionSettings (aCipher, aPasswordId); }
#define COM_FORWARD_IMachine_GetEncryptionSettings_TO_OBJ(obj) COM_FORWARD_IMachine_GetEncryptionSettings_TO ((obj)->)
#define COM_FORWARD_IMachine_GetEncryptionSettings_TO_BASE(base) COM_FORWARD_IMachine_GetEncryptionSettings_TO (base::)
#define COM_FORWARD_IMachine_CheckEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE CheckEncryptionPassword (BSTR aPassword) { return smth CheckEncryptionPassword (aPassword); }
#define COM_FORWARD_IMachine_CheckEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IMachine_CheckEncryptionPassword_TO ((obj)->)
#define COM_FORWARD_IMachine_CheckEncryptionPassword_TO_BASE(base) COM_FORWARD_IMachine_CheckEncryptionPassword_TO (base::)
#define COM_FORWARD_IMachine_AddEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE AddEncryptionPassword (BSTR aId, BSTR aPassword) { return smth AddEncryptionPassword (aId, aPassword); }
#define COM_FORWARD_IMachine_AddEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IMachine_AddEncryptionPassword_TO ((obj)->)
#define COM_FORWARD_IMachine_AddEncryptionPassword_TO_BASE(base) COM_FORWARD_IMachine_AddEncryptionPassword_TO (base::)
#define COM_FORWARD_IMachine_AddEncryptionPasswords_TO(smth) HRESULT STDMETHODCALLTYPE AddEncryptionPasswords (SAFEARRAY * * aIds, SAFEARRAY * * aPasswords) { return smth AddEncryptionPasswords (aIds, aPasswords); }
#define COM_FORWARD_IMachine_AddEncryptionPasswords_TO_OBJ(obj) COM_FORWARD_IMachine_AddEncryptionPasswords_TO ((obj)->)
#define COM_FORWARD_IMachine_AddEncryptionPasswords_TO_BASE(base) COM_FORWARD_IMachine_AddEncryptionPasswords_TO (base::)
#define COM_FORWARD_IMachine_RemoveEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE RemoveEncryptionPassword (BSTR aId) { return smth RemoveEncryptionPassword (aId); }
#define COM_FORWARD_IMachine_RemoveEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IMachine_RemoveEncryptionPassword_TO ((obj)->)
#define COM_FORWARD_IMachine_RemoveEncryptionPassword_TO_BASE(base) COM_FORWARD_IMachine_RemoveEncryptionPassword_TO (base::)
#define COM_FORWARD_IMachine_ClearAllEncryptionPasswords_TO(smth) HRESULT STDMETHODCALLTYPE ClearAllEncryptionPasswords() { return smth ClearAllEncryptionPasswords(); }
#define COM_FORWARD_IMachine_ClearAllEncryptionPasswords_TO_OBJ(obj) COM_FORWARD_IMachine_ClearAllEncryptionPasswords_TO ((obj)->)
#define COM_FORWARD_IMachine_ClearAllEncryptionPasswords_TO_BASE(base) COM_FORWARD_IMachine_ClearAllEncryptionPasswords_TO (base::)
#define COM_FORWARD_IMachine_TO(smth) COM_FORWARD_IMachine_GETTER_Parent_TO (smth) COM_FORWARD_IMachine_GETTER_Icon_TO (smth) COM_FORWARD_IMachine_SETTER_Icon_TO (smth) COM_FORWARD_IMachine_GETTER_Accessible_TO (smth) COM_FORWARD_IMachine_GETTER_AccessError_TO (smth) COM_FORWARD_IMachine_GETTER_Name_TO (smth) COM_FORWARD_IMachine_SETTER_Name_TO (smth) COM_FORWARD_IMachine_GETTER_Description_TO (smth) COM_FORWARD_IMachine_SETTER_Description_TO (smth) COM_FORWARD_IMachine_GETTER_Id_TO (smth) COM_FORWARD_IMachine_GETTER_Groups_TO (smth) COM_FORWARD_IMachine_SETTER_Groups_TO (smth) COM_FORWARD_IMachine_GETTER_OSTypeId_TO (smth) COM_FORWARD_IMachine_SETTER_OSTypeId_TO (smth) COM_FORWARD_IMachine_GETTER_HardwareVersion_TO (smth) COM_FORWARD_IMachine_SETTER_HardwareVersion_TO (smth) COM_FORWARD_IMachine_GETTER_HardwareUUID_TO (smth) COM_FORWARD_IMachine_SETTER_HardwareUUID_TO (smth) COM_FORWARD_IMachine_GETTER_CPUCount_TO (smth) COM_FORWARD_IMachine_SETTER_CPUCount_TO (smth) COM_FORWARD_IMachine_GETTER_CPUHotPlugEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_CPUHotPlugEnabled_TO (smth) COM_FORWARD_IMachine_GETTER_CPUExecutionCap_TO (smth) COM_FORWARD_IMachine_SETTER_CPUExecutionCap_TO (smth) COM_FORWARD_IMachine_GETTER_CPUIDPortabilityLevel_TO (smth) COM_FORWARD_IMachine_SETTER_CPUIDPortabilityLevel_TO (smth) COM_FORWARD_IMachine_GETTER_MemorySize_TO (smth) COM_FORWARD_IMachine_SETTER_MemorySize_TO (smth) COM_FORWARD_IMachine_GETTER_MemoryBalloonSize_TO (smth) COM_FORWARD_IMachine_SETTER_MemoryBalloonSize_TO (smth) COM_FORWARD_IMachine_GETTER_PageFusionEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_PageFusionEnabled_TO (smth) COM_FORWARD_IMachine_GETTER_GraphicsAdapter_TO (smth) COM_FORWARD_IMachine_GETTER_Platform_TO (smth) COM_FORWARD_IMachine_GETTER_FirmwareSettings_TO (smth) COM_FORWARD_IMachine_GETTER_TrustedPlatformModule_TO (smth) COM_FORWARD_IMachine_GETTER_NonVolatileStore_TO (smth) COM_FORWARD_IMachine_GETTER_RecordingSettings_TO (smth) COM_FORWARD_IMachine_GETTER_PointingHIDType_TO (smth) COM_FORWARD_IMachine_SETTER_PointingHIDType_TO (smth) COM_FORWARD_IMachine_GETTER_KeyboardHIDType_TO (smth) COM_FORWARD_IMachine_SETTER_KeyboardHIDType_TO (smth) COM_FORWARD_IMachine_GETTER_SnapshotFolder_TO (smth) COM_FORWARD_IMachine_SETTER_SnapshotFolder_TO (smth) COM_FORWARD_IMachine_GETTER_VRDEServer_TO (smth) COM_FORWARD_IMachine_GETTER_EmulatedUSBCardReaderEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_EmulatedUSBCardReaderEnabled_TO (smth) COM_FORWARD_IMachine_GETTER_MediumAttachments_TO (smth) COM_FORWARD_IMachine_GETTER_USBControllers_TO (smth) COM_FORWARD_IMachine_GETTER_USBDeviceFilters_TO (smth) COM_FORWARD_IMachine_GETTER_AudioSettings_TO (smth) COM_FORWARD_IMachine_GETTER_StorageControllers_TO (smth) COM_FORWARD_IMachine_GETTER_SettingsFilePath_TO (smth) COM_FORWARD_IMachine_GETTER_SettingsAuxFilePath_TO (smth) COM_FORWARD_IMachine_GETTER_SettingsModified_TO (smth) COM_FORWARD_IMachine_GETTER_SessionState_TO (smth) COM_FORWARD_IMachine_GETTER_SessionName_TO (smth) COM_FORWARD_IMachine_GETTER_SessionPID_TO (smth) COM_FORWARD_IMachine_GETTER_State_TO (smth) COM_FORWARD_IMachine_GETTER_LastStateChange_TO (smth) COM_FORWARD_IMachine_GETTER_StateFilePath_TO (smth) COM_FORWARD_IMachine_GETTER_LogFolder_TO (smth) COM_FORWARD_IMachine_GETTER_CurrentSnapshot_TO (smth) COM_FORWARD_IMachine_GETTER_SnapshotCount_TO (smth) COM_FORWARD_IMachine_GETTER_CurrentStateModified_TO (smth) COM_FORWARD_IMachine_GETTER_SharedFolders_TO (smth) COM_FORWARD_IMachine_GETTER_ClipboardMode_TO (smth) COM_FORWARD_IMachine_SETTER_ClipboardMode_TO (smth) COM_FORWARD_IMachine_GETTER_ClipboardFileTransfersEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_ClipboardFileTransfersEnabled_TO (smth) COM_FORWARD_IMachine_GETTER_DnDMode_TO (smth) COM_FORWARD_IMachine_SETTER_DnDMode_TO (smth) COM_FORWARD_IMachine_GETTER_TeleporterEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_TeleporterEnabled_TO (smth) COM_FORWARD_IMachine_GETTER_TeleporterPort_TO (smth) COM_FORWARD_IMachine_SETTER_TeleporterPort_TO (smth) COM_FORWARD_IMachine_GETTER_TeleporterAddress_TO (smth) COM_FORWARD_IMachine_SETTER_TeleporterAddress_TO (smth) COM_FORWARD_IMachine_GETTER_TeleporterPassword_TO (smth) COM_FORWARD_IMachine_SETTER_TeleporterPassword_TO (smth) COM_FORWARD_IMachine_GETTER_ParavirtProvider_TO (smth) COM_FORWARD_IMachine_SETTER_ParavirtProvider_TO (smth) COM_FORWARD_IMachine_GETTER_IOCacheEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_IOCacheEnabled_TO (smth) COM_FORWARD_IMachine_GETTER_IOCacheSize_TO (smth) COM_FORWARD_IMachine_SETTER_IOCacheSize_TO (smth) COM_FORWARD_IMachine_GETTER_PCIDeviceAssignments_TO (smth) COM_FORWARD_IMachine_GETTER_BandwidthControl_TO (smth) COM_FORWARD_IMachine_GETTER_TracingEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_TracingEnabled_TO (smth) COM_FORWARD_IMachine_GETTER_TracingConfig_TO (smth) COM_FORWARD_IMachine_SETTER_TracingConfig_TO (smth) COM_FORWARD_IMachine_GETTER_AllowTracingToAccessVM_TO (smth) COM_FORWARD_IMachine_SETTER_AllowTracingToAccessVM_TO (smth) COM_FORWARD_IMachine_GETTER_AutostartEnabled_TO (smth) COM_FORWARD_IMachine_SETTER_AutostartEnabled_TO (smth) COM_FORWARD_IMachine_GETTER_AutostartDelay_TO (smth) COM_FORWARD_IMachine_SETTER_AutostartDelay_TO (smth) COM_FORWARD_IMachine_GETTER_AutostopType_TO (smth) COM_FORWARD_IMachine_SETTER_AutostopType_TO (smth) COM_FORWARD_IMachine_GETTER_DefaultFrontend_TO (smth) COM_FORWARD_IMachine_SETTER_DefaultFrontend_TO (smth) COM_FORWARD_IMachine_GETTER_USBProxyAvailable_TO (smth) COM_FORWARD_IMachine_GETTER_VMProcessPriority_TO (smth) COM_FORWARD_IMachine_SETTER_VMProcessPriority_TO (smth) COM_FORWARD_IMachine_GETTER_VMExecutionEngine_TO (smth) COM_FORWARD_IMachine_SETTER_VMExecutionEngine_TO (smth) COM_FORWARD_IMachine_GETTER_ParavirtDebug_TO (smth) COM_FORWARD_IMachine_SETTER_ParavirtDebug_TO (smth) COM_FORWARD_IMachine_GETTER_CPUProfile_TO (smth) COM_FORWARD_IMachine_SETTER_CPUProfile_TO (smth) COM_FORWARD_IMachine_GETTER_StateKeyId_TO (smth) COM_FORWARD_IMachine_GETTER_StateKeyStore_TO (smth) COM_FORWARD_IMachine_GETTER_LogKeyId_TO (smth) COM_FORWARD_IMachine_GETTER_LogKeyStore_TO (smth) COM_FORWARD_IMachine_GETTER_GuestDebugControl_TO (smth) COM_FORWARD_IMachine_LockMachine_TO (smth) COM_FORWARD_IMachine_LaunchVMProcess_TO (smth) COM_FORWARD_IMachine_SetBootOrder_TO (smth) COM_FORWARD_IMachine_GetBootOrder_TO (smth) COM_FORWARD_IMachine_AttachDevice_TO (smth) COM_FORWARD_IMachine_AttachDeviceWithoutMedium_TO (smth) COM_FORWARD_IMachine_DetachDevice_TO (smth) COM_FORWARD_IMachine_PassthroughDevice_TO (smth) COM_FORWARD_IMachine_TemporaryEjectDevice_TO (smth) COM_FORWARD_IMachine_NonRotationalDevice_TO (smth) COM_FORWARD_IMachine_SetAutoDiscardForDevice_TO (smth) COM_FORWARD_IMachine_SetHotPluggableForDevice_TO (smth) COM_FORWARD_IMachine_SetBandwidthGroupForDevice_TO (smth) COM_FORWARD_IMachine_SetNoBandwidthGroupForDevice_TO (smth) COM_FORWARD_IMachine_UnmountMedium_TO (smth) COM_FORWARD_IMachine_MountMedium_TO (smth) COM_FORWARD_IMachine_GetMedium_TO (smth) COM_FORWARD_IMachine_GetMediumAttachmentsOfController_TO (smth) COM_FORWARD_IMachine_GetMediumAttachment_TO (smth) COM_FORWARD_IMachine_AttachHostPCIDevice_TO (smth) COM_FORWARD_IMachine_DetachHostPCIDevice_TO (smth) COM_FORWARD_IMachine_GetNetworkAdapter_TO (smth) COM_FORWARD_IMachine_AddStorageController_TO (smth) COM_FORWARD_IMachine_GetStorageControllerByName_TO (smth) COM_FORWARD_IMachine_GetStorageControllerByInstance_TO (smth) COM_FORWARD_IMachine_RemoveStorageController_TO (smth) COM_FORWARD_IMachine_SetStorageControllerBootable_TO (smth) COM_FORWARD_IMachine_AddUSBController_TO (smth) COM_FORWARD_IMachine_RemoveUSBController_TO (smth) COM_FORWARD_IMachine_GetUSBControllerByName_TO (smth) COM_FORWARD_IMachine_GetUSBControllerCountByType_TO (smth) COM_FORWARD_IMachine_GetSerialPort_TO (smth) COM_FORWARD_IMachine_GetParallelPort_TO (smth) COM_FORWARD_IMachine_GetExtraDataKeys_TO (smth) COM_FORWARD_IMachine_GetExtraData_TO (smth) COM_FORWARD_IMachine_SetExtraData_TO (smth) COM_FORWARD_IMachine_SetSettingsFilePath_TO (smth) COM_FORWARD_IMachine_SaveSettings_TO (smth) COM_FORWARD_IMachine_DiscardSettings_TO (smth) COM_FORWARD_IMachine_Unregister_TO (smth) COM_FORWARD_IMachine_DeleteConfig_TO (smth) COM_FORWARD_IMachine_ExportTo_TO (smth) COM_FORWARD_IMachine_FindSnapshot_TO (smth) COM_FORWARD_IMachine_CreateSharedFolder_TO (smth) COM_FORWARD_IMachine_RemoveSharedFolder_TO (smth) COM_FORWARD_IMachine_CanShowConsoleWindow_TO (smth) COM_FORWARD_IMachine_ShowConsoleWindow_TO (smth) COM_FORWARD_IMachine_GetGuestProperty_TO (smth) COM_FORWARD_IMachine_GetGuestPropertyValue_TO (smth) COM_FORWARD_IMachine_GetGuestPropertyTimestamp_TO (smth) COM_FORWARD_IMachine_SetGuestProperty_TO (smth) COM_FORWARD_IMachine_SetGuestPropertyValue_TO (smth) COM_FORWARD_IMachine_DeleteGuestProperty_TO (smth) COM_FORWARD_IMachine_EnumerateGuestProperties_TO (smth) COM_FORWARD_IMachine_QuerySavedGuestScreenInfo_TO (smth) COM_FORWARD_IMachine_ReadSavedThumbnailToArray_TO (smth) COM_FORWARD_IMachine_QuerySavedScreenshotInfo_TO (smth) COM_FORWARD_IMachine_ReadSavedScreenshotToArray_TO (smth) COM_FORWARD_IMachine_HotPlugCPU_TO (smth) COM_FORWARD_IMachine_HotUnplugCPU_TO (smth) COM_FORWARD_IMachine_GetCPUStatus_TO (smth) COM_FORWARD_IMachine_GetEffectiveParavirtProvider_TO (smth) COM_FORWARD_IMachine_QueryLogFilename_TO (smth) COM_FORWARD_IMachine_ReadLog_TO (smth) COM_FORWARD_IMachine_CloneTo_TO (smth) COM_FORWARD_IMachine_MoveTo_TO (smth) COM_FORWARD_IMachine_SaveState_TO (smth) COM_FORWARD_IMachine_AdoptSavedState_TO (smth) COM_FORWARD_IMachine_DiscardSavedState_TO (smth) COM_FORWARD_IMachine_TakeSnapshot_TO (smth) COM_FORWARD_IMachine_DeleteSnapshot_TO (smth) COM_FORWARD_IMachine_DeleteSnapshotAndAllChildren_TO (smth) COM_FORWARD_IMachine_DeleteSnapshotRange_TO (smth) COM_FORWARD_IMachine_RestoreSnapshot_TO (smth) COM_FORWARD_IMachine_ApplyDefaults_TO (smth) COM_FORWARD_IMachine_ChangeEncryption_TO (smth) COM_FORWARD_IMachine_GetEncryptionSettings_TO (smth) COM_FORWARD_IMachine_CheckEncryptionPassword_TO (smth) COM_FORWARD_IMachine_AddEncryptionPassword_TO (smth) COM_FORWARD_IMachine_AddEncryptionPasswords_TO (smth) COM_FORWARD_IMachine_RemoveEncryptionPassword_TO (smth) COM_FORWARD_IMachine_ClearAllEncryptionPasswords_TO (smth) 
#define COM_FORWARD_IMachine_TO_OBJ(obj) COM_FORWARD_IMachine_TO ((obj)->)
#define COM_FORWARD_IMachine_TO_BASE(base) COM_FORWARD_IMachine_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0031_v0_0_s_ifspec;

#ifndef __IEmulatedUSB_INTERFACE_DEFINED__
#define __IEmulatedUSB_INTERFACE_DEFINED__

/* interface IEmulatedUSB */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IEmulatedUSB;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6e253ee8-477a-2497-6759-88b8292a5af0")
    IEmulatedUSB : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Webcams( 
            /* [retval][out] */ SAFEARRAY * *aWebcams) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IEmulatedUSB( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IEmulatedUSB( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IEmulatedUSB( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IEmulatedUSB( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WebcamAttach( 
            /* [in] */ BSTR aPath,
            /* [in] */ BSTR aSettings) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WebcamDetach( 
            /* [in] */ BSTR aPath) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IEmulatedUSB( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IEmulatedUSB( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IEmulatedUSB( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IEmulatedUSB( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IEmulatedUSBVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IEmulatedUSB * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IEmulatedUSB * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IEmulatedUSB * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IEmulatedUSB * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IEmulatedUSB * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IEmulatedUSB * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IEmulatedUSB * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEmulatedUSB, get_Webcams)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Webcams )( 
            IEmulatedUSB * This,
            /* [retval][out] */ SAFEARRAY * *aWebcams);
        
        DECLSPEC_XFGVIRT(IEmulatedUSB, get_InternalAndReservedAttribute1IEmulatedUSB)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IEmulatedUSB )( 
            IEmulatedUSB * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IEmulatedUSB, get_InternalAndReservedAttribute2IEmulatedUSB)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IEmulatedUSB )( 
            IEmulatedUSB * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IEmulatedUSB, get_InternalAndReservedAttribute3IEmulatedUSB)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IEmulatedUSB )( 
            IEmulatedUSB * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IEmulatedUSB, get_InternalAndReservedAttribute4IEmulatedUSB)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IEmulatedUSB )( 
            IEmulatedUSB * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IEmulatedUSB, WebcamAttach)
        HRESULT ( STDMETHODCALLTYPE *WebcamAttach )( 
            IEmulatedUSB * This,
            /* [in] */ BSTR aPath,
            /* [in] */ BSTR aSettings);
        
        DECLSPEC_XFGVIRT(IEmulatedUSB, WebcamDetach)
        HRESULT ( STDMETHODCALLTYPE *WebcamDetach )( 
            IEmulatedUSB * This,
            /* [in] */ BSTR aPath);
        
        DECLSPEC_XFGVIRT(IEmulatedUSB, InternalAndReservedMethod1IEmulatedUSB)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IEmulatedUSB )( 
            IEmulatedUSB * This);
        
        DECLSPEC_XFGVIRT(IEmulatedUSB, InternalAndReservedMethod2IEmulatedUSB)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IEmulatedUSB )( 
            IEmulatedUSB * This);
        
        DECLSPEC_XFGVIRT(IEmulatedUSB, InternalAndReservedMethod3IEmulatedUSB)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IEmulatedUSB )( 
            IEmulatedUSB * This);
        
        DECLSPEC_XFGVIRT(IEmulatedUSB, InternalAndReservedMethod4IEmulatedUSB)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IEmulatedUSB )( 
            IEmulatedUSB * This);
        
        END_INTERFACE
    } IEmulatedUSBVtbl;

    interface IEmulatedUSB
    {
        CONST_VTBL struct IEmulatedUSBVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IEmulatedUSB_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IEmulatedUSB_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IEmulatedUSB_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IEmulatedUSB_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IEmulatedUSB_get_Webcams(This,aWebcams)	\
    ( (This)->lpVtbl -> get_Webcams(This,aWebcams) ) 

#define IEmulatedUSB_get_InternalAndReservedAttribute1IEmulatedUSB(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IEmulatedUSB(This,aReserved) ) 

#define IEmulatedUSB_get_InternalAndReservedAttribute2IEmulatedUSB(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IEmulatedUSB(This,aReserved) ) 

#define IEmulatedUSB_get_InternalAndReservedAttribute3IEmulatedUSB(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IEmulatedUSB(This,aReserved) ) 

#define IEmulatedUSB_get_InternalAndReservedAttribute4IEmulatedUSB(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IEmulatedUSB(This,aReserved) ) 

#define IEmulatedUSB_WebcamAttach(This,aPath,aSettings)	\
    ( (This)->lpVtbl -> WebcamAttach(This,aPath,aSettings) ) 

#define IEmulatedUSB_WebcamDetach(This,aPath)	\
    ( (This)->lpVtbl -> WebcamDetach(This,aPath) ) 

#define IEmulatedUSB_InternalAndReservedMethod1IEmulatedUSB(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IEmulatedUSB(This) ) 

#define IEmulatedUSB_InternalAndReservedMethod2IEmulatedUSB(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IEmulatedUSB(This) ) 

#define IEmulatedUSB_InternalAndReservedMethod3IEmulatedUSB(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IEmulatedUSB(This) ) 

#define IEmulatedUSB_InternalAndReservedMethod4IEmulatedUSB(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IEmulatedUSB(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IEmulatedUSB_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0032 */
/* [local] */ 

#define COM_FORWARD_IEmulatedUSB_GETTER_Webcams_TO(smth) HRESULT STDMETHODCALLTYPE get_Webcams (SAFEARRAY * * aWebcams) { return smth get_Webcams (aWebcams); }
#define COM_FORWARD_IEmulatedUSB_GETTER_Webcams_TO_OBJ(obj) COM_FORWARD_IEmulatedUSB_GETTER_Webcams_TO ((obj)->)
#define COM_FORWARD_IEmulatedUSB_GETTER_Webcams_TO_BASE(base) COM_FORWARD_IEmulatedUSB_GETTER_Webcams_TO (base::)
#define COM_FORWARD_IEmulatedUSB_WebcamAttach_TO(smth) HRESULT STDMETHODCALLTYPE WebcamAttach (BSTR aPath, BSTR aSettings) { return smth WebcamAttach (aPath, aSettings); }
#define COM_FORWARD_IEmulatedUSB_WebcamAttach_TO_OBJ(obj) COM_FORWARD_IEmulatedUSB_WebcamAttach_TO ((obj)->)
#define COM_FORWARD_IEmulatedUSB_WebcamAttach_TO_BASE(base) COM_FORWARD_IEmulatedUSB_WebcamAttach_TO (base::)
#define COM_FORWARD_IEmulatedUSB_WebcamDetach_TO(smth) HRESULT STDMETHODCALLTYPE WebcamDetach (BSTR aPath) { return smth WebcamDetach (aPath); }
#define COM_FORWARD_IEmulatedUSB_WebcamDetach_TO_OBJ(obj) COM_FORWARD_IEmulatedUSB_WebcamDetach_TO ((obj)->)
#define COM_FORWARD_IEmulatedUSB_WebcamDetach_TO_BASE(base) COM_FORWARD_IEmulatedUSB_WebcamDetach_TO (base::)
#define COM_FORWARD_IEmulatedUSB_TO(smth) COM_FORWARD_IEmulatedUSB_GETTER_Webcams_TO (smth) COM_FORWARD_IEmulatedUSB_WebcamAttach_TO (smth) COM_FORWARD_IEmulatedUSB_WebcamDetach_TO (smth) 
#define COM_FORWARD_IEmulatedUSB_TO_OBJ(obj) COM_FORWARD_IEmulatedUSB_TO ((obj)->)
#define COM_FORWARD_IEmulatedUSB_TO_BASE(base) COM_FORWARD_IEmulatedUSB_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0032_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0032_v0_0_s_ifspec;

#ifndef __IVRDEServerInfo_INTERFACE_DEFINED__
#define __IVRDEServerInfo_INTERFACE_DEFINED__

/* interface IVRDEServerInfo */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVRDEServerInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c39ef4d6-7532-45e8-96da-eb5986ae76e4")
    IVRDEServerInfo : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Active( 
            /* [retval][out] */ BOOL *aActive) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Port( 
            /* [retval][out] */ LONG *aPort) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfClients( 
            /* [retval][out] */ ULONG *aNumberOfClients) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BeginTime( 
            /* [retval][out] */ LONG64 *aBeginTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EndTime( 
            /* [retval][out] */ LONG64 *aEndTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BytesSent( 
            /* [retval][out] */ LONG64 *aBytesSent) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BytesSentTotal( 
            /* [retval][out] */ LONG64 *aBytesSentTotal) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BytesReceived( 
            /* [retval][out] */ LONG64 *aBytesReceived) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BytesReceivedTotal( 
            /* [retval][out] */ LONG64 *aBytesReceivedTotal) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_User( 
            /* [retval][out] */ BSTR *aUser) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Domain( 
            /* [retval][out] */ BSTR *aDomain) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClientName( 
            /* [retval][out] */ BSTR *aClientName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClientIP( 
            /* [retval][out] */ BSTR *aClientIP) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClientVersion( 
            /* [retval][out] */ ULONG *aClientVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EncryptionStyle( 
            /* [retval][out] */ ULONG *aEncryptionStyle) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IVRDEServerInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IVRDEServerInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IVRDEServerInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IVRDEServerInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IVRDEServerInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IVRDEServerInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IVRDEServerInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IVRDEServerInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVRDEServerInfoVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVRDEServerInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVRDEServerInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVRDEServerInfo * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IVRDEServerInfo * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IVRDEServerInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IVRDEServerInfo * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IVRDEServerInfo * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_Active)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Active )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ BOOL *aActive);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_Port)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Port )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ LONG *aPort);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_NumberOfClients)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfClients )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ ULONG *aNumberOfClients);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_BeginTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BeginTime )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ LONG64 *aBeginTime);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_EndTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndTime )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ LONG64 *aEndTime);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_BytesSent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BytesSent )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ LONG64 *aBytesSent);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_BytesSentTotal)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BytesSentTotal )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ LONG64 *aBytesSentTotal);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_BytesReceived)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BytesReceived )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ LONG64 *aBytesReceived);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_BytesReceivedTotal)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BytesReceivedTotal )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ LONG64 *aBytesReceivedTotal);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_User)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_User )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ BSTR *aUser);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_Domain)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ BSTR *aDomain);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_ClientName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientName )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ BSTR *aClientName);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_ClientIP)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientIP )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ BSTR *aClientIP);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_ClientVersion)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientVersion )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ ULONG *aClientVersion);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_EncryptionStyle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionStyle )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ ULONG *aEncryptionStyle);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_InternalAndReservedAttribute1IVRDEServerInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IVRDEServerInfo )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_InternalAndReservedAttribute2IVRDEServerInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IVRDEServerInfo )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_InternalAndReservedAttribute3IVRDEServerInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IVRDEServerInfo )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_InternalAndReservedAttribute4IVRDEServerInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IVRDEServerInfo )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_InternalAndReservedAttribute5IVRDEServerInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IVRDEServerInfo )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_InternalAndReservedAttribute6IVRDEServerInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IVRDEServerInfo )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_InternalAndReservedAttribute7IVRDEServerInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IVRDEServerInfo )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfo, get_InternalAndReservedAttribute8IVRDEServerInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IVRDEServerInfo )( 
            IVRDEServerInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IVRDEServerInfoVtbl;

    interface IVRDEServerInfo
    {
        CONST_VTBL struct IVRDEServerInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVRDEServerInfo_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IVRDEServerInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IVRDEServerInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IVRDEServerInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IVRDEServerInfo_get_Active(This,aActive)	\
    ( (This)->lpVtbl -> get_Active(This,aActive) ) 

#define IVRDEServerInfo_get_Port(This,aPort)	\
    ( (This)->lpVtbl -> get_Port(This,aPort) ) 

#define IVRDEServerInfo_get_NumberOfClients(This,aNumberOfClients)	\
    ( (This)->lpVtbl -> get_NumberOfClients(This,aNumberOfClients) ) 

#define IVRDEServerInfo_get_BeginTime(This,aBeginTime)	\
    ( (This)->lpVtbl -> get_BeginTime(This,aBeginTime) ) 

#define IVRDEServerInfo_get_EndTime(This,aEndTime)	\
    ( (This)->lpVtbl -> get_EndTime(This,aEndTime) ) 

#define IVRDEServerInfo_get_BytesSent(This,aBytesSent)	\
    ( (This)->lpVtbl -> get_BytesSent(This,aBytesSent) ) 

#define IVRDEServerInfo_get_BytesSentTotal(This,aBytesSentTotal)	\
    ( (This)->lpVtbl -> get_BytesSentTotal(This,aBytesSentTotal) ) 

#define IVRDEServerInfo_get_BytesReceived(This,aBytesReceived)	\
    ( (This)->lpVtbl -> get_BytesReceived(This,aBytesReceived) ) 

#define IVRDEServerInfo_get_BytesReceivedTotal(This,aBytesReceivedTotal)	\
    ( (This)->lpVtbl -> get_BytesReceivedTotal(This,aBytesReceivedTotal) ) 

#define IVRDEServerInfo_get_User(This,aUser)	\
    ( (This)->lpVtbl -> get_User(This,aUser) ) 

#define IVRDEServerInfo_get_Domain(This,aDomain)	\
    ( (This)->lpVtbl -> get_Domain(This,aDomain) ) 

#define IVRDEServerInfo_get_ClientName(This,aClientName)	\
    ( (This)->lpVtbl -> get_ClientName(This,aClientName) ) 

#define IVRDEServerInfo_get_ClientIP(This,aClientIP)	\
    ( (This)->lpVtbl -> get_ClientIP(This,aClientIP) ) 

#define IVRDEServerInfo_get_ClientVersion(This,aClientVersion)	\
    ( (This)->lpVtbl -> get_ClientVersion(This,aClientVersion) ) 

#define IVRDEServerInfo_get_EncryptionStyle(This,aEncryptionStyle)	\
    ( (This)->lpVtbl -> get_EncryptionStyle(This,aEncryptionStyle) ) 

#define IVRDEServerInfo_get_InternalAndReservedAttribute1IVRDEServerInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IVRDEServerInfo(This,aReserved) ) 

#define IVRDEServerInfo_get_InternalAndReservedAttribute2IVRDEServerInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IVRDEServerInfo(This,aReserved) ) 

#define IVRDEServerInfo_get_InternalAndReservedAttribute3IVRDEServerInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IVRDEServerInfo(This,aReserved) ) 

#define IVRDEServerInfo_get_InternalAndReservedAttribute4IVRDEServerInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IVRDEServerInfo(This,aReserved) ) 

#define IVRDEServerInfo_get_InternalAndReservedAttribute5IVRDEServerInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IVRDEServerInfo(This,aReserved) ) 

#define IVRDEServerInfo_get_InternalAndReservedAttribute6IVRDEServerInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IVRDEServerInfo(This,aReserved) ) 

#define IVRDEServerInfo_get_InternalAndReservedAttribute7IVRDEServerInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IVRDEServerInfo(This,aReserved) ) 

#define IVRDEServerInfo_get_InternalAndReservedAttribute8IVRDEServerInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IVRDEServerInfo(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVRDEServerInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0033 */
/* [local] */ 

#define COM_FORWARD_IVRDEServerInfo_GETTER_Active_TO(smth) HRESULT STDMETHODCALLTYPE get_Active (BOOL * aActive) { return smth get_Active (aActive); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_Active_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_Active_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_Active_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_Active_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_Port_TO(smth) HRESULT STDMETHODCALLTYPE get_Port (LONG * aPort) { return smth get_Port (aPort); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_Port_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_Port_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_Port_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_Port_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_NumberOfClients_TO(smth) HRESULT STDMETHODCALLTYPE get_NumberOfClients (ULONG * aNumberOfClients) { return smth get_NumberOfClients (aNumberOfClients); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_NumberOfClients_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_NumberOfClients_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_NumberOfClients_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_NumberOfClients_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_BeginTime_TO(smth) HRESULT STDMETHODCALLTYPE get_BeginTime (LONG64 * aBeginTime) { return smth get_BeginTime (aBeginTime); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_BeginTime_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_BeginTime_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_BeginTime_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_BeginTime_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_EndTime_TO(smth) HRESULT STDMETHODCALLTYPE get_EndTime (LONG64 * aEndTime) { return smth get_EndTime (aEndTime); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_EndTime_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_EndTime_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_EndTime_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_EndTime_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSent_TO(smth) HRESULT STDMETHODCALLTYPE get_BytesSent (LONG64 * aBytesSent) { return smth get_BytesSent (aBytesSent); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSent_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_BytesSent_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSent_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_BytesSent_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSentTotal_TO(smth) HRESULT STDMETHODCALLTYPE get_BytesSentTotal (LONG64 * aBytesSentTotal) { return smth get_BytesSentTotal (aBytesSentTotal); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSentTotal_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_BytesSentTotal_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesSentTotal_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_BytesSentTotal_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceived_TO(smth) HRESULT STDMETHODCALLTYPE get_BytesReceived (LONG64 * aBytesReceived) { return smth get_BytesReceived (aBytesReceived); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceived_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceived_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceived_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceived_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceivedTotal_TO(smth) HRESULT STDMETHODCALLTYPE get_BytesReceivedTotal (LONG64 * aBytesReceivedTotal) { return smth get_BytesReceivedTotal (aBytesReceivedTotal); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceivedTotal_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceivedTotal_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceivedTotal_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceivedTotal_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_User_TO(smth) HRESULT STDMETHODCALLTYPE get_User (BSTR * aUser) { return smth get_User (aUser); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_User_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_User_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_User_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_User_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_Domain_TO(smth) HRESULT STDMETHODCALLTYPE get_Domain (BSTR * aDomain) { return smth get_Domain (aDomain); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_Domain_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_Domain_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_Domain_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_Domain_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientName_TO(smth) HRESULT STDMETHODCALLTYPE get_ClientName (BSTR * aClientName) { return smth get_ClientName (aClientName); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientName_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_ClientName_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientName_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_ClientName_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientIP_TO(smth) HRESULT STDMETHODCALLTYPE get_ClientIP (BSTR * aClientIP) { return smth get_ClientIP (aClientIP); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientIP_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_ClientIP_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientIP_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_ClientIP_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_ClientVersion (ULONG * aClientVersion) { return smth get_ClientVersion (aClientVersion); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientVersion_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_ClientVersion_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_ClientVersion_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_ClientVersion_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_GETTER_EncryptionStyle_TO(smth) HRESULT STDMETHODCALLTYPE get_EncryptionStyle (ULONG * aEncryptionStyle) { return smth get_EncryptionStyle (aEncryptionStyle); }
#define COM_FORWARD_IVRDEServerInfo_GETTER_EncryptionStyle_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_GETTER_EncryptionStyle_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_GETTER_EncryptionStyle_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_GETTER_EncryptionStyle_TO (base::)
#define COM_FORWARD_IVRDEServerInfo_TO(smth) COM_FORWARD_IVRDEServerInfo_GETTER_Active_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_Port_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_NumberOfClients_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_BeginTime_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_EndTime_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_BytesSent_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_BytesSentTotal_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceived_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_BytesReceivedTotal_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_User_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_Domain_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_ClientName_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_ClientIP_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_ClientVersion_TO (smth) COM_FORWARD_IVRDEServerInfo_GETTER_EncryptionStyle_TO (smth) 
#define COM_FORWARD_IVRDEServerInfo_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfo_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfo_TO_BASE(base) COM_FORWARD_IVRDEServerInfo_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0033_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0033_v0_0_s_ifspec;

#ifndef __IConsole_INTERFACE_DEFINED__
#define __IConsole_INTERFACE_DEFINED__

/* interface IConsole */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IConsole;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6ac83d89-6ee7-4e33-8ae6-b257b2e81be8")
    IConsole : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Machine( 
            /* [retval][out] */ IMachine **aMachine) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ MachineState *aState) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Guest( 
            /* [retval][out] */ IGuest **aGuest) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Keyboard( 
            /* [retval][out] */ IKeyboard **aKeyboard) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Mouse( 
            /* [retval][out] */ IMouse **aMouse) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Display( 
            /* [retval][out] */ IDisplay **aDisplay) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Debugger( 
            /* [retval][out] */ IMachineDebugger **aDebugger) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_USBDevices( 
            /* [retval][out] */ SAFEARRAY * *aUSBDevices) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemoteUSBDevices( 
            /* [retval][out] */ SAFEARRAY * *aRemoteUSBDevices) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SharedFolders( 
            /* [retval][out] */ SAFEARRAY * *aSharedFolders) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VRDEServerInfo( 
            /* [retval][out] */ IVRDEServerInfo **aVRDEServerInfo) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AttachedPCIDevices( 
            /* [retval][out] */ SAFEARRAY * *aAttachedPCIDevices) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UseHostClipboard( 
            /* [retval][out] */ BOOL *aUseHostClipboard) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UseHostClipboard( 
            /* [in] */ BOOL aUseHostClipboard) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EmulatedUSB( 
            /* [retval][out] */ IEmulatedUSB **aEmulatedUSB) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IConsole( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IConsole( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IConsole( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IConsole( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IConsole( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IConsole( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IConsole( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IConsole( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PowerUp( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PowerUpPaused( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PowerDown( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PowerButton( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SleepButton( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPowerButtonHandled( 
            /* [retval][out] */ BOOL *aHandled) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetGuestEnteredACPIMode( 
            /* [retval][out] */ BOOL *aEntered) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDeviceActivity( 
            /* [in] */ SAFEARRAY * aType,
            /* [retval][out] */ SAFEARRAY * *aActivity) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AttachUSBDevice( 
            /* [in] */ BSTR aId,
            /* [in] */ BSTR aCaptureFilename) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DetachUSBDevice( 
            /* [in] */ BSTR aId,
            /* [retval][out] */ IUSBDevice **aDevice) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindUSBDeviceByAddress( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IUSBDevice **aDevice) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindUSBDeviceById( 
            /* [in] */ BSTR aId,
            /* [retval][out] */ IUSBDevice **aDevice) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateSharedFolder( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aHostPath,
            /* [in] */ BOOL aWritable,
            /* [in] */ BOOL aAutomount,
            /* [in] */ BSTR aAutoMountPoint) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveSharedFolder( 
            /* [in] */ BSTR aName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Teleport( 
            /* [in] */ BSTR aHostname,
            /* [in] */ ULONG aTcpport,
            /* [in] */ BSTR aPassword,
            /* [in] */ ULONG aMaxDowntime,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddEncryptionPassword( 
            /* [in] */ BSTR aId,
            /* [in] */ BSTR aPassword,
            /* [in] */ BOOL aClearOnSuspend) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddEncryptionPasswords( 
            /* [in] */ SAFEARRAY * aIds,
            /* [in] */ SAFEARRAY * aPasswords,
            /* [in] */ BOOL aClearOnSuspend) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveEncryptionPassword( 
            /* [in] */ BSTR aId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ClearAllEncryptionPasswords( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IConsole( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IConsole( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IConsole( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IConsole( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IConsole( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IConsole( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IConsole( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IConsole( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IConsoleVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IConsole * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IConsole * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IConsole * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IConsole * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IConsole * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IConsole, get_Machine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Machine )( 
            IConsole * This,
            /* [retval][out] */ IMachine **aMachine);
        
        DECLSPEC_XFGVIRT(IConsole, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IConsole * This,
            /* [retval][out] */ MachineState *aState);
        
        DECLSPEC_XFGVIRT(IConsole, get_Guest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Guest )( 
            IConsole * This,
            /* [retval][out] */ IGuest **aGuest);
        
        DECLSPEC_XFGVIRT(IConsole, get_Keyboard)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Keyboard )( 
            IConsole * This,
            /* [retval][out] */ IKeyboard **aKeyboard);
        
        DECLSPEC_XFGVIRT(IConsole, get_Mouse)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Mouse )( 
            IConsole * This,
            /* [retval][out] */ IMouse **aMouse);
        
        DECLSPEC_XFGVIRT(IConsole, get_Display)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Display )( 
            IConsole * This,
            /* [retval][out] */ IDisplay **aDisplay);
        
        DECLSPEC_XFGVIRT(IConsole, get_Debugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( 
            IConsole * This,
            /* [retval][out] */ IMachineDebugger **aDebugger);
        
        DECLSPEC_XFGVIRT(IConsole, get_USBDevices)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_USBDevices )( 
            IConsole * This,
            /* [retval][out] */ SAFEARRAY * *aUSBDevices);
        
        DECLSPEC_XFGVIRT(IConsole, get_RemoteUSBDevices)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemoteUSBDevices )( 
            IConsole * This,
            /* [retval][out] */ SAFEARRAY * *aRemoteUSBDevices);
        
        DECLSPEC_XFGVIRT(IConsole, get_SharedFolders)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SharedFolders )( 
            IConsole * This,
            /* [retval][out] */ SAFEARRAY * *aSharedFolders);
        
        DECLSPEC_XFGVIRT(IConsole, get_VRDEServerInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VRDEServerInfo )( 
            IConsole * This,
            /* [retval][out] */ IVRDEServerInfo **aVRDEServerInfo);
        
        DECLSPEC_XFGVIRT(IConsole, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IConsole * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IConsole, get_AttachedPCIDevices)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttachedPCIDevices )( 
            IConsole * This,
            /* [retval][out] */ SAFEARRAY * *aAttachedPCIDevices);
        
        DECLSPEC_XFGVIRT(IConsole, get_UseHostClipboard)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseHostClipboard )( 
            IConsole * This,
            /* [retval][out] */ BOOL *aUseHostClipboard);
        
        DECLSPEC_XFGVIRT(IConsole, put_UseHostClipboard)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseHostClipboard )( 
            IConsole * This,
            /* [in] */ BOOL aUseHostClipboard);
        
        DECLSPEC_XFGVIRT(IConsole, get_EmulatedUSB)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmulatedUSB )( 
            IConsole * This,
            /* [retval][out] */ IEmulatedUSB **aEmulatedUSB);
        
        DECLSPEC_XFGVIRT(IConsole, get_InternalAndReservedAttribute1IConsole)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IConsole )( 
            IConsole * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IConsole, get_InternalAndReservedAttribute2IConsole)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IConsole )( 
            IConsole * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IConsole, get_InternalAndReservedAttribute3IConsole)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IConsole )( 
            IConsole * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IConsole, get_InternalAndReservedAttribute4IConsole)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IConsole )( 
            IConsole * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IConsole, get_InternalAndReservedAttribute5IConsole)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IConsole )( 
            IConsole * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IConsole, get_InternalAndReservedAttribute6IConsole)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IConsole )( 
            IConsole * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IConsole, get_InternalAndReservedAttribute7IConsole)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IConsole )( 
            IConsole * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IConsole, get_InternalAndReservedAttribute8IConsole)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IConsole )( 
            IConsole * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IConsole, PowerUp)
        HRESULT ( STDMETHODCALLTYPE *PowerUp )( 
            IConsole * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IConsole, PowerUpPaused)
        HRESULT ( STDMETHODCALLTYPE *PowerUpPaused )( 
            IConsole * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IConsole, PowerDown)
        HRESULT ( STDMETHODCALLTYPE *PowerDown )( 
            IConsole * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IConsole, Reset)
        HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, Pause)
        HRESULT ( STDMETHODCALLTYPE *Pause )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, PowerButton)
        HRESULT ( STDMETHODCALLTYPE *PowerButton )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, SleepButton)
        HRESULT ( STDMETHODCALLTYPE *SleepButton )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, GetPowerButtonHandled)
        HRESULT ( STDMETHODCALLTYPE *GetPowerButtonHandled )( 
            IConsole * This,
            /* [retval][out] */ BOOL *aHandled);
        
        DECLSPEC_XFGVIRT(IConsole, GetGuestEnteredACPIMode)
        HRESULT ( STDMETHODCALLTYPE *GetGuestEnteredACPIMode )( 
            IConsole * This,
            /* [retval][out] */ BOOL *aEntered);
        
        DECLSPEC_XFGVIRT(IConsole, GetDeviceActivity)
        HRESULT ( STDMETHODCALLTYPE *GetDeviceActivity )( 
            IConsole * This,
            /* [in] */ SAFEARRAY * aType,
            /* [retval][out] */ SAFEARRAY * *aActivity);
        
        DECLSPEC_XFGVIRT(IConsole, AttachUSBDevice)
        HRESULT ( STDMETHODCALLTYPE *AttachUSBDevice )( 
            IConsole * This,
            /* [in] */ BSTR aId,
            /* [in] */ BSTR aCaptureFilename);
        
        DECLSPEC_XFGVIRT(IConsole, DetachUSBDevice)
        HRESULT ( STDMETHODCALLTYPE *DetachUSBDevice )( 
            IConsole * This,
            /* [in] */ BSTR aId,
            /* [retval][out] */ IUSBDevice **aDevice);
        
        DECLSPEC_XFGVIRT(IConsole, FindUSBDeviceByAddress)
        HRESULT ( STDMETHODCALLTYPE *FindUSBDeviceByAddress )( 
            IConsole * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IUSBDevice **aDevice);
        
        DECLSPEC_XFGVIRT(IConsole, FindUSBDeviceById)
        HRESULT ( STDMETHODCALLTYPE *FindUSBDeviceById )( 
            IConsole * This,
            /* [in] */ BSTR aId,
            /* [retval][out] */ IUSBDevice **aDevice);
        
        DECLSPEC_XFGVIRT(IConsole, CreateSharedFolder)
        HRESULT ( STDMETHODCALLTYPE *CreateSharedFolder )( 
            IConsole * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aHostPath,
            /* [in] */ BOOL aWritable,
            /* [in] */ BOOL aAutomount,
            /* [in] */ BSTR aAutoMountPoint);
        
        DECLSPEC_XFGVIRT(IConsole, RemoveSharedFolder)
        HRESULT ( STDMETHODCALLTYPE *RemoveSharedFolder )( 
            IConsole * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IConsole, Teleport)
        HRESULT ( STDMETHODCALLTYPE *Teleport )( 
            IConsole * This,
            /* [in] */ BSTR aHostname,
            /* [in] */ ULONG aTcpport,
            /* [in] */ BSTR aPassword,
            /* [in] */ ULONG aMaxDowntime,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IConsole, AddEncryptionPassword)
        HRESULT ( STDMETHODCALLTYPE *AddEncryptionPassword )( 
            IConsole * This,
            /* [in] */ BSTR aId,
            /* [in] */ BSTR aPassword,
            /* [in] */ BOOL aClearOnSuspend);
        
        DECLSPEC_XFGVIRT(IConsole, AddEncryptionPasswords)
        HRESULT ( STDMETHODCALLTYPE *AddEncryptionPasswords )( 
            IConsole * This,
            /* [in] */ SAFEARRAY * aIds,
            /* [in] */ SAFEARRAY * aPasswords,
            /* [in] */ BOOL aClearOnSuspend);
        
        DECLSPEC_XFGVIRT(IConsole, RemoveEncryptionPassword)
        HRESULT ( STDMETHODCALLTYPE *RemoveEncryptionPassword )( 
            IConsole * This,
            /* [in] */ BSTR aId);
        
        DECLSPEC_XFGVIRT(IConsole, ClearAllEncryptionPasswords)
        HRESULT ( STDMETHODCALLTYPE *ClearAllEncryptionPasswords )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, InternalAndReservedMethod1IConsole)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IConsole )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, InternalAndReservedMethod2IConsole)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IConsole )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, InternalAndReservedMethod3IConsole)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IConsole )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, InternalAndReservedMethod4IConsole)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IConsole )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, InternalAndReservedMethod5IConsole)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IConsole )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, InternalAndReservedMethod6IConsole)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IConsole )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, InternalAndReservedMethod7IConsole)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IConsole )( 
            IConsole * This);
        
        DECLSPEC_XFGVIRT(IConsole, InternalAndReservedMethod8IConsole)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IConsole )( 
            IConsole * This);
        
        END_INTERFACE
    } IConsoleVtbl;

    interface IConsole
    {
        CONST_VTBL struct IConsoleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IConsole_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IConsole_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IConsole_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IConsole_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IConsole_get_Machine(This,aMachine)	\
    ( (This)->lpVtbl -> get_Machine(This,aMachine) ) 

#define IConsole_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#define IConsole_get_Guest(This,aGuest)	\
    ( (This)->lpVtbl -> get_Guest(This,aGuest) ) 

#define IConsole_get_Keyboard(This,aKeyboard)	\
    ( (This)->lpVtbl -> get_Keyboard(This,aKeyboard) ) 

#define IConsole_get_Mouse(This,aMouse)	\
    ( (This)->lpVtbl -> get_Mouse(This,aMouse) ) 

#define IConsole_get_Display(This,aDisplay)	\
    ( (This)->lpVtbl -> get_Display(This,aDisplay) ) 

#define IConsole_get_Debugger(This,aDebugger)	\
    ( (This)->lpVtbl -> get_Debugger(This,aDebugger) ) 

#define IConsole_get_USBDevices(This,aUSBDevices)	\
    ( (This)->lpVtbl -> get_USBDevices(This,aUSBDevices) ) 

#define IConsole_get_RemoteUSBDevices(This,aRemoteUSBDevices)	\
    ( (This)->lpVtbl -> get_RemoteUSBDevices(This,aRemoteUSBDevices) ) 

#define IConsole_get_SharedFolders(This,aSharedFolders)	\
    ( (This)->lpVtbl -> get_SharedFolders(This,aSharedFolders) ) 

#define IConsole_get_VRDEServerInfo(This,aVRDEServerInfo)	\
    ( (This)->lpVtbl -> get_VRDEServerInfo(This,aVRDEServerInfo) ) 

#define IConsole_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IConsole_get_AttachedPCIDevices(This,aAttachedPCIDevices)	\
    ( (This)->lpVtbl -> get_AttachedPCIDevices(This,aAttachedPCIDevices) ) 

#define IConsole_get_UseHostClipboard(This,aUseHostClipboard)	\
    ( (This)->lpVtbl -> get_UseHostClipboard(This,aUseHostClipboard) ) 

#define IConsole_put_UseHostClipboard(This,aUseHostClipboard)	\
    ( (This)->lpVtbl -> put_UseHostClipboard(This,aUseHostClipboard) ) 

#define IConsole_get_EmulatedUSB(This,aEmulatedUSB)	\
    ( (This)->lpVtbl -> get_EmulatedUSB(This,aEmulatedUSB) ) 

#define IConsole_get_InternalAndReservedAttribute1IConsole(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IConsole(This,aReserved) ) 

#define IConsole_get_InternalAndReservedAttribute2IConsole(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IConsole(This,aReserved) ) 

#define IConsole_get_InternalAndReservedAttribute3IConsole(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IConsole(This,aReserved) ) 

#define IConsole_get_InternalAndReservedAttribute4IConsole(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IConsole(This,aReserved) ) 

#define IConsole_get_InternalAndReservedAttribute5IConsole(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IConsole(This,aReserved) ) 

#define IConsole_get_InternalAndReservedAttribute6IConsole(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IConsole(This,aReserved) ) 

#define IConsole_get_InternalAndReservedAttribute7IConsole(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IConsole(This,aReserved) ) 

#define IConsole_get_InternalAndReservedAttribute8IConsole(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IConsole(This,aReserved) ) 

#define IConsole_PowerUp(This,aProgress)	\
    ( (This)->lpVtbl -> PowerUp(This,aProgress) ) 

#define IConsole_PowerUpPaused(This,aProgress)	\
    ( (This)->lpVtbl -> PowerUpPaused(This,aProgress) ) 

#define IConsole_PowerDown(This,aProgress)	\
    ( (This)->lpVtbl -> PowerDown(This,aProgress) ) 

#define IConsole_Reset(This)	\
    ( (This)->lpVtbl -> Reset(This) ) 

#define IConsole_Pause(This)	\
    ( (This)->lpVtbl -> Pause(This) ) 

#define IConsole_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define IConsole_PowerButton(This)	\
    ( (This)->lpVtbl -> PowerButton(This) ) 

#define IConsole_SleepButton(This)	\
    ( (This)->lpVtbl -> SleepButton(This) ) 

#define IConsole_GetPowerButtonHandled(This,aHandled)	\
    ( (This)->lpVtbl -> GetPowerButtonHandled(This,aHandled) ) 

#define IConsole_GetGuestEnteredACPIMode(This,aEntered)	\
    ( (This)->lpVtbl -> GetGuestEnteredACPIMode(This,aEntered) ) 

#define IConsole_GetDeviceActivity(This,aType,aActivity)	\
    ( (This)->lpVtbl -> GetDeviceActivity(This,aType,aActivity) ) 

#define IConsole_AttachUSBDevice(This,aId,aCaptureFilename)	\
    ( (This)->lpVtbl -> AttachUSBDevice(This,aId,aCaptureFilename) ) 

#define IConsole_DetachUSBDevice(This,aId,aDevice)	\
    ( (This)->lpVtbl -> DetachUSBDevice(This,aId,aDevice) ) 

#define IConsole_FindUSBDeviceByAddress(This,aName,aDevice)	\
    ( (This)->lpVtbl -> FindUSBDeviceByAddress(This,aName,aDevice) ) 

#define IConsole_FindUSBDeviceById(This,aId,aDevice)	\
    ( (This)->lpVtbl -> FindUSBDeviceById(This,aId,aDevice) ) 

#define IConsole_CreateSharedFolder(This,aName,aHostPath,aWritable,aAutomount,aAutoMountPoint)	\
    ( (This)->lpVtbl -> CreateSharedFolder(This,aName,aHostPath,aWritable,aAutomount,aAutoMountPoint) ) 

#define IConsole_RemoveSharedFolder(This,aName)	\
    ( (This)->lpVtbl -> RemoveSharedFolder(This,aName) ) 

#define IConsole_Teleport(This,aHostname,aTcpport,aPassword,aMaxDowntime,aProgress)	\
    ( (This)->lpVtbl -> Teleport(This,aHostname,aTcpport,aPassword,aMaxDowntime,aProgress) ) 

#define IConsole_AddEncryptionPassword(This,aId,aPassword,aClearOnSuspend)	\
    ( (This)->lpVtbl -> AddEncryptionPassword(This,aId,aPassword,aClearOnSuspend) ) 

#define IConsole_AddEncryptionPasswords(This,aIds,aPasswords,aClearOnSuspend)	\
    ( (This)->lpVtbl -> AddEncryptionPasswords(This,aIds,aPasswords,aClearOnSuspend) ) 

#define IConsole_RemoveEncryptionPassword(This,aId)	\
    ( (This)->lpVtbl -> RemoveEncryptionPassword(This,aId) ) 

#define IConsole_ClearAllEncryptionPasswords(This)	\
    ( (This)->lpVtbl -> ClearAllEncryptionPasswords(This) ) 

#define IConsole_InternalAndReservedMethod1IConsole(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IConsole(This) ) 

#define IConsole_InternalAndReservedMethod2IConsole(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IConsole(This) ) 

#define IConsole_InternalAndReservedMethod3IConsole(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IConsole(This) ) 

#define IConsole_InternalAndReservedMethod4IConsole(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IConsole(This) ) 

#define IConsole_InternalAndReservedMethod5IConsole(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IConsole(This) ) 

#define IConsole_InternalAndReservedMethod6IConsole(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IConsole(This) ) 

#define IConsole_InternalAndReservedMethod7IConsole(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IConsole(This) ) 

#define IConsole_InternalAndReservedMethod8IConsole(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IConsole(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IConsole_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0034 */
/* [local] */ 

#define COM_FORWARD_IConsole_GETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE get_Machine (IMachine * * aMachine) { return smth get_Machine (aMachine); }
#define COM_FORWARD_IConsole_GETTER_Machine_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Machine_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_Machine_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Machine_TO (base::)
#define COM_FORWARD_IConsole_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (MachineState * aState) { return smth get_State (aState); }
#define COM_FORWARD_IConsole_GETTER_State_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_State_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_State_TO_BASE(base) COM_FORWARD_IConsole_GETTER_State_TO (base::)
#define COM_FORWARD_IConsole_GETTER_Guest_TO(smth) HRESULT STDMETHODCALLTYPE get_Guest (IGuest * * aGuest) { return smth get_Guest (aGuest); }
#define COM_FORWARD_IConsole_GETTER_Guest_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Guest_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_Guest_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Guest_TO (base::)
#define COM_FORWARD_IConsole_GETTER_Keyboard_TO(smth) HRESULT STDMETHODCALLTYPE get_Keyboard (IKeyboard * * aKeyboard) { return smth get_Keyboard (aKeyboard); }
#define COM_FORWARD_IConsole_GETTER_Keyboard_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Keyboard_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_Keyboard_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Keyboard_TO (base::)
#define COM_FORWARD_IConsole_GETTER_Mouse_TO(smth) HRESULT STDMETHODCALLTYPE get_Mouse (IMouse * * aMouse) { return smth get_Mouse (aMouse); }
#define COM_FORWARD_IConsole_GETTER_Mouse_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Mouse_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_Mouse_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Mouse_TO (base::)
#define COM_FORWARD_IConsole_GETTER_Display_TO(smth) HRESULT STDMETHODCALLTYPE get_Display (IDisplay * * aDisplay) { return smth get_Display (aDisplay); }
#define COM_FORWARD_IConsole_GETTER_Display_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Display_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_Display_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Display_TO (base::)
#define COM_FORWARD_IConsole_GETTER_Debugger_TO(smth) HRESULT STDMETHODCALLTYPE get_Debugger (IMachineDebugger * * aDebugger) { return smth get_Debugger (aDebugger); }
#define COM_FORWARD_IConsole_GETTER_Debugger_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_Debugger_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_Debugger_TO_BASE(base) COM_FORWARD_IConsole_GETTER_Debugger_TO (base::)
#define COM_FORWARD_IConsole_GETTER_USBDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_USBDevices (SAFEARRAY * * aUSBDevices) { return smth get_USBDevices (aUSBDevices); }
#define COM_FORWARD_IConsole_GETTER_USBDevices_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_USBDevices_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_USBDevices_TO_BASE(base) COM_FORWARD_IConsole_GETTER_USBDevices_TO (base::)
#define COM_FORWARD_IConsole_GETTER_RemoteUSBDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_RemoteUSBDevices (SAFEARRAY * * aRemoteUSBDevices) { return smth get_RemoteUSBDevices (aRemoteUSBDevices); }
#define COM_FORWARD_IConsole_GETTER_RemoteUSBDevices_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_RemoteUSBDevices_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_RemoteUSBDevices_TO_BASE(base) COM_FORWARD_IConsole_GETTER_RemoteUSBDevices_TO (base::)
#define COM_FORWARD_IConsole_GETTER_SharedFolders_TO(smth) HRESULT STDMETHODCALLTYPE get_SharedFolders (SAFEARRAY * * aSharedFolders) { return smth get_SharedFolders (aSharedFolders); }
#define COM_FORWARD_IConsole_GETTER_SharedFolders_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_SharedFolders_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_SharedFolders_TO_BASE(base) COM_FORWARD_IConsole_GETTER_SharedFolders_TO (base::)
#define COM_FORWARD_IConsole_GETTER_VRDEServerInfo_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEServerInfo (IVRDEServerInfo * * aVRDEServerInfo) { return smth get_VRDEServerInfo (aVRDEServerInfo); }
#define COM_FORWARD_IConsole_GETTER_VRDEServerInfo_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_VRDEServerInfo_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_VRDEServerInfo_TO_BASE(base) COM_FORWARD_IConsole_GETTER_VRDEServerInfo_TO (base::)
#define COM_FORWARD_IConsole_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IConsole_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IConsole_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IConsole_GETTER_AttachedPCIDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_AttachedPCIDevices (SAFEARRAY * * aAttachedPCIDevices) { return smth get_AttachedPCIDevices (aAttachedPCIDevices); }
#define COM_FORWARD_IConsole_GETTER_AttachedPCIDevices_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_AttachedPCIDevices_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_AttachedPCIDevices_TO_BASE(base) COM_FORWARD_IConsole_GETTER_AttachedPCIDevices_TO (base::)
#define COM_FORWARD_IConsole_GETTER_UseHostClipboard_TO(smth) HRESULT STDMETHODCALLTYPE get_UseHostClipboard (BOOL * aUseHostClipboard) { return smth get_UseHostClipboard (aUseHostClipboard); }
#define COM_FORWARD_IConsole_GETTER_UseHostClipboard_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_UseHostClipboard_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_UseHostClipboard_TO_BASE(base) COM_FORWARD_IConsole_GETTER_UseHostClipboard_TO (base::)
#define COM_FORWARD_IConsole_SETTER_UseHostClipboard_TO(smth) HRESULT STDMETHODCALLTYPE put_UseHostClipboard (BOOL aUseHostClipboard) { return smth put_UseHostClipboard (aUseHostClipboard); }
#define COM_FORWARD_IConsole_SETTER_UseHostClipboard_TO_OBJ(obj) COM_FORWARD_IConsole_SETTER_UseHostClipboard_TO ((obj)->)
#define COM_FORWARD_IConsole_SETTER_UseHostClipboard_TO_BASE(base) COM_FORWARD_IConsole_SETTER_UseHostClipboard_TO (base::)
#define COM_FORWARD_IConsole_GETTER_EmulatedUSB_TO(smth) HRESULT STDMETHODCALLTYPE get_EmulatedUSB (IEmulatedUSB * * aEmulatedUSB) { return smth get_EmulatedUSB (aEmulatedUSB); }
#define COM_FORWARD_IConsole_GETTER_EmulatedUSB_TO_OBJ(obj) COM_FORWARD_IConsole_GETTER_EmulatedUSB_TO ((obj)->)
#define COM_FORWARD_IConsole_GETTER_EmulatedUSB_TO_BASE(base) COM_FORWARD_IConsole_GETTER_EmulatedUSB_TO (base::)
#define COM_FORWARD_IConsole_PowerUp_TO(smth) HRESULT STDMETHODCALLTYPE PowerUp (IProgress * * aProgress) { return smth PowerUp (aProgress); }
#define COM_FORWARD_IConsole_PowerUp_TO_OBJ(obj) COM_FORWARD_IConsole_PowerUp_TO ((obj)->)
#define COM_FORWARD_IConsole_PowerUp_TO_BASE(base) COM_FORWARD_IConsole_PowerUp_TO (base::)
#define COM_FORWARD_IConsole_PowerUpPaused_TO(smth) HRESULT STDMETHODCALLTYPE PowerUpPaused (IProgress * * aProgress) { return smth PowerUpPaused (aProgress); }
#define COM_FORWARD_IConsole_PowerUpPaused_TO_OBJ(obj) COM_FORWARD_IConsole_PowerUpPaused_TO ((obj)->)
#define COM_FORWARD_IConsole_PowerUpPaused_TO_BASE(base) COM_FORWARD_IConsole_PowerUpPaused_TO (base::)
#define COM_FORWARD_IConsole_PowerDown_TO(smth) HRESULT STDMETHODCALLTYPE PowerDown (IProgress * * aProgress) { return smth PowerDown (aProgress); }
#define COM_FORWARD_IConsole_PowerDown_TO_OBJ(obj) COM_FORWARD_IConsole_PowerDown_TO ((obj)->)
#define COM_FORWARD_IConsole_PowerDown_TO_BASE(base) COM_FORWARD_IConsole_PowerDown_TO (base::)
#define COM_FORWARD_IConsole_Reset_TO(smth) HRESULT STDMETHODCALLTYPE Reset() { return smth Reset(); }
#define COM_FORWARD_IConsole_Reset_TO_OBJ(obj) COM_FORWARD_IConsole_Reset_TO ((obj)->)
#define COM_FORWARD_IConsole_Reset_TO_BASE(base) COM_FORWARD_IConsole_Reset_TO (base::)
#define COM_FORWARD_IConsole_Pause_TO(smth) HRESULT STDMETHODCALLTYPE Pause() { return smth Pause(); }
#define COM_FORWARD_IConsole_Pause_TO_OBJ(obj) COM_FORWARD_IConsole_Pause_TO ((obj)->)
#define COM_FORWARD_IConsole_Pause_TO_BASE(base) COM_FORWARD_IConsole_Pause_TO (base::)
#define COM_FORWARD_IConsole_Resume_TO(smth) HRESULT STDMETHODCALLTYPE Resume() { return smth Resume(); }
#define COM_FORWARD_IConsole_Resume_TO_OBJ(obj) COM_FORWARD_IConsole_Resume_TO ((obj)->)
#define COM_FORWARD_IConsole_Resume_TO_BASE(base) COM_FORWARD_IConsole_Resume_TO (base::)
#define COM_FORWARD_IConsole_PowerButton_TO(smth) HRESULT STDMETHODCALLTYPE PowerButton() { return smth PowerButton(); }
#define COM_FORWARD_IConsole_PowerButton_TO_OBJ(obj) COM_FORWARD_IConsole_PowerButton_TO ((obj)->)
#define COM_FORWARD_IConsole_PowerButton_TO_BASE(base) COM_FORWARD_IConsole_PowerButton_TO (base::)
#define COM_FORWARD_IConsole_SleepButton_TO(smth) HRESULT STDMETHODCALLTYPE SleepButton() { return smth SleepButton(); }
#define COM_FORWARD_IConsole_SleepButton_TO_OBJ(obj) COM_FORWARD_IConsole_SleepButton_TO ((obj)->)
#define COM_FORWARD_IConsole_SleepButton_TO_BASE(base) COM_FORWARD_IConsole_SleepButton_TO (base::)
#define COM_FORWARD_IConsole_GetPowerButtonHandled_TO(smth) HRESULT STDMETHODCALLTYPE GetPowerButtonHandled (BOOL * aHandled) { return smth GetPowerButtonHandled (aHandled); }
#define COM_FORWARD_IConsole_GetPowerButtonHandled_TO_OBJ(obj) COM_FORWARD_IConsole_GetPowerButtonHandled_TO ((obj)->)
#define COM_FORWARD_IConsole_GetPowerButtonHandled_TO_BASE(base) COM_FORWARD_IConsole_GetPowerButtonHandled_TO (base::)
#define COM_FORWARD_IConsole_GetGuestEnteredACPIMode_TO(smth) HRESULT STDMETHODCALLTYPE GetGuestEnteredACPIMode (BOOL * aEntered) { return smth GetGuestEnteredACPIMode (aEntered); }
#define COM_FORWARD_IConsole_GetGuestEnteredACPIMode_TO_OBJ(obj) COM_FORWARD_IConsole_GetGuestEnteredACPIMode_TO ((obj)->)
#define COM_FORWARD_IConsole_GetGuestEnteredACPIMode_TO_BASE(base) COM_FORWARD_IConsole_GetGuestEnteredACPIMode_TO (base::)
#define COM_FORWARD_IConsole_GetDeviceActivity_TO(smth) HRESULT STDMETHODCALLTYPE GetDeviceActivity (SAFEARRAY * * aType, SAFEARRAY * * aActivity) { return smth GetDeviceActivity (aType, aActivity); }
#define COM_FORWARD_IConsole_GetDeviceActivity_TO_OBJ(obj) COM_FORWARD_IConsole_GetDeviceActivity_TO ((obj)->)
#define COM_FORWARD_IConsole_GetDeviceActivity_TO_BASE(base) COM_FORWARD_IConsole_GetDeviceActivity_TO (base::)
#define COM_FORWARD_IConsole_AttachUSBDevice_TO(smth) HRESULT STDMETHODCALLTYPE AttachUSBDevice (BSTR aId, BSTR aCaptureFilename) { return smth AttachUSBDevice (aId, aCaptureFilename); }
#define COM_FORWARD_IConsole_AttachUSBDevice_TO_OBJ(obj) COM_FORWARD_IConsole_AttachUSBDevice_TO ((obj)->)
#define COM_FORWARD_IConsole_AttachUSBDevice_TO_BASE(base) COM_FORWARD_IConsole_AttachUSBDevice_TO (base::)
#define COM_FORWARD_IConsole_DetachUSBDevice_TO(smth) HRESULT STDMETHODCALLTYPE DetachUSBDevice (BSTR aId, IUSBDevice * * aDevice) { return smth DetachUSBDevice (aId, aDevice); }
#define COM_FORWARD_IConsole_DetachUSBDevice_TO_OBJ(obj) COM_FORWARD_IConsole_DetachUSBDevice_TO ((obj)->)
#define COM_FORWARD_IConsole_DetachUSBDevice_TO_BASE(base) COM_FORWARD_IConsole_DetachUSBDevice_TO (base::)
#define COM_FORWARD_IConsole_FindUSBDeviceByAddress_TO(smth) HRESULT STDMETHODCALLTYPE FindUSBDeviceByAddress (BSTR aName, IUSBDevice * * aDevice) { return smth FindUSBDeviceByAddress (aName, aDevice); }
#define COM_FORWARD_IConsole_FindUSBDeviceByAddress_TO_OBJ(obj) COM_FORWARD_IConsole_FindUSBDeviceByAddress_TO ((obj)->)
#define COM_FORWARD_IConsole_FindUSBDeviceByAddress_TO_BASE(base) COM_FORWARD_IConsole_FindUSBDeviceByAddress_TO (base::)
#define COM_FORWARD_IConsole_FindUSBDeviceById_TO(smth) HRESULT STDMETHODCALLTYPE FindUSBDeviceById (BSTR aId, IUSBDevice * * aDevice) { return smth FindUSBDeviceById (aId, aDevice); }
#define COM_FORWARD_IConsole_FindUSBDeviceById_TO_OBJ(obj) COM_FORWARD_IConsole_FindUSBDeviceById_TO ((obj)->)
#define COM_FORWARD_IConsole_FindUSBDeviceById_TO_BASE(base) COM_FORWARD_IConsole_FindUSBDeviceById_TO (base::)
#define COM_FORWARD_IConsole_CreateSharedFolder_TO(smth) HRESULT STDMETHODCALLTYPE CreateSharedFolder (BSTR aName, BSTR aHostPath, BOOL aWritable, BOOL aAutomount, BSTR aAutoMountPoint) { return smth CreateSharedFolder (aName, aHostPath, aWritable, aAutomount, aAutoMountPoint); }
#define COM_FORWARD_IConsole_CreateSharedFolder_TO_OBJ(obj) COM_FORWARD_IConsole_CreateSharedFolder_TO ((obj)->)
#define COM_FORWARD_IConsole_CreateSharedFolder_TO_BASE(base) COM_FORWARD_IConsole_CreateSharedFolder_TO (base::)
#define COM_FORWARD_IConsole_RemoveSharedFolder_TO(smth) HRESULT STDMETHODCALLTYPE RemoveSharedFolder (BSTR aName) { return smth RemoveSharedFolder (aName); }
#define COM_FORWARD_IConsole_RemoveSharedFolder_TO_OBJ(obj) COM_FORWARD_IConsole_RemoveSharedFolder_TO ((obj)->)
#define COM_FORWARD_IConsole_RemoveSharedFolder_TO_BASE(base) COM_FORWARD_IConsole_RemoveSharedFolder_TO (base::)
#define COM_FORWARD_IConsole_Teleport_TO(smth) HRESULT STDMETHODCALLTYPE Teleport (BSTR aHostname, ULONG aTcpport, BSTR aPassword, ULONG aMaxDowntime, IProgress * * aProgress) { return smth Teleport (aHostname, aTcpport, aPassword, aMaxDowntime, aProgress); }
#define COM_FORWARD_IConsole_Teleport_TO_OBJ(obj) COM_FORWARD_IConsole_Teleport_TO ((obj)->)
#define COM_FORWARD_IConsole_Teleport_TO_BASE(base) COM_FORWARD_IConsole_Teleport_TO (base::)
#define COM_FORWARD_IConsole_AddEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE AddEncryptionPassword (BSTR aId, BSTR aPassword, BOOL aClearOnSuspend) { return smth AddEncryptionPassword (aId, aPassword, aClearOnSuspend); }
#define COM_FORWARD_IConsole_AddEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IConsole_AddEncryptionPassword_TO ((obj)->)
#define COM_FORWARD_IConsole_AddEncryptionPassword_TO_BASE(base) COM_FORWARD_IConsole_AddEncryptionPassword_TO (base::)
#define COM_FORWARD_IConsole_AddEncryptionPasswords_TO(smth) HRESULT STDMETHODCALLTYPE AddEncryptionPasswords (SAFEARRAY * * aIds, SAFEARRAY * * aPasswords, BOOL aClearOnSuspend) { return smth AddEncryptionPasswords (aIds, aPasswords, aClearOnSuspend); }
#define COM_FORWARD_IConsole_AddEncryptionPasswords_TO_OBJ(obj) COM_FORWARD_IConsole_AddEncryptionPasswords_TO ((obj)->)
#define COM_FORWARD_IConsole_AddEncryptionPasswords_TO_BASE(base) COM_FORWARD_IConsole_AddEncryptionPasswords_TO (base::)
#define COM_FORWARD_IConsole_RemoveEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE RemoveEncryptionPassword (BSTR aId) { return smth RemoveEncryptionPassword (aId); }
#define COM_FORWARD_IConsole_RemoveEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IConsole_RemoveEncryptionPassword_TO ((obj)->)
#define COM_FORWARD_IConsole_RemoveEncryptionPassword_TO_BASE(base) COM_FORWARD_IConsole_RemoveEncryptionPassword_TO (base::)
#define COM_FORWARD_IConsole_ClearAllEncryptionPasswords_TO(smth) HRESULT STDMETHODCALLTYPE ClearAllEncryptionPasswords() { return smth ClearAllEncryptionPasswords(); }
#define COM_FORWARD_IConsole_ClearAllEncryptionPasswords_TO_OBJ(obj) COM_FORWARD_IConsole_ClearAllEncryptionPasswords_TO ((obj)->)
#define COM_FORWARD_IConsole_ClearAllEncryptionPasswords_TO_BASE(base) COM_FORWARD_IConsole_ClearAllEncryptionPasswords_TO (base::)
#define COM_FORWARD_IConsole_TO(smth) COM_FORWARD_IConsole_GETTER_Machine_TO (smth) COM_FORWARD_IConsole_GETTER_State_TO (smth) COM_FORWARD_IConsole_GETTER_Guest_TO (smth) COM_FORWARD_IConsole_GETTER_Keyboard_TO (smth) COM_FORWARD_IConsole_GETTER_Mouse_TO (smth) COM_FORWARD_IConsole_GETTER_Display_TO (smth) COM_FORWARD_IConsole_GETTER_Debugger_TO (smth) COM_FORWARD_IConsole_GETTER_USBDevices_TO (smth) COM_FORWARD_IConsole_GETTER_RemoteUSBDevices_TO (smth) COM_FORWARD_IConsole_GETTER_SharedFolders_TO (smth) COM_FORWARD_IConsole_GETTER_VRDEServerInfo_TO (smth) COM_FORWARD_IConsole_GETTER_EventSource_TO (smth) COM_FORWARD_IConsole_GETTER_AttachedPCIDevices_TO (smth) COM_FORWARD_IConsole_GETTER_UseHostClipboard_TO (smth) COM_FORWARD_IConsole_SETTER_UseHostClipboard_TO (smth) COM_FORWARD_IConsole_GETTER_EmulatedUSB_TO (smth) COM_FORWARD_IConsole_PowerUp_TO (smth) COM_FORWARD_IConsole_PowerUpPaused_TO (smth) COM_FORWARD_IConsole_PowerDown_TO (smth) COM_FORWARD_IConsole_Reset_TO (smth) COM_FORWARD_IConsole_Pause_TO (smth) COM_FORWARD_IConsole_Resume_TO (smth) COM_FORWARD_IConsole_PowerButton_TO (smth) COM_FORWARD_IConsole_SleepButton_TO (smth) COM_FORWARD_IConsole_GetPowerButtonHandled_TO (smth) COM_FORWARD_IConsole_GetGuestEnteredACPIMode_TO (smth) COM_FORWARD_IConsole_GetDeviceActivity_TO (smth) COM_FORWARD_IConsole_AttachUSBDevice_TO (smth) COM_FORWARD_IConsole_DetachUSBDevice_TO (smth) COM_FORWARD_IConsole_FindUSBDeviceByAddress_TO (smth) COM_FORWARD_IConsole_FindUSBDeviceById_TO (smth) COM_FORWARD_IConsole_CreateSharedFolder_TO (smth) COM_FORWARD_IConsole_RemoveSharedFolder_TO (smth) COM_FORWARD_IConsole_Teleport_TO (smth) COM_FORWARD_IConsole_AddEncryptionPassword_TO (smth) COM_FORWARD_IConsole_AddEncryptionPasswords_TO (smth) COM_FORWARD_IConsole_RemoveEncryptionPassword_TO (smth) COM_FORWARD_IConsole_ClearAllEncryptionPasswords_TO (smth) 
#define COM_FORWARD_IConsole_TO_OBJ(obj) COM_FORWARD_IConsole_TO ((obj)->)
#define COM_FORWARD_IConsole_TO_BASE(base) COM_FORWARD_IConsole_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0034_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0034_v0_0_s_ifspec;

#ifndef __IHostNetworkInterface_INTERFACE_DEFINED__
#define __IHostNetworkInterface_INTERFACE_DEFINED__

/* interface IHostNetworkInterface */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostNetworkInterface;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("455f8c45-44a0-a470-ba20-27890b96dba9")
    IHostNetworkInterface : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShortName( 
            /* [retval][out] */ BSTR *aShortName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkName( 
            /* [retval][out] */ BSTR *aNetworkName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DHCPEnabled( 
            /* [retval][out] */ BOOL *aDHCPEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IPAddress( 
            /* [retval][out] */ BSTR *aIPAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkMask( 
            /* [retval][out] */ BSTR *aNetworkMask) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IPV6Supported( 
            /* [retval][out] */ BOOL *aIPV6Supported) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IPV6Address( 
            /* [retval][out] */ BSTR *aIPV6Address) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IPV6NetworkMaskPrefixLength( 
            /* [retval][out] */ ULONG *aIPV6NetworkMaskPrefixLength) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HardwareAddress( 
            /* [retval][out] */ BSTR *aHardwareAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MediumType( 
            /* [retval][out] */ HostNetworkInterfaceMediumType *aMediumType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ HostNetworkInterfaceStatus *aStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InterfaceType( 
            /* [retval][out] */ HostNetworkInterfaceType *aInterfaceType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Wireless( 
            /* [retval][out] */ BOOL *aWireless) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IHostNetworkInterface( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IHostNetworkInterface( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IHostNetworkInterface( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IHostNetworkInterface( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnableStaticIPConfig( 
            /* [in] */ BSTR aIPAddress,
            /* [in] */ BSTR aNetworkMask) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnableStaticIPConfigV6( 
            /* [in] */ BSTR aIPV6Address,
            /* [in] */ ULONG aIPV6NetworkMaskPrefixLength) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnableDynamicIPConfig( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DHCPRediscover( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IHostNetworkInterface( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IHostNetworkInterface( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostNetworkInterfaceVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostNetworkInterface * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostNetworkInterface * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostNetworkInterface * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostNetworkInterface * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostNetworkInterface * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostNetworkInterface * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostNetworkInterface * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_ShortName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShortName )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ BSTR *aShortName);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_NetworkName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkName )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ BSTR *aNetworkName);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_DHCPEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DHCPEnabled )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ BOOL *aDHCPEnabled);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_IPAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IPAddress )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ BSTR *aIPAddress);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_NetworkMask)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkMask )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ BSTR *aNetworkMask);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_IPV6Supported)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IPV6Supported )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ BOOL *aIPV6Supported);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_IPV6Address)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IPV6Address )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ BSTR *aIPV6Address);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_IPV6NetworkMaskPrefixLength)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IPV6NetworkMaskPrefixLength )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ ULONG *aIPV6NetworkMaskPrefixLength);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_HardwareAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HardwareAddress )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ BSTR *aHardwareAddress);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_MediumType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediumType )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ HostNetworkInterfaceMediumType *aMediumType);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ HostNetworkInterfaceStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_InterfaceType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InterfaceType )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ HostNetworkInterfaceType *aInterfaceType);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_Wireless)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Wireless )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ BOOL *aWireless);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_InternalAndReservedAttribute1IHostNetworkInterface)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IHostNetworkInterface )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_InternalAndReservedAttribute2IHostNetworkInterface)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IHostNetworkInterface )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_InternalAndReservedAttribute3IHostNetworkInterface)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IHostNetworkInterface )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, get_InternalAndReservedAttribute4IHostNetworkInterface)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IHostNetworkInterface )( 
            IHostNetworkInterface * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, EnableStaticIPConfig)
        HRESULT ( STDMETHODCALLTYPE *EnableStaticIPConfig )( 
            IHostNetworkInterface * This,
            /* [in] */ BSTR aIPAddress,
            /* [in] */ BSTR aNetworkMask);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, EnableStaticIPConfigV6)
        HRESULT ( STDMETHODCALLTYPE *EnableStaticIPConfigV6 )( 
            IHostNetworkInterface * This,
            /* [in] */ BSTR aIPV6Address,
            /* [in] */ ULONG aIPV6NetworkMaskPrefixLength);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, EnableDynamicIPConfig)
        HRESULT ( STDMETHODCALLTYPE *EnableDynamicIPConfig )( 
            IHostNetworkInterface * This);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, DHCPRediscover)
        HRESULT ( STDMETHODCALLTYPE *DHCPRediscover )( 
            IHostNetworkInterface * This);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, InternalAndReservedMethod1IHostNetworkInterface)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IHostNetworkInterface )( 
            IHostNetworkInterface * This);
        
        DECLSPEC_XFGVIRT(IHostNetworkInterface, InternalAndReservedMethod2IHostNetworkInterface)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IHostNetworkInterface )( 
            IHostNetworkInterface * This);
        
        END_INTERFACE
    } IHostNetworkInterfaceVtbl;

    interface IHostNetworkInterface
    {
        CONST_VTBL struct IHostNetworkInterfaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostNetworkInterface_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostNetworkInterface_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostNetworkInterface_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostNetworkInterface_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostNetworkInterface_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IHostNetworkInterface_get_ShortName(This,aShortName)	\
    ( (This)->lpVtbl -> get_ShortName(This,aShortName) ) 

#define IHostNetworkInterface_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IHostNetworkInterface_get_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> get_NetworkName(This,aNetworkName) ) 

#define IHostNetworkInterface_get_DHCPEnabled(This,aDHCPEnabled)	\
    ( (This)->lpVtbl -> get_DHCPEnabled(This,aDHCPEnabled) ) 

#define IHostNetworkInterface_get_IPAddress(This,aIPAddress)	\
    ( (This)->lpVtbl -> get_IPAddress(This,aIPAddress) ) 

#define IHostNetworkInterface_get_NetworkMask(This,aNetworkMask)	\
    ( (This)->lpVtbl -> get_NetworkMask(This,aNetworkMask) ) 

#define IHostNetworkInterface_get_IPV6Supported(This,aIPV6Supported)	\
    ( (This)->lpVtbl -> get_IPV6Supported(This,aIPV6Supported) ) 

#define IHostNetworkInterface_get_IPV6Address(This,aIPV6Address)	\
    ( (This)->lpVtbl -> get_IPV6Address(This,aIPV6Address) ) 

#define IHostNetworkInterface_get_IPV6NetworkMaskPrefixLength(This,aIPV6NetworkMaskPrefixLength)	\
    ( (This)->lpVtbl -> get_IPV6NetworkMaskPrefixLength(This,aIPV6NetworkMaskPrefixLength) ) 

#define IHostNetworkInterface_get_HardwareAddress(This,aHardwareAddress)	\
    ( (This)->lpVtbl -> get_HardwareAddress(This,aHardwareAddress) ) 

#define IHostNetworkInterface_get_MediumType(This,aMediumType)	\
    ( (This)->lpVtbl -> get_MediumType(This,aMediumType) ) 

#define IHostNetworkInterface_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IHostNetworkInterface_get_InterfaceType(This,aInterfaceType)	\
    ( (This)->lpVtbl -> get_InterfaceType(This,aInterfaceType) ) 

#define IHostNetworkInterface_get_Wireless(This,aWireless)	\
    ( (This)->lpVtbl -> get_Wireless(This,aWireless) ) 

#define IHostNetworkInterface_get_InternalAndReservedAttribute1IHostNetworkInterface(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IHostNetworkInterface(This,aReserved) ) 

#define IHostNetworkInterface_get_InternalAndReservedAttribute2IHostNetworkInterface(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IHostNetworkInterface(This,aReserved) ) 

#define IHostNetworkInterface_get_InternalAndReservedAttribute3IHostNetworkInterface(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IHostNetworkInterface(This,aReserved) ) 

#define IHostNetworkInterface_get_InternalAndReservedAttribute4IHostNetworkInterface(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IHostNetworkInterface(This,aReserved) ) 

#define IHostNetworkInterface_EnableStaticIPConfig(This,aIPAddress,aNetworkMask)	\
    ( (This)->lpVtbl -> EnableStaticIPConfig(This,aIPAddress,aNetworkMask) ) 

#define IHostNetworkInterface_EnableStaticIPConfigV6(This,aIPV6Address,aIPV6NetworkMaskPrefixLength)	\
    ( (This)->lpVtbl -> EnableStaticIPConfigV6(This,aIPV6Address,aIPV6NetworkMaskPrefixLength) ) 

#define IHostNetworkInterface_EnableDynamicIPConfig(This)	\
    ( (This)->lpVtbl -> EnableDynamicIPConfig(This) ) 

#define IHostNetworkInterface_DHCPRediscover(This)	\
    ( (This)->lpVtbl -> DHCPRediscover(This) ) 

#define IHostNetworkInterface_InternalAndReservedMethod1IHostNetworkInterface(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IHostNetworkInterface(This) ) 

#define IHostNetworkInterface_InternalAndReservedMethod2IHostNetworkInterface(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IHostNetworkInterface(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostNetworkInterface_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0035 */
/* [local] */ 

#define COM_FORWARD_IHostNetworkInterface_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_Name_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_Name_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_ShortName_TO(smth) HRESULT STDMETHODCALLTYPE get_ShortName (BSTR * aShortName) { return smth get_ShortName (aShortName); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_ShortName_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_ShortName_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_ShortName_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_ShortName_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_Id_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_Id_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkName (BSTR * aNetworkName) { return smth get_NetworkName (aNetworkName); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_NetworkName_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkName_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_NetworkName_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_DHCPEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_DHCPEnabled (BOOL * aDHCPEnabled) { return smth get_DHCPEnabled (aDHCPEnabled); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_DHCPEnabled_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_DHCPEnabled_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_DHCPEnabled_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_DHCPEnabled_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_IPAddress (BSTR * aIPAddress) { return smth get_IPAddress (aIPAddress); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPAddress_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_IPAddress_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPAddress_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_IPAddress_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkMask_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkMask (BSTR * aNetworkMask) { return smth get_NetworkMask (aNetworkMask); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkMask_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_NetworkMask_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_NetworkMask_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_NetworkMask_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Supported_TO(smth) HRESULT STDMETHODCALLTYPE get_IPV6Supported (BOOL * aIPV6Supported) { return smth get_IPV6Supported (aIPV6Supported); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Supported_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Supported_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Supported_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Supported_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Address_TO(smth) HRESULT STDMETHODCALLTYPE get_IPV6Address (BSTR * aIPV6Address) { return smth get_IPV6Address (aIPV6Address); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Address_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Address_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Address_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Address_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6NetworkMaskPrefixLength_TO(smth) HRESULT STDMETHODCALLTYPE get_IPV6NetworkMaskPrefixLength (ULONG * aIPV6NetworkMaskPrefixLength) { return smth get_IPV6NetworkMaskPrefixLength (aIPV6NetworkMaskPrefixLength); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6NetworkMaskPrefixLength_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6NetworkMaskPrefixLength_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_IPV6NetworkMaskPrefixLength_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6NetworkMaskPrefixLength_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_HardwareAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_HardwareAddress (BSTR * aHardwareAddress) { return smth get_HardwareAddress (aHardwareAddress); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_HardwareAddress_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_HardwareAddress_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_HardwareAddress_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_HardwareAddress_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_MediumType_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumType (HostNetworkInterfaceMediumType * aMediumType) { return smth get_MediumType (aMediumType); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_MediumType_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_MediumType_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_MediumType_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_MediumType_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (HostNetworkInterfaceStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_Status_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_Status_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_InterfaceType_TO(smth) HRESULT STDMETHODCALLTYPE get_InterfaceType (HostNetworkInterfaceType * aInterfaceType) { return smth get_InterfaceType (aInterfaceType); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_InterfaceType_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_InterfaceType_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_InterfaceType_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_InterfaceType_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_GETTER_Wireless_TO(smth) HRESULT STDMETHODCALLTYPE get_Wireless (BOOL * aWireless) { return smth get_Wireless (aWireless); }
#define COM_FORWARD_IHostNetworkInterface_GETTER_Wireless_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_GETTER_Wireless_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_GETTER_Wireless_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_GETTER_Wireless_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfig_TO(smth) HRESULT STDMETHODCALLTYPE EnableStaticIPConfig (BSTR aIPAddress, BSTR aNetworkMask) { return smth EnableStaticIPConfig (aIPAddress, aNetworkMask); }
#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfig_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfig_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfig_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfig_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfigV6_TO(smth) HRESULT STDMETHODCALLTYPE EnableStaticIPConfigV6 (BSTR aIPV6Address, ULONG aIPV6NetworkMaskPrefixLength) { return smth EnableStaticIPConfigV6 (aIPV6Address, aIPV6NetworkMaskPrefixLength); }
#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfigV6_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfigV6_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfigV6_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfigV6_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_EnableDynamicIPConfig_TO(smth) HRESULT STDMETHODCALLTYPE EnableDynamicIPConfig() { return smth EnableDynamicIPConfig(); }
#define COM_FORWARD_IHostNetworkInterface_EnableDynamicIPConfig_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_EnableDynamicIPConfig_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_EnableDynamicIPConfig_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_EnableDynamicIPConfig_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_DHCPRediscover_TO(smth) HRESULT STDMETHODCALLTYPE DHCPRediscover() { return smth DHCPRediscover(); }
#define COM_FORWARD_IHostNetworkInterface_DHCPRediscover_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_DHCPRediscover_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_DHCPRediscover_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_DHCPRediscover_TO (base::)
#define COM_FORWARD_IHostNetworkInterface_TO(smth) COM_FORWARD_IHostNetworkInterface_GETTER_Name_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_ShortName_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_Id_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_NetworkName_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_DHCPEnabled_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_IPAddress_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_NetworkMask_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Supported_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6Address_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_IPV6NetworkMaskPrefixLength_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_HardwareAddress_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_MediumType_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_Status_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_InterfaceType_TO (smth) COM_FORWARD_IHostNetworkInterface_GETTER_Wireless_TO (smth) COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfig_TO (smth) COM_FORWARD_IHostNetworkInterface_EnableStaticIPConfigV6_TO (smth) COM_FORWARD_IHostNetworkInterface_EnableDynamicIPConfig_TO (smth) COM_FORWARD_IHostNetworkInterface_DHCPRediscover_TO (smth) 
#define COM_FORWARD_IHostNetworkInterface_TO_OBJ(obj) COM_FORWARD_IHostNetworkInterface_TO ((obj)->)
#define COM_FORWARD_IHostNetworkInterface_TO_BASE(base) COM_FORWARD_IHostNetworkInterface_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0035_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0035_v0_0_s_ifspec;

#ifndef __IHostVideoInputDevice_INTERFACE_DEFINED__
#define __IHostVideoInputDevice_INTERFACE_DEFINED__

/* interface IHostVideoInputDevice */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostVideoInputDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e8c25d4d-ac97-4c16-b3e2-81bd8a57cc27")
    IHostVideoInputDevice : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *aPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Alias( 
            /* [retval][out] */ BSTR *aAlias) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IHostVideoInputDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IHostVideoInputDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IHostVideoInputDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IHostVideoInputDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostVideoInputDeviceVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostVideoInputDevice * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostVideoInputDevice * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostVideoInputDevice * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostVideoInputDevice * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostVideoInputDevice * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostVideoInputDevice * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostVideoInputDevice * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IHostVideoInputDevice, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IHostVideoInputDevice * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IHostVideoInputDevice, get_Path)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IHostVideoInputDevice * This,
            /* [retval][out] */ BSTR *aPath);
        
        DECLSPEC_XFGVIRT(IHostVideoInputDevice, get_Alias)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Alias )( 
            IHostVideoInputDevice * This,
            /* [retval][out] */ BSTR *aAlias);
        
        DECLSPEC_XFGVIRT(IHostVideoInputDevice, get_InternalAndReservedAttribute1IHostVideoInputDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IHostVideoInputDevice )( 
            IHostVideoInputDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostVideoInputDevice, get_InternalAndReservedAttribute2IHostVideoInputDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IHostVideoInputDevice )( 
            IHostVideoInputDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostVideoInputDevice, get_InternalAndReservedAttribute3IHostVideoInputDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IHostVideoInputDevice )( 
            IHostVideoInputDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostVideoInputDevice, get_InternalAndReservedAttribute4IHostVideoInputDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IHostVideoInputDevice )( 
            IHostVideoInputDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IHostVideoInputDeviceVtbl;

    interface IHostVideoInputDevice
    {
        CONST_VTBL struct IHostVideoInputDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostVideoInputDevice_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostVideoInputDevice_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostVideoInputDevice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostVideoInputDevice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostVideoInputDevice_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IHostVideoInputDevice_get_Path(This,aPath)	\
    ( (This)->lpVtbl -> get_Path(This,aPath) ) 

#define IHostVideoInputDevice_get_Alias(This,aAlias)	\
    ( (This)->lpVtbl -> get_Alias(This,aAlias) ) 

#define IHostVideoInputDevice_get_InternalAndReservedAttribute1IHostVideoInputDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IHostVideoInputDevice(This,aReserved) ) 

#define IHostVideoInputDevice_get_InternalAndReservedAttribute2IHostVideoInputDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IHostVideoInputDevice(This,aReserved) ) 

#define IHostVideoInputDevice_get_InternalAndReservedAttribute3IHostVideoInputDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IHostVideoInputDevice(This,aReserved) ) 

#define IHostVideoInputDevice_get_InternalAndReservedAttribute4IHostVideoInputDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IHostVideoInputDevice(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostVideoInputDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0036 */
/* [local] */ 

#define COM_FORWARD_IHostVideoInputDevice_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IHostVideoInputDevice_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IHostVideoInputDevice_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IHostVideoInputDevice_GETTER_Name_TO_BASE(base) COM_FORWARD_IHostVideoInputDevice_GETTER_Name_TO (base::)
#define COM_FORWARD_IHostVideoInputDevice_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }
#define COM_FORWARD_IHostVideoInputDevice_GETTER_Path_TO_OBJ(obj) COM_FORWARD_IHostVideoInputDevice_GETTER_Path_TO ((obj)->)
#define COM_FORWARD_IHostVideoInputDevice_GETTER_Path_TO_BASE(base) COM_FORWARD_IHostVideoInputDevice_GETTER_Path_TO (base::)
#define COM_FORWARD_IHostVideoInputDevice_GETTER_Alias_TO(smth) HRESULT STDMETHODCALLTYPE get_Alias (BSTR * aAlias) { return smth get_Alias (aAlias); }
#define COM_FORWARD_IHostVideoInputDevice_GETTER_Alias_TO_OBJ(obj) COM_FORWARD_IHostVideoInputDevice_GETTER_Alias_TO ((obj)->)
#define COM_FORWARD_IHostVideoInputDevice_GETTER_Alias_TO_BASE(base) COM_FORWARD_IHostVideoInputDevice_GETTER_Alias_TO (base::)
#define COM_FORWARD_IHostVideoInputDevice_TO(smth) COM_FORWARD_IHostVideoInputDevice_GETTER_Name_TO (smth) COM_FORWARD_IHostVideoInputDevice_GETTER_Path_TO (smth) COM_FORWARD_IHostVideoInputDevice_GETTER_Alias_TO (smth) 
#define COM_FORWARD_IHostVideoInputDevice_TO_OBJ(obj) COM_FORWARD_IHostVideoInputDevice_TO ((obj)->)
#define COM_FORWARD_IHostVideoInputDevice_TO_BASE(base) COM_FORWARD_IHostVideoInputDevice_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0036_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0036_v0_0_s_ifspec;

#ifndef __IUpdateAgent_INTERFACE_DEFINED__
#define __IUpdateAgent_INTERFACE_DEFINED__

/* interface IUpdateAgent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUpdateAgent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c4b1b5f4-8cdf-4923-9ef6-b92476a84109")
    IUpdateAgent : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Order( 
            /* [retval][out] */ ULONG *aOrder) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DependsOn( 
            /* [retval][out] */ SAFEARRAY * *aDependsOn) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ BSTR *aVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DownloadUrl( 
            /* [retval][out] */ BSTR *aDownloadUrl) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WebUrl( 
            /* [retval][out] */ BSTR *aWebUrl) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReleaseNotes( 
            /* [retval][out] */ BSTR *aReleaseNotes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Hidden( 
            /* [retval][out] */ BOOL *aHidden) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ UpdateState *aState) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CheckFrequency( 
            /* [retval][out] */ ULONG *aCheckFrequency) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CheckFrequency( 
            /* [in] */ ULONG aCheckFrequency) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Channel( 
            /* [retval][out] */ UpdateChannel *aChannel) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Channel( 
            /* [in] */ UpdateChannel aChannel) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RepositoryURL( 
            /* [retval][out] */ BSTR *aRepositoryURL) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RepositoryURL( 
            /* [in] */ BSTR aRepositoryURL) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LastCheckDate( 
            /* [retval][out] */ BSTR *aLastCheckDate) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CheckCount( 
            /* [retval][out] */ ULONG *aCheckCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsCheckNeeded( 
            /* [retval][out] */ BOOL *aIsCheckNeeded) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedChannels( 
            /* [retval][out] */ SAFEARRAY * *aSupportedChannels) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IUpdateAgent( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IUpdateAgent( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IUpdateAgent( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IUpdateAgent( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CheckFor( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Download( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Install( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rollback( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IUpdateAgent( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IUpdateAgent( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUpdateAgentVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUpdateAgent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUpdateAgent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUpdateAgent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUpdateAgent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUpdateAgent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUpdateAgent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUpdateAgent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IUpdateAgent * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IUpdateAgent * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Order)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Order )( 
            IUpdateAgent * This,
            /* [retval][out] */ ULONG *aOrder);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_DependsOn)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DependsOn )( 
            IUpdateAgent * This,
            /* [retval][out] */ SAFEARRAY * *aDependsOn);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Version)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IUpdateAgent * This,
            /* [retval][out] */ BSTR *aVersion);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_DownloadUrl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadUrl )( 
            IUpdateAgent * This,
            /* [retval][out] */ BSTR *aDownloadUrl);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_WebUrl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebUrl )( 
            IUpdateAgent * This,
            /* [retval][out] */ BSTR *aWebUrl);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_ReleaseNotes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( 
            IUpdateAgent * This,
            /* [retval][out] */ BSTR *aReleaseNotes);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IUpdateAgent * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IUpdateAgent * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Hidden)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Hidden )( 
            IUpdateAgent * This,
            /* [retval][out] */ BOOL *aHidden);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IUpdateAgent * This,
            /* [retval][out] */ UpdateState *aState);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_CheckFrequency)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CheckFrequency )( 
            IUpdateAgent * This,
            /* [retval][out] */ ULONG *aCheckFrequency);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, put_CheckFrequency)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CheckFrequency )( 
            IUpdateAgent * This,
            /* [in] */ ULONG aCheckFrequency);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Channel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
            IUpdateAgent * This,
            /* [retval][out] */ UpdateChannel *aChannel);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, put_Channel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
            IUpdateAgent * This,
            /* [in] */ UpdateChannel aChannel);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_RepositoryURL)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RepositoryURL )( 
            IUpdateAgent * This,
            /* [retval][out] */ BSTR *aRepositoryURL);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, put_RepositoryURL)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RepositoryURL )( 
            IUpdateAgent * This,
            /* [in] */ BSTR aRepositoryURL);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_LastCheckDate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastCheckDate )( 
            IUpdateAgent * This,
            /* [retval][out] */ BSTR *aLastCheckDate);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_CheckCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CheckCount )( 
            IUpdateAgent * This,
            /* [retval][out] */ ULONG *aCheckCount);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_IsCheckNeeded)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCheckNeeded )( 
            IUpdateAgent * This,
            /* [retval][out] */ BOOL *aIsCheckNeeded);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_SupportedChannels)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedChannels )( 
            IUpdateAgent * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedChannels);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_InternalAndReservedAttribute1IUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IUpdateAgent )( 
            IUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_InternalAndReservedAttribute2IUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IUpdateAgent )( 
            IUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_InternalAndReservedAttribute3IUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IUpdateAgent )( 
            IUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_InternalAndReservedAttribute4IUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IUpdateAgent )( 
            IUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, CheckFor)
        HRESULT ( STDMETHODCALLTYPE *CheckFor )( 
            IUpdateAgent * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, Download)
        HRESULT ( STDMETHODCALLTYPE *Download )( 
            IUpdateAgent * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, Install)
        HRESULT ( STDMETHODCALLTYPE *Install )( 
            IUpdateAgent * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, Rollback)
        HRESULT ( STDMETHODCALLTYPE *Rollback )( 
            IUpdateAgent * This);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, InternalAndReservedMethod1IUpdateAgent)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IUpdateAgent )( 
            IUpdateAgent * This);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, InternalAndReservedMethod2IUpdateAgent)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IUpdateAgent )( 
            IUpdateAgent * This);
        
        END_INTERFACE
    } IUpdateAgentVtbl;

    interface IUpdateAgent
    {
        CONST_VTBL struct IUpdateAgentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUpdateAgent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUpdateAgent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUpdateAgent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUpdateAgent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUpdateAgent_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IUpdateAgent_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IUpdateAgent_get_Order(This,aOrder)	\
    ( (This)->lpVtbl -> get_Order(This,aOrder) ) 

#define IUpdateAgent_get_DependsOn(This,aDependsOn)	\
    ( (This)->lpVtbl -> get_DependsOn(This,aDependsOn) ) 

#define IUpdateAgent_get_Version(This,aVersion)	\
    ( (This)->lpVtbl -> get_Version(This,aVersion) ) 

#define IUpdateAgent_get_DownloadUrl(This,aDownloadUrl)	\
    ( (This)->lpVtbl -> get_DownloadUrl(This,aDownloadUrl) ) 

#define IUpdateAgent_get_WebUrl(This,aWebUrl)	\
    ( (This)->lpVtbl -> get_WebUrl(This,aWebUrl) ) 

#define IUpdateAgent_get_ReleaseNotes(This,aReleaseNotes)	\
    ( (This)->lpVtbl -> get_ReleaseNotes(This,aReleaseNotes) ) 

#define IUpdateAgent_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IUpdateAgent_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define IUpdateAgent_get_Hidden(This,aHidden)	\
    ( (This)->lpVtbl -> get_Hidden(This,aHidden) ) 

#define IUpdateAgent_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#define IUpdateAgent_get_CheckFrequency(This,aCheckFrequency)	\
    ( (This)->lpVtbl -> get_CheckFrequency(This,aCheckFrequency) ) 

#define IUpdateAgent_put_CheckFrequency(This,aCheckFrequency)	\
    ( (This)->lpVtbl -> put_CheckFrequency(This,aCheckFrequency) ) 

#define IUpdateAgent_get_Channel(This,aChannel)	\
    ( (This)->lpVtbl -> get_Channel(This,aChannel) ) 

#define IUpdateAgent_put_Channel(This,aChannel)	\
    ( (This)->lpVtbl -> put_Channel(This,aChannel) ) 

#define IUpdateAgent_get_RepositoryURL(This,aRepositoryURL)	\
    ( (This)->lpVtbl -> get_RepositoryURL(This,aRepositoryURL) ) 

#define IUpdateAgent_put_RepositoryURL(This,aRepositoryURL)	\
    ( (This)->lpVtbl -> put_RepositoryURL(This,aRepositoryURL) ) 

#define IUpdateAgent_get_LastCheckDate(This,aLastCheckDate)	\
    ( (This)->lpVtbl -> get_LastCheckDate(This,aLastCheckDate) ) 

#define IUpdateAgent_get_CheckCount(This,aCheckCount)	\
    ( (This)->lpVtbl -> get_CheckCount(This,aCheckCount) ) 

#define IUpdateAgent_get_IsCheckNeeded(This,aIsCheckNeeded)	\
    ( (This)->lpVtbl -> get_IsCheckNeeded(This,aIsCheckNeeded) ) 

#define IUpdateAgent_get_SupportedChannels(This,aSupportedChannels)	\
    ( (This)->lpVtbl -> get_SupportedChannels(This,aSupportedChannels) ) 

#define IUpdateAgent_get_InternalAndReservedAttribute1IUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IUpdateAgent(This,aReserved) ) 

#define IUpdateAgent_get_InternalAndReservedAttribute2IUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IUpdateAgent(This,aReserved) ) 

#define IUpdateAgent_get_InternalAndReservedAttribute3IUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IUpdateAgent(This,aReserved) ) 

#define IUpdateAgent_get_InternalAndReservedAttribute4IUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IUpdateAgent(This,aReserved) ) 

#define IUpdateAgent_CheckFor(This,aProgress)	\
    ( (This)->lpVtbl -> CheckFor(This,aProgress) ) 

#define IUpdateAgent_Download(This,aProgress)	\
    ( (This)->lpVtbl -> Download(This,aProgress) ) 

#define IUpdateAgent_Install(This,aProgress)	\
    ( (This)->lpVtbl -> Install(This,aProgress) ) 

#define IUpdateAgent_Rollback(This)	\
    ( (This)->lpVtbl -> Rollback(This) ) 

#define IUpdateAgent_InternalAndReservedMethod1IUpdateAgent(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IUpdateAgent(This) ) 

#define IUpdateAgent_InternalAndReservedMethod2IUpdateAgent(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IUpdateAgent(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUpdateAgent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0037 */
/* [local] */ 

#define COM_FORWARD_IUpdateAgent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IUpdateAgent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_Name_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Name_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IUpdateAgent_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_Order_TO(smth) HRESULT STDMETHODCALLTYPE get_Order (ULONG * aOrder) { return smth get_Order (aOrder); }
#define COM_FORWARD_IUpdateAgent_GETTER_Order_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Order_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_Order_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Order_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_DependsOn_TO(smth) HRESULT STDMETHODCALLTYPE get_DependsOn (SAFEARRAY * * aDependsOn) { return smth get_DependsOn (aDependsOn); }
#define COM_FORWARD_IUpdateAgent_GETTER_DependsOn_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_DependsOn_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_DependsOn_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_DependsOn_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_Version_TO(smth) HRESULT STDMETHODCALLTYPE get_Version (BSTR * aVersion) { return smth get_Version (aVersion); }
#define COM_FORWARD_IUpdateAgent_GETTER_Version_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Version_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_Version_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Version_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_DownloadUrl_TO(smth) HRESULT STDMETHODCALLTYPE get_DownloadUrl (BSTR * aDownloadUrl) { return smth get_DownloadUrl (aDownloadUrl); }
#define COM_FORWARD_IUpdateAgent_GETTER_DownloadUrl_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_DownloadUrl_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_DownloadUrl_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_DownloadUrl_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_WebUrl_TO(smth) HRESULT STDMETHODCALLTYPE get_WebUrl (BSTR * aWebUrl) { return smth get_WebUrl (aWebUrl); }
#define COM_FORWARD_IUpdateAgent_GETTER_WebUrl_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_WebUrl_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_WebUrl_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_WebUrl_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_ReleaseNotes_TO(smth) HRESULT STDMETHODCALLTYPE get_ReleaseNotes (BSTR * aReleaseNotes) { return smth get_ReleaseNotes (aReleaseNotes); }
#define COM_FORWARD_IUpdateAgent_GETTER_ReleaseNotes_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_ReleaseNotes_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_ReleaseNotes_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_ReleaseNotes_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_IUpdateAgent_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Enabled_TO (base::)
#define COM_FORWARD_IUpdateAgent_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_IUpdateAgent_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IUpdateAgent_SETTER_Enabled_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_Hidden_TO(smth) HRESULT STDMETHODCALLTYPE get_Hidden (BOOL * aHidden) { return smth get_Hidden (aHidden); }
#define COM_FORWARD_IUpdateAgent_GETTER_Hidden_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Hidden_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_Hidden_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Hidden_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (UpdateState * aState) { return smth get_State (aState); }
#define COM_FORWARD_IUpdateAgent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_State_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_State_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_State_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_CheckFrequency_TO(smth) HRESULT STDMETHODCALLTYPE get_CheckFrequency (ULONG * aCheckFrequency) { return smth get_CheckFrequency (aCheckFrequency); }
#define COM_FORWARD_IUpdateAgent_GETTER_CheckFrequency_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_CheckFrequency_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_CheckFrequency_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_CheckFrequency_TO (base::)
#define COM_FORWARD_IUpdateAgent_SETTER_CheckFrequency_TO(smth) HRESULT STDMETHODCALLTYPE put_CheckFrequency (ULONG aCheckFrequency) { return smth put_CheckFrequency (aCheckFrequency); }
#define COM_FORWARD_IUpdateAgent_SETTER_CheckFrequency_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_SETTER_CheckFrequency_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_SETTER_CheckFrequency_TO_BASE(base) COM_FORWARD_IUpdateAgent_SETTER_CheckFrequency_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_Channel_TO(smth) HRESULT STDMETHODCALLTYPE get_Channel (UpdateChannel * aChannel) { return smth get_Channel (aChannel); }
#define COM_FORWARD_IUpdateAgent_GETTER_Channel_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_Channel_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_Channel_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_Channel_TO (base::)
#define COM_FORWARD_IUpdateAgent_SETTER_Channel_TO(smth) HRESULT STDMETHODCALLTYPE put_Channel (UpdateChannel aChannel) { return smth put_Channel (aChannel); }
#define COM_FORWARD_IUpdateAgent_SETTER_Channel_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_SETTER_Channel_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_SETTER_Channel_TO_BASE(base) COM_FORWARD_IUpdateAgent_SETTER_Channel_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_RepositoryURL_TO(smth) HRESULT STDMETHODCALLTYPE get_RepositoryURL (BSTR * aRepositoryURL) { return smth get_RepositoryURL (aRepositoryURL); }
#define COM_FORWARD_IUpdateAgent_GETTER_RepositoryURL_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_RepositoryURL_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_RepositoryURL_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_RepositoryURL_TO (base::)
#define COM_FORWARD_IUpdateAgent_SETTER_RepositoryURL_TO(smth) HRESULT STDMETHODCALLTYPE put_RepositoryURL (BSTR aRepositoryURL) { return smth put_RepositoryURL (aRepositoryURL); }
#define COM_FORWARD_IUpdateAgent_SETTER_RepositoryURL_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_SETTER_RepositoryURL_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_SETTER_RepositoryURL_TO_BASE(base) COM_FORWARD_IUpdateAgent_SETTER_RepositoryURL_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_LastCheckDate_TO(smth) HRESULT STDMETHODCALLTYPE get_LastCheckDate (BSTR * aLastCheckDate) { return smth get_LastCheckDate (aLastCheckDate); }
#define COM_FORWARD_IUpdateAgent_GETTER_LastCheckDate_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_LastCheckDate_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_LastCheckDate_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_LastCheckDate_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_CheckCount_TO(smth) HRESULT STDMETHODCALLTYPE get_CheckCount (ULONG * aCheckCount) { return smth get_CheckCount (aCheckCount); }
#define COM_FORWARD_IUpdateAgent_GETTER_CheckCount_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_CheckCount_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_CheckCount_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_CheckCount_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_IsCheckNeeded_TO(smth) HRESULT STDMETHODCALLTYPE get_IsCheckNeeded (BOOL * aIsCheckNeeded) { return smth get_IsCheckNeeded (aIsCheckNeeded); }
#define COM_FORWARD_IUpdateAgent_GETTER_IsCheckNeeded_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_IsCheckNeeded_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_IsCheckNeeded_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_IsCheckNeeded_TO (base::)
#define COM_FORWARD_IUpdateAgent_GETTER_SupportedChannels_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedChannels (SAFEARRAY * * aSupportedChannels) { return smth get_SupportedChannels (aSupportedChannels); }
#define COM_FORWARD_IUpdateAgent_GETTER_SupportedChannels_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_GETTER_SupportedChannels_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_GETTER_SupportedChannels_TO_BASE(base) COM_FORWARD_IUpdateAgent_GETTER_SupportedChannels_TO (base::)
#define COM_FORWARD_IUpdateAgent_CheckFor_TO(smth) HRESULT STDMETHODCALLTYPE CheckFor (IProgress * * aProgress) { return smth CheckFor (aProgress); }
#define COM_FORWARD_IUpdateAgent_CheckFor_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_CheckFor_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_CheckFor_TO_BASE(base) COM_FORWARD_IUpdateAgent_CheckFor_TO (base::)
#define COM_FORWARD_IUpdateAgent_Download_TO(smth) HRESULT STDMETHODCALLTYPE Download (IProgress * * aProgress) { return smth Download (aProgress); }
#define COM_FORWARD_IUpdateAgent_Download_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_Download_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_Download_TO_BASE(base) COM_FORWARD_IUpdateAgent_Download_TO (base::)
#define COM_FORWARD_IUpdateAgent_Install_TO(smth) HRESULT STDMETHODCALLTYPE Install (IProgress * * aProgress) { return smth Install (aProgress); }
#define COM_FORWARD_IUpdateAgent_Install_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_Install_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_Install_TO_BASE(base) COM_FORWARD_IUpdateAgent_Install_TO (base::)
#define COM_FORWARD_IUpdateAgent_Rollback_TO(smth) HRESULT STDMETHODCALLTYPE Rollback() { return smth Rollback(); }
#define COM_FORWARD_IUpdateAgent_Rollback_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_Rollback_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_Rollback_TO_BASE(base) COM_FORWARD_IUpdateAgent_Rollback_TO (base::)
#define COM_FORWARD_IUpdateAgent_TO(smth) COM_FORWARD_IUpdateAgent_GETTER_Name_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_EventSource_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_Order_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_DependsOn_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_Version_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_DownloadUrl_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_WebUrl_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_ReleaseNotes_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_Enabled_TO (smth) COM_FORWARD_IUpdateAgent_SETTER_Enabled_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_Hidden_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_State_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_CheckFrequency_TO (smth) COM_FORWARD_IUpdateAgent_SETTER_CheckFrequency_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_Channel_TO (smth) COM_FORWARD_IUpdateAgent_SETTER_Channel_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_RepositoryURL_TO (smth) COM_FORWARD_IUpdateAgent_SETTER_RepositoryURL_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_LastCheckDate_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_CheckCount_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_IsCheckNeeded_TO (smth) COM_FORWARD_IUpdateAgent_GETTER_SupportedChannels_TO (smth) COM_FORWARD_IUpdateAgent_CheckFor_TO (smth) COM_FORWARD_IUpdateAgent_Download_TO (smth) COM_FORWARD_IUpdateAgent_Install_TO (smth) COM_FORWARD_IUpdateAgent_Rollback_TO (smth) 
#define COM_FORWARD_IUpdateAgent_TO_OBJ(obj) COM_FORWARD_IUpdateAgent_TO ((obj)->)
#define COM_FORWARD_IUpdateAgent_TO_BASE(base) COM_FORWARD_IUpdateAgent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0037_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0037_v0_0_s_ifspec;

#ifndef __IHostUpdateAgent_INTERFACE_DEFINED__
#define __IHostUpdateAgent_INTERFACE_DEFINED__

/* interface IHostUpdateAgent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostUpdateAgent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d782dba7-cd4f-4ace-951a-58321c23e258")
    IHostUpdateAgent : public IUpdateAgent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IHostUpdateAgent( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IHostUpdateAgent( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IHostUpdateAgent( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IHostUpdateAgent( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IHostUpdateAgent( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IHostUpdateAgent( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostUpdateAgentVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostUpdateAgent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostUpdateAgent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostUpdateAgent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostUpdateAgent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostUpdateAgent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostUpdateAgent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostUpdateAgent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Order)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Order )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ ULONG *aOrder);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_DependsOn)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DependsOn )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ SAFEARRAY * *aDependsOn);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Version)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ BSTR *aVersion);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_DownloadUrl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadUrl )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ BSTR *aDownloadUrl);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_WebUrl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebUrl )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ BSTR *aWebUrl);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_ReleaseNotes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ BSTR *aReleaseNotes);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IHostUpdateAgent * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Hidden)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Hidden )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ BOOL *aHidden);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ UpdateState *aState);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_CheckFrequency)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CheckFrequency )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ ULONG *aCheckFrequency);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, put_CheckFrequency)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CheckFrequency )( 
            IHostUpdateAgent * This,
            /* [in] */ ULONG aCheckFrequency);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_Channel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ UpdateChannel *aChannel);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, put_Channel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
            IHostUpdateAgent * This,
            /* [in] */ UpdateChannel aChannel);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_RepositoryURL)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RepositoryURL )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ BSTR *aRepositoryURL);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, put_RepositoryURL)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RepositoryURL )( 
            IHostUpdateAgent * This,
            /* [in] */ BSTR aRepositoryURL);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_LastCheckDate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastCheckDate )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ BSTR *aLastCheckDate);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_CheckCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CheckCount )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ ULONG *aCheckCount);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_IsCheckNeeded)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCheckNeeded )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ BOOL *aIsCheckNeeded);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_SupportedChannels)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedChannels )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedChannels);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_InternalAndReservedAttribute1IUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IUpdateAgent )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_InternalAndReservedAttribute2IUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IUpdateAgent )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_InternalAndReservedAttribute3IUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IUpdateAgent )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, get_InternalAndReservedAttribute4IUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IUpdateAgent )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, CheckFor)
        HRESULT ( STDMETHODCALLTYPE *CheckFor )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, Download)
        HRESULT ( STDMETHODCALLTYPE *Download )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, Install)
        HRESULT ( STDMETHODCALLTYPE *Install )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, Rollback)
        HRESULT ( STDMETHODCALLTYPE *Rollback )( 
            IHostUpdateAgent * This);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, InternalAndReservedMethod1IUpdateAgent)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IUpdateAgent )( 
            IHostUpdateAgent * This);
        
        DECLSPEC_XFGVIRT(IUpdateAgent, InternalAndReservedMethod2IUpdateAgent)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IUpdateAgent )( 
            IHostUpdateAgent * This);
        
        DECLSPEC_XFGVIRT(IHostUpdateAgent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        DECLSPEC_XFGVIRT(IHostUpdateAgent, get_InternalAndReservedAttribute1IHostUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IHostUpdateAgent )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUpdateAgent, get_InternalAndReservedAttribute2IHostUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IHostUpdateAgent )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUpdateAgent, get_InternalAndReservedAttribute3IHostUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IHostUpdateAgent )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUpdateAgent, get_InternalAndReservedAttribute4IHostUpdateAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IHostUpdateAgent )( 
            IHostUpdateAgent * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUpdateAgent, InternalAndReservedMethod1IHostUpdateAgent)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IHostUpdateAgent )( 
            IHostUpdateAgent * This);
        
        DECLSPEC_XFGVIRT(IHostUpdateAgent, InternalAndReservedMethod2IHostUpdateAgent)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IHostUpdateAgent )( 
            IHostUpdateAgent * This);
        
        END_INTERFACE
    } IHostUpdateAgentVtbl;

    interface IHostUpdateAgent
    {
        CONST_VTBL struct IHostUpdateAgentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostUpdateAgent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostUpdateAgent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostUpdateAgent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostUpdateAgent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostUpdateAgent_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IHostUpdateAgent_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IHostUpdateAgent_get_Order(This,aOrder)	\
    ( (This)->lpVtbl -> get_Order(This,aOrder) ) 

#define IHostUpdateAgent_get_DependsOn(This,aDependsOn)	\
    ( (This)->lpVtbl -> get_DependsOn(This,aDependsOn) ) 

#define IHostUpdateAgent_get_Version(This,aVersion)	\
    ( (This)->lpVtbl -> get_Version(This,aVersion) ) 

#define IHostUpdateAgent_get_DownloadUrl(This,aDownloadUrl)	\
    ( (This)->lpVtbl -> get_DownloadUrl(This,aDownloadUrl) ) 

#define IHostUpdateAgent_get_WebUrl(This,aWebUrl)	\
    ( (This)->lpVtbl -> get_WebUrl(This,aWebUrl) ) 

#define IHostUpdateAgent_get_ReleaseNotes(This,aReleaseNotes)	\
    ( (This)->lpVtbl -> get_ReleaseNotes(This,aReleaseNotes) ) 

#define IHostUpdateAgent_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IHostUpdateAgent_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define IHostUpdateAgent_get_Hidden(This,aHidden)	\
    ( (This)->lpVtbl -> get_Hidden(This,aHidden) ) 

#define IHostUpdateAgent_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#define IHostUpdateAgent_get_CheckFrequency(This,aCheckFrequency)	\
    ( (This)->lpVtbl -> get_CheckFrequency(This,aCheckFrequency) ) 

#define IHostUpdateAgent_put_CheckFrequency(This,aCheckFrequency)	\
    ( (This)->lpVtbl -> put_CheckFrequency(This,aCheckFrequency) ) 

#define IHostUpdateAgent_get_Channel(This,aChannel)	\
    ( (This)->lpVtbl -> get_Channel(This,aChannel) ) 

#define IHostUpdateAgent_put_Channel(This,aChannel)	\
    ( (This)->lpVtbl -> put_Channel(This,aChannel) ) 

#define IHostUpdateAgent_get_RepositoryURL(This,aRepositoryURL)	\
    ( (This)->lpVtbl -> get_RepositoryURL(This,aRepositoryURL) ) 

#define IHostUpdateAgent_put_RepositoryURL(This,aRepositoryURL)	\
    ( (This)->lpVtbl -> put_RepositoryURL(This,aRepositoryURL) ) 

#define IHostUpdateAgent_get_LastCheckDate(This,aLastCheckDate)	\
    ( (This)->lpVtbl -> get_LastCheckDate(This,aLastCheckDate) ) 

#define IHostUpdateAgent_get_CheckCount(This,aCheckCount)	\
    ( (This)->lpVtbl -> get_CheckCount(This,aCheckCount) ) 

#define IHostUpdateAgent_get_IsCheckNeeded(This,aIsCheckNeeded)	\
    ( (This)->lpVtbl -> get_IsCheckNeeded(This,aIsCheckNeeded) ) 

#define IHostUpdateAgent_get_SupportedChannels(This,aSupportedChannels)	\
    ( (This)->lpVtbl -> get_SupportedChannels(This,aSupportedChannels) ) 

#define IHostUpdateAgent_get_InternalAndReservedAttribute1IUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IUpdateAgent(This,aReserved) ) 

#define IHostUpdateAgent_get_InternalAndReservedAttribute2IUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IUpdateAgent(This,aReserved) ) 

#define IHostUpdateAgent_get_InternalAndReservedAttribute3IUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IUpdateAgent(This,aReserved) ) 

#define IHostUpdateAgent_get_InternalAndReservedAttribute4IUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IUpdateAgent(This,aReserved) ) 

#define IHostUpdateAgent_CheckFor(This,aProgress)	\
    ( (This)->lpVtbl -> CheckFor(This,aProgress) ) 

#define IHostUpdateAgent_Download(This,aProgress)	\
    ( (This)->lpVtbl -> Download(This,aProgress) ) 

#define IHostUpdateAgent_Install(This,aProgress)	\
    ( (This)->lpVtbl -> Install(This,aProgress) ) 

#define IHostUpdateAgent_Rollback(This)	\
    ( (This)->lpVtbl -> Rollback(This) ) 

#define IHostUpdateAgent_InternalAndReservedMethod1IUpdateAgent(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IUpdateAgent(This) ) 

#define IHostUpdateAgent_InternalAndReservedMethod2IUpdateAgent(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IUpdateAgent(This) ) 


#define IHostUpdateAgent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#define IHostUpdateAgent_get_InternalAndReservedAttribute1IHostUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IHostUpdateAgent(This,aReserved) ) 

#define IHostUpdateAgent_get_InternalAndReservedAttribute2IHostUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IHostUpdateAgent(This,aReserved) ) 

#define IHostUpdateAgent_get_InternalAndReservedAttribute3IHostUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IHostUpdateAgent(This,aReserved) ) 

#define IHostUpdateAgent_get_InternalAndReservedAttribute4IHostUpdateAgent(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IHostUpdateAgent(This,aReserved) ) 

#define IHostUpdateAgent_InternalAndReservedMethod1IHostUpdateAgent(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IHostUpdateAgent(This) ) 

#define IHostUpdateAgent_InternalAndReservedMethod2IHostUpdateAgent(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IHostUpdateAgent(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostUpdateAgent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0038 */
/* [local] */ 

#define COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IHostUpdateAgent_TO(smth) COM_FORWARD_IHostUpdateAgent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IHostUpdateAgent_TO_OBJ(obj) COM_FORWARD_IHostUpdateAgent_TO ((obj)->)
#define COM_FORWARD_IHostUpdateAgent_TO_BASE(base) COM_FORWARD_IHostUpdateAgent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0038_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0038_v0_0_s_ifspec;

#ifndef __IHostDrivePartition_INTERFACE_DEFINED__
#define __IHostDrivePartition_INTERFACE_DEFINED__

/* interface IHostDrivePartition */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostDrivePartition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4f529a14-ace3-407c-9c49-066e8e8027f0")
    IHostDrivePartition : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Number( 
            /* [retval][out] */ ULONG *aNumber) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ LONG64 *aSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Start( 
            /* [retval][out] */ LONG64 *aStart) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ PartitionType *aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Active( 
            /* [retval][out] */ BOOL *aActive) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TypeMBR( 
            /* [retval][out] */ ULONG *aTypeMBR) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StartCylinder( 
            /* [retval][out] */ ULONG *aStartCylinder) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StartHead( 
            /* [retval][out] */ ULONG *aStartHead) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StartSector( 
            /* [retval][out] */ ULONG *aStartSector) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EndCylinder( 
            /* [retval][out] */ ULONG *aEndCylinder) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EndHead( 
            /* [retval][out] */ ULONG *aEndHead) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EndSector( 
            /* [retval][out] */ ULONG *aEndSector) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TypeUuid( 
            /* [retval][out] */ BSTR *aTypeUuid) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Uuid( 
            /* [retval][out] */ BSTR *aUuid) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostDrivePartitionVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostDrivePartition * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostDrivePartition * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostDrivePartition * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostDrivePartition * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostDrivePartition * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostDrivePartition * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostDrivePartition * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_Number)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Number )( 
            IHostDrivePartition * This,
            /* [retval][out] */ ULONG *aNumber);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_Size)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IHostDrivePartition * This,
            /* [retval][out] */ LONG64 *aSize);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_Start)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Start )( 
            IHostDrivePartition * This,
            /* [retval][out] */ LONG64 *aStart);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IHostDrivePartition * This,
            /* [retval][out] */ PartitionType *aType);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_Active)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Active )( 
            IHostDrivePartition * This,
            /* [retval][out] */ BOOL *aActive);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_TypeMBR)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TypeMBR )( 
            IHostDrivePartition * This,
            /* [retval][out] */ ULONG *aTypeMBR);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_StartCylinder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartCylinder )( 
            IHostDrivePartition * This,
            /* [retval][out] */ ULONG *aStartCylinder);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_StartHead)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartHead )( 
            IHostDrivePartition * This,
            /* [retval][out] */ ULONG *aStartHead);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_StartSector)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartSector )( 
            IHostDrivePartition * This,
            /* [retval][out] */ ULONG *aStartSector);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_EndCylinder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndCylinder )( 
            IHostDrivePartition * This,
            /* [retval][out] */ ULONG *aEndCylinder);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_EndHead)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndHead )( 
            IHostDrivePartition * This,
            /* [retval][out] */ ULONG *aEndHead);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_EndSector)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndSector )( 
            IHostDrivePartition * This,
            /* [retval][out] */ ULONG *aEndSector);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_TypeUuid)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TypeUuid )( 
            IHostDrivePartition * This,
            /* [retval][out] */ BSTR *aTypeUuid);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_Uuid)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uuid )( 
            IHostDrivePartition * This,
            /* [retval][out] */ BSTR *aUuid);
        
        DECLSPEC_XFGVIRT(IHostDrivePartition, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IHostDrivePartition * This,
            /* [retval][out] */ BSTR *aName);
        
        END_INTERFACE
    } IHostDrivePartitionVtbl;

    interface IHostDrivePartition
    {
        CONST_VTBL struct IHostDrivePartitionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostDrivePartition_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostDrivePartition_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostDrivePartition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostDrivePartition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostDrivePartition_get_Number(This,aNumber)	\
    ( (This)->lpVtbl -> get_Number(This,aNumber) ) 

#define IHostDrivePartition_get_Size(This,aSize)	\
    ( (This)->lpVtbl -> get_Size(This,aSize) ) 

#define IHostDrivePartition_get_Start(This,aStart)	\
    ( (This)->lpVtbl -> get_Start(This,aStart) ) 

#define IHostDrivePartition_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IHostDrivePartition_get_Active(This,aActive)	\
    ( (This)->lpVtbl -> get_Active(This,aActive) ) 

#define IHostDrivePartition_get_TypeMBR(This,aTypeMBR)	\
    ( (This)->lpVtbl -> get_TypeMBR(This,aTypeMBR) ) 

#define IHostDrivePartition_get_StartCylinder(This,aStartCylinder)	\
    ( (This)->lpVtbl -> get_StartCylinder(This,aStartCylinder) ) 

#define IHostDrivePartition_get_StartHead(This,aStartHead)	\
    ( (This)->lpVtbl -> get_StartHead(This,aStartHead) ) 

#define IHostDrivePartition_get_StartSector(This,aStartSector)	\
    ( (This)->lpVtbl -> get_StartSector(This,aStartSector) ) 

#define IHostDrivePartition_get_EndCylinder(This,aEndCylinder)	\
    ( (This)->lpVtbl -> get_EndCylinder(This,aEndCylinder) ) 

#define IHostDrivePartition_get_EndHead(This,aEndHead)	\
    ( (This)->lpVtbl -> get_EndHead(This,aEndHead) ) 

#define IHostDrivePartition_get_EndSector(This,aEndSector)	\
    ( (This)->lpVtbl -> get_EndSector(This,aEndSector) ) 

#define IHostDrivePartition_get_TypeUuid(This,aTypeUuid)	\
    ( (This)->lpVtbl -> get_TypeUuid(This,aTypeUuid) ) 

#define IHostDrivePartition_get_Uuid(This,aUuid)	\
    ( (This)->lpVtbl -> get_Uuid(This,aUuid) ) 

#define IHostDrivePartition_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostDrivePartition_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0039 */
/* [local] */ 

#define COM_FORWARD_IHostDrivePartition_GETTER_Number_TO(smth) HRESULT STDMETHODCALLTYPE get_Number (ULONG * aNumber) { return smth get_Number (aNumber); }
#define COM_FORWARD_IHostDrivePartition_GETTER_Number_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Number_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_Number_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Number_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_Size_TO(smth) HRESULT STDMETHODCALLTYPE get_Size (LONG64 * aSize) { return smth get_Size (aSize); }
#define COM_FORWARD_IHostDrivePartition_GETTER_Size_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Size_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_Size_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Size_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_Start_TO(smth) HRESULT STDMETHODCALLTYPE get_Start (LONG64 * aStart) { return smth get_Start (aStart); }
#define COM_FORWARD_IHostDrivePartition_GETTER_Start_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Start_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_Start_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Start_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (PartitionType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IHostDrivePartition_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_Type_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Type_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_Active_TO(smth) HRESULT STDMETHODCALLTYPE get_Active (BOOL * aActive) { return smth get_Active (aActive); }
#define COM_FORWARD_IHostDrivePartition_GETTER_Active_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Active_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_Active_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Active_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_TypeMBR_TO(smth) HRESULT STDMETHODCALLTYPE get_TypeMBR (ULONG * aTypeMBR) { return smth get_TypeMBR (aTypeMBR); }
#define COM_FORWARD_IHostDrivePartition_GETTER_TypeMBR_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_TypeMBR_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_TypeMBR_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_TypeMBR_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_StartCylinder_TO(smth) HRESULT STDMETHODCALLTYPE get_StartCylinder (ULONG * aStartCylinder) { return smth get_StartCylinder (aStartCylinder); }
#define COM_FORWARD_IHostDrivePartition_GETTER_StartCylinder_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_StartCylinder_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_StartCylinder_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_StartCylinder_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_StartHead_TO(smth) HRESULT STDMETHODCALLTYPE get_StartHead (ULONG * aStartHead) { return smth get_StartHead (aStartHead); }
#define COM_FORWARD_IHostDrivePartition_GETTER_StartHead_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_StartHead_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_StartHead_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_StartHead_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_StartSector_TO(smth) HRESULT STDMETHODCALLTYPE get_StartSector (ULONG * aStartSector) { return smth get_StartSector (aStartSector); }
#define COM_FORWARD_IHostDrivePartition_GETTER_StartSector_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_StartSector_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_StartSector_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_StartSector_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_EndCylinder_TO(smth) HRESULT STDMETHODCALLTYPE get_EndCylinder (ULONG * aEndCylinder) { return smth get_EndCylinder (aEndCylinder); }
#define COM_FORWARD_IHostDrivePartition_GETTER_EndCylinder_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_EndCylinder_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_EndCylinder_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_EndCylinder_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_EndHead_TO(smth) HRESULT STDMETHODCALLTYPE get_EndHead (ULONG * aEndHead) { return smth get_EndHead (aEndHead); }
#define COM_FORWARD_IHostDrivePartition_GETTER_EndHead_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_EndHead_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_EndHead_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_EndHead_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_EndSector_TO(smth) HRESULT STDMETHODCALLTYPE get_EndSector (ULONG * aEndSector) { return smth get_EndSector (aEndSector); }
#define COM_FORWARD_IHostDrivePartition_GETTER_EndSector_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_EndSector_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_EndSector_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_EndSector_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_TypeUuid_TO(smth) HRESULT STDMETHODCALLTYPE get_TypeUuid (BSTR * aTypeUuid) { return smth get_TypeUuid (aTypeUuid); }
#define COM_FORWARD_IHostDrivePartition_GETTER_TypeUuid_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_TypeUuid_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_TypeUuid_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_TypeUuid_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_Uuid_TO(smth) HRESULT STDMETHODCALLTYPE get_Uuid (BSTR * aUuid) { return smth get_Uuid (aUuid); }
#define COM_FORWARD_IHostDrivePartition_GETTER_Uuid_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Uuid_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_Uuid_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Uuid_TO (base::)
#define COM_FORWARD_IHostDrivePartition_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IHostDrivePartition_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_GETTER_Name_TO_BASE(base) COM_FORWARD_IHostDrivePartition_GETTER_Name_TO (base::)
#define COM_FORWARD_IHostDrivePartition_TO(smth) COM_FORWARD_IHostDrivePartition_GETTER_Number_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_Size_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_Start_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_Type_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_Active_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_TypeMBR_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_StartCylinder_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_StartHead_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_StartSector_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_EndCylinder_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_EndHead_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_EndSector_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_TypeUuid_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_Uuid_TO (smth) COM_FORWARD_IHostDrivePartition_GETTER_Name_TO (smth) 
#define COM_FORWARD_IHostDrivePartition_TO_OBJ(obj) COM_FORWARD_IHostDrivePartition_TO ((obj)->)
#define COM_FORWARD_IHostDrivePartition_TO_BASE(base) COM_FORWARD_IHostDrivePartition_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0039_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0039_v0_0_s_ifspec;

#ifndef __IHostDrive_INTERFACE_DEFINED__
#define __IHostDrive_INTERFACE_DEFINED__

/* interface IHostDrive */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostDrive;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("70e2e0c3-332c-4d72-b822-2db16e2cb31b")
    IHostDrive : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DrivePath( 
            /* [retval][out] */ BSTR *aDrivePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PartitioningType( 
            /* [retval][out] */ PartitioningType *aPartitioningType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Uuid( 
            /* [retval][out] */ BSTR *aUuid) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SectorSize( 
            /* [retval][out] */ ULONG *aSectorSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ LONG64 *aSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Model( 
            /* [retval][out] */ BSTR *aModel) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Partitions( 
            /* [retval][out] */ SAFEARRAY * *aPartitions) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostDriveVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostDrive * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostDrive * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostDrive * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostDrive * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostDrive * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostDrive * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostDrive * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IHostDrive, get_DrivePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DrivePath )( 
            IHostDrive * This,
            /* [retval][out] */ BSTR *aDrivePath);
        
        DECLSPEC_XFGVIRT(IHostDrive, get_PartitioningType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PartitioningType )( 
            IHostDrive * This,
            /* [retval][out] */ PartitioningType *aPartitioningType);
        
        DECLSPEC_XFGVIRT(IHostDrive, get_Uuid)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uuid )( 
            IHostDrive * This,
            /* [retval][out] */ BSTR *aUuid);
        
        DECLSPEC_XFGVIRT(IHostDrive, get_SectorSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SectorSize )( 
            IHostDrive * This,
            /* [retval][out] */ ULONG *aSectorSize);
        
        DECLSPEC_XFGVIRT(IHostDrive, get_Size)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IHostDrive * This,
            /* [retval][out] */ LONG64 *aSize);
        
        DECLSPEC_XFGVIRT(IHostDrive, get_Model)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Model )( 
            IHostDrive * This,
            /* [retval][out] */ BSTR *aModel);
        
        DECLSPEC_XFGVIRT(IHostDrive, get_Partitions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Partitions )( 
            IHostDrive * This,
            /* [retval][out] */ SAFEARRAY * *aPartitions);
        
        END_INTERFACE
    } IHostDriveVtbl;

    interface IHostDrive
    {
        CONST_VTBL struct IHostDriveVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostDrive_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostDrive_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostDrive_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostDrive_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostDrive_get_DrivePath(This,aDrivePath)	\
    ( (This)->lpVtbl -> get_DrivePath(This,aDrivePath) ) 

#define IHostDrive_get_PartitioningType(This,aPartitioningType)	\
    ( (This)->lpVtbl -> get_PartitioningType(This,aPartitioningType) ) 

#define IHostDrive_get_Uuid(This,aUuid)	\
    ( (This)->lpVtbl -> get_Uuid(This,aUuid) ) 

#define IHostDrive_get_SectorSize(This,aSectorSize)	\
    ( (This)->lpVtbl -> get_SectorSize(This,aSectorSize) ) 

#define IHostDrive_get_Size(This,aSize)	\
    ( (This)->lpVtbl -> get_Size(This,aSize) ) 

#define IHostDrive_get_Model(This,aModel)	\
    ( (This)->lpVtbl -> get_Model(This,aModel) ) 

#define IHostDrive_get_Partitions(This,aPartitions)	\
    ( (This)->lpVtbl -> get_Partitions(This,aPartitions) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostDrive_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0040 */
/* [local] */ 

#define COM_FORWARD_IHostDrive_GETTER_DrivePath_TO(smth) HRESULT STDMETHODCALLTYPE get_DrivePath (BSTR * aDrivePath) { return smth get_DrivePath (aDrivePath); }
#define COM_FORWARD_IHostDrive_GETTER_DrivePath_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_DrivePath_TO ((obj)->)
#define COM_FORWARD_IHostDrive_GETTER_DrivePath_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_DrivePath_TO (base::)
#define COM_FORWARD_IHostDrive_GETTER_PartitioningType_TO(smth) HRESULT STDMETHODCALLTYPE get_PartitioningType (PartitioningType * aPartitioningType) { return smth get_PartitioningType (aPartitioningType); }
#define COM_FORWARD_IHostDrive_GETTER_PartitioningType_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_PartitioningType_TO ((obj)->)
#define COM_FORWARD_IHostDrive_GETTER_PartitioningType_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_PartitioningType_TO (base::)
#define COM_FORWARD_IHostDrive_GETTER_Uuid_TO(smth) HRESULT STDMETHODCALLTYPE get_Uuid (BSTR * aUuid) { return smth get_Uuid (aUuid); }
#define COM_FORWARD_IHostDrive_GETTER_Uuid_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_Uuid_TO ((obj)->)
#define COM_FORWARD_IHostDrive_GETTER_Uuid_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_Uuid_TO (base::)
#define COM_FORWARD_IHostDrive_GETTER_SectorSize_TO(smth) HRESULT STDMETHODCALLTYPE get_SectorSize (ULONG * aSectorSize) { return smth get_SectorSize (aSectorSize); }
#define COM_FORWARD_IHostDrive_GETTER_SectorSize_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_SectorSize_TO ((obj)->)
#define COM_FORWARD_IHostDrive_GETTER_SectorSize_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_SectorSize_TO (base::)
#define COM_FORWARD_IHostDrive_GETTER_Size_TO(smth) HRESULT STDMETHODCALLTYPE get_Size (LONG64 * aSize) { return smth get_Size (aSize); }
#define COM_FORWARD_IHostDrive_GETTER_Size_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_Size_TO ((obj)->)
#define COM_FORWARD_IHostDrive_GETTER_Size_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_Size_TO (base::)
#define COM_FORWARD_IHostDrive_GETTER_Model_TO(smth) HRESULT STDMETHODCALLTYPE get_Model (BSTR * aModel) { return smth get_Model (aModel); }
#define COM_FORWARD_IHostDrive_GETTER_Model_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_Model_TO ((obj)->)
#define COM_FORWARD_IHostDrive_GETTER_Model_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_Model_TO (base::)
#define COM_FORWARD_IHostDrive_GETTER_Partitions_TO(smth) HRESULT STDMETHODCALLTYPE get_Partitions (SAFEARRAY * * aPartitions) { return smth get_Partitions (aPartitions); }
#define COM_FORWARD_IHostDrive_GETTER_Partitions_TO_OBJ(obj) COM_FORWARD_IHostDrive_GETTER_Partitions_TO ((obj)->)
#define COM_FORWARD_IHostDrive_GETTER_Partitions_TO_BASE(base) COM_FORWARD_IHostDrive_GETTER_Partitions_TO (base::)
#define COM_FORWARD_IHostDrive_TO(smth) COM_FORWARD_IHostDrive_GETTER_DrivePath_TO (smth) COM_FORWARD_IHostDrive_GETTER_PartitioningType_TO (smth) COM_FORWARD_IHostDrive_GETTER_Uuid_TO (smth) COM_FORWARD_IHostDrive_GETTER_SectorSize_TO (smth) COM_FORWARD_IHostDrive_GETTER_Size_TO (smth) COM_FORWARD_IHostDrive_GETTER_Model_TO (smth) COM_FORWARD_IHostDrive_GETTER_Partitions_TO (smth) 
#define COM_FORWARD_IHostDrive_TO_OBJ(obj) COM_FORWARD_IHostDrive_TO ((obj)->)
#define COM_FORWARD_IHostDrive_TO_BASE(base) COM_FORWARD_IHostDrive_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0040_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0040_v0_0_s_ifspec;

#ifndef __IHostX86_INTERFACE_DEFINED__
#define __IHostX86_INTERFACE_DEFINED__

/* interface IHostX86 */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostX86;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("50c97996-9cf8-417f-bd79-1e0471367cd3")
    IHostX86 : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IHostX86( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProcessorCPUIDLeaf( 
            /* [in] */ ULONG aCpuId,
            /* [in] */ ULONG aLeaf,
            /* [in] */ ULONG aSubLeaf,
            /* [out] */ ULONG *aValEax,
            /* [out] */ ULONG *aValEbx,
            /* [out] */ ULONG *aValEcx,
            /* [out] */ ULONG *aValEdx) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IHostX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IHostX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IHostX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IHostX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IHostX86( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IHostX86( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostX86Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostX86 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostX86 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostX86 * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostX86 * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostX86 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostX86 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostX86 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute1IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute2IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute3IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute4IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute5IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute6IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute7IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute8IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute9IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute10IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute11IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, get_InternalAndReservedAttribute12IHostX86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IHostX86 )( 
            IHostX86 * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostX86, GetProcessorCPUIDLeaf)
        HRESULT ( STDMETHODCALLTYPE *GetProcessorCPUIDLeaf )( 
            IHostX86 * This,
            /* [in] */ ULONG aCpuId,
            /* [in] */ ULONG aLeaf,
            /* [in] */ ULONG aSubLeaf,
            /* [out] */ ULONG *aValEax,
            /* [out] */ ULONG *aValEbx,
            /* [out] */ ULONG *aValEcx,
            /* [out] */ ULONG *aValEdx);
        
        DECLSPEC_XFGVIRT(IHostX86, InternalAndReservedMethod1IHostX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IHostX86 )( 
            IHostX86 * This);
        
        DECLSPEC_XFGVIRT(IHostX86, InternalAndReservedMethod2IHostX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IHostX86 )( 
            IHostX86 * This);
        
        DECLSPEC_XFGVIRT(IHostX86, InternalAndReservedMethod3IHostX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IHostX86 )( 
            IHostX86 * This);
        
        DECLSPEC_XFGVIRT(IHostX86, InternalAndReservedMethod4IHostX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IHostX86 )( 
            IHostX86 * This);
        
        DECLSPEC_XFGVIRT(IHostX86, InternalAndReservedMethod5IHostX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IHostX86 )( 
            IHostX86 * This);
        
        DECLSPEC_XFGVIRT(IHostX86, InternalAndReservedMethod6IHostX86)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IHostX86 )( 
            IHostX86 * This);
        
        END_INTERFACE
    } IHostX86Vtbl;

    interface IHostX86
    {
        CONST_VTBL struct IHostX86Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostX86_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostX86_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostX86_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostX86_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostX86_get_InternalAndReservedAttribute1IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IHostX86(This,aReserved) ) 

#define IHostX86_get_InternalAndReservedAttribute2IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IHostX86(This,aReserved) ) 

#define IHostX86_get_InternalAndReservedAttribute3IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IHostX86(This,aReserved) ) 

#define IHostX86_get_InternalAndReservedAttribute4IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IHostX86(This,aReserved) ) 

#define IHostX86_get_InternalAndReservedAttribute5IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IHostX86(This,aReserved) ) 

#define IHostX86_get_InternalAndReservedAttribute6IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IHostX86(This,aReserved) ) 

#define IHostX86_get_InternalAndReservedAttribute7IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IHostX86(This,aReserved) ) 

#define IHostX86_get_InternalAndReservedAttribute8IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IHostX86(This,aReserved) ) 

#define IHostX86_get_InternalAndReservedAttribute9IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IHostX86(This,aReserved) ) 

#define IHostX86_get_InternalAndReservedAttribute10IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IHostX86(This,aReserved) ) 

#define IHostX86_get_InternalAndReservedAttribute11IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IHostX86(This,aReserved) ) 

#define IHostX86_get_InternalAndReservedAttribute12IHostX86(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IHostX86(This,aReserved) ) 

#define IHostX86_GetProcessorCPUIDLeaf(This,aCpuId,aLeaf,aSubLeaf,aValEax,aValEbx,aValEcx,aValEdx)	\
    ( (This)->lpVtbl -> GetProcessorCPUIDLeaf(This,aCpuId,aLeaf,aSubLeaf,aValEax,aValEbx,aValEcx,aValEdx) ) 

#define IHostX86_InternalAndReservedMethod1IHostX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IHostX86(This) ) 

#define IHostX86_InternalAndReservedMethod2IHostX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IHostX86(This) ) 

#define IHostX86_InternalAndReservedMethod3IHostX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IHostX86(This) ) 

#define IHostX86_InternalAndReservedMethod4IHostX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IHostX86(This) ) 

#define IHostX86_InternalAndReservedMethod5IHostX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IHostX86(This) ) 

#define IHostX86_InternalAndReservedMethod6IHostX86(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IHostX86(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostX86_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0041 */
/* [local] */ 

#define COM_FORWARD_IHostX86_GetProcessorCPUIDLeaf_TO(smth) HRESULT STDMETHODCALLTYPE GetProcessorCPUIDLeaf (ULONG aCpuId, ULONG aLeaf, ULONG aSubLeaf, ULONG * aValEax, ULONG * aValEbx, ULONG * aValEcx, ULONG * aValEdx) { return smth GetProcessorCPUIDLeaf (aCpuId, aLeaf, aSubLeaf, aValEax, aValEbx, aValEcx, aValEdx); }
#define COM_FORWARD_IHostX86_GetProcessorCPUIDLeaf_TO_OBJ(obj) COM_FORWARD_IHostX86_GetProcessorCPUIDLeaf_TO ((obj)->)
#define COM_FORWARD_IHostX86_GetProcessorCPUIDLeaf_TO_BASE(base) COM_FORWARD_IHostX86_GetProcessorCPUIDLeaf_TO (base::)
#define COM_FORWARD_IHostX86_TO(smth) COM_FORWARD_IHostX86_GetProcessorCPUIDLeaf_TO (smth) 
#define COM_FORWARD_IHostX86_TO_OBJ(obj) COM_FORWARD_IHostX86_TO ((obj)->)
#define COM_FORWARD_IHostX86_TO_BASE(base) COM_FORWARD_IHostX86_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0041_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0041_v0_0_s_ifspec;

#ifndef __IHost_INTERFACE_DEFINED__
#define __IHost_INTERFACE_DEFINED__

/* interface IHost */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHost;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d5dcece0-b202-4416-a138-03502784cc07")
    IHost : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Architecture( 
            /* [retval][out] */ PlatformArchitecture *aArchitecture) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_X86( 
            /* [retval][out] */ IHostX86 **aX86) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DVDDrives( 
            /* [retval][out] */ SAFEARRAY * *aDVDDrives) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FloppyDrives( 
            /* [retval][out] */ SAFEARRAY * *aFloppyDrives) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioDevices( 
            /* [retval][out] */ SAFEARRAY * *aAudioDevices) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_USBDevices( 
            /* [retval][out] */ SAFEARRAY * *aUSBDevices) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_USBDeviceFilters( 
            /* [retval][out] */ SAFEARRAY * *aUSBDeviceFilters) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkInterfaces( 
            /* [retval][out] */ SAFEARRAY * *aNetworkInterfaces) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NameServers( 
            /* [retval][out] */ SAFEARRAY * *aNameServers) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DomainName( 
            /* [retval][out] */ BSTR *aDomainName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SearchStrings( 
            /* [retval][out] */ SAFEARRAY * *aSearchStrings) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProcessorCount( 
            /* [retval][out] */ ULONG *aProcessorCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProcessorOnlineCount( 
            /* [retval][out] */ ULONG *aProcessorOnlineCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProcessorCoreCount( 
            /* [retval][out] */ ULONG *aProcessorCoreCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProcessorOnlineCoreCount( 
            /* [retval][out] */ ULONG *aProcessorOnlineCoreCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostDrives( 
            /* [retval][out] */ SAFEARRAY * *aHostDrives) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MemorySize( 
            /* [retval][out] */ ULONG *aMemorySize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MemoryAvailable( 
            /* [retval][out] */ ULONG *aMemoryAvailable) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OperatingSystem( 
            /* [retval][out] */ BSTR *aOperatingSystem) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OSVersion( 
            /* [retval][out] */ BSTR *aOSVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UTCTime( 
            /* [retval][out] */ LONG64 *aUTCTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoInputDevices( 
            /* [retval][out] */ SAFEARRAY * *aVideoInputDevices) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UpdateHost( 
            /* [retval][out] */ IUpdateAgent **aUpdateHost) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UpdateExtPack( 
            /* [retval][out] */ IUpdateAgent **aUpdateExtPack) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UpdateGuestAdditions( 
            /* [retval][out] */ IUpdateAgent **aUpdateGuestAdditions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IHost( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProcessorSpeed( 
            /* [in] */ ULONG aCpuId,
            /* [retval][out] */ ULONG *aSpeed) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProcessorFeature( 
            /* [in] */ ProcessorFeature aFeature,
            /* [retval][out] */ BOOL *aSupported) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProcessorDescription( 
            /* [in] */ ULONG aCpuId,
            /* [retval][out] */ BSTR *aDescription) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateHostOnlyNetworkInterface( 
            /* [out] */ IHostNetworkInterface **aHostInterface,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveHostOnlyNetworkInterface( 
            /* [in] */ BSTR aId,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateUSBDeviceFilter( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IHostUSBDeviceFilter **aFilter) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertUSBDeviceFilter( 
            /* [in] */ ULONG aPosition,
            /* [in] */ IHostUSBDeviceFilter *aFilter) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveUSBDeviceFilter( 
            /* [in] */ ULONG aPosition) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindHostDVDDrive( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IMedium **aDrive) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindHostFloppyDrive( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IMedium **aDrive) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindHostNetworkInterfaceByName( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IHostNetworkInterface **aNetworkInterface) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindHostNetworkInterfaceById( 
            /* [in] */ BSTR aId,
            /* [retval][out] */ IHostNetworkInterface **aNetworkInterface) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindHostNetworkInterfacesOfType( 
            /* [in] */ HostNetworkInterfaceType aType,
            /* [retval][out] */ SAFEARRAY * *aNetworkInterfaces) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindUSBDeviceById( 
            /* [in] */ BSTR aId,
            /* [retval][out] */ IHostUSBDevice **aDevice) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindUSBDeviceByAddress( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IHostUSBDevice **aDevice) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GenerateMACAddress( 
            /* [retval][out] */ BSTR *aAddress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddUSBDeviceSource( 
            /* [in] */ BSTR aBackend,
            /* [in] */ BSTR aId,
            /* [in] */ BSTR aAddress,
            /* [in] */ SAFEARRAY * aPropertyNames,
            /* [in] */ SAFEARRAY * aPropertyValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveUSBDeviceSource( 
            /* [in] */ BSTR aId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsExecutionEngineSupported( 
            /* [in] */ CPUArchitecture aCpuArchitecture,
            /* [in] */ VMExecutionEngine aExecutionEngine,
            /* [retval][out] */ BOOL *aIsSupported) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IHost( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IHost( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IHost( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IHost( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IHost( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IHost( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHost * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHost * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHost * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHost * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHost * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHost * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHost * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IHost, get_Architecture)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Architecture )( 
            IHost * This,
            /* [retval][out] */ PlatformArchitecture *aArchitecture);
        
        DECLSPEC_XFGVIRT(IHost, get_X86)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_X86 )( 
            IHost * This,
            /* [retval][out] */ IHostX86 **aX86);
        
        DECLSPEC_XFGVIRT(IHost, get_DVDDrives)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DVDDrives )( 
            IHost * This,
            /* [retval][out] */ SAFEARRAY * *aDVDDrives);
        
        DECLSPEC_XFGVIRT(IHost, get_FloppyDrives)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloppyDrives )( 
            IHost * This,
            /* [retval][out] */ SAFEARRAY * *aFloppyDrives);
        
        DECLSPEC_XFGVIRT(IHost, get_AudioDevices)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioDevices )( 
            IHost * This,
            /* [retval][out] */ SAFEARRAY * *aAudioDevices);
        
        DECLSPEC_XFGVIRT(IHost, get_USBDevices)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_USBDevices )( 
            IHost * This,
            /* [retval][out] */ SAFEARRAY * *aUSBDevices);
        
        DECLSPEC_XFGVIRT(IHost, get_USBDeviceFilters)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_USBDeviceFilters )( 
            IHost * This,
            /* [retval][out] */ SAFEARRAY * *aUSBDeviceFilters);
        
        DECLSPEC_XFGVIRT(IHost, get_NetworkInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkInterfaces )( 
            IHost * This,
            /* [retval][out] */ SAFEARRAY * *aNetworkInterfaces);
        
        DECLSPEC_XFGVIRT(IHost, get_NameServers)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NameServers )( 
            IHost * This,
            /* [retval][out] */ SAFEARRAY * *aNameServers);
        
        DECLSPEC_XFGVIRT(IHost, get_DomainName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DomainName )( 
            IHost * This,
            /* [retval][out] */ BSTR *aDomainName);
        
        DECLSPEC_XFGVIRT(IHost, get_SearchStrings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SearchStrings )( 
            IHost * This,
            /* [retval][out] */ SAFEARRAY * *aSearchStrings);
        
        DECLSPEC_XFGVIRT(IHost, get_ProcessorCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessorCount )( 
            IHost * This,
            /* [retval][out] */ ULONG *aProcessorCount);
        
        DECLSPEC_XFGVIRT(IHost, get_ProcessorOnlineCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessorOnlineCount )( 
            IHost * This,
            /* [retval][out] */ ULONG *aProcessorOnlineCount);
        
        DECLSPEC_XFGVIRT(IHost, get_ProcessorCoreCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessorCoreCount )( 
            IHost * This,
            /* [retval][out] */ ULONG *aProcessorCoreCount);
        
        DECLSPEC_XFGVIRT(IHost, get_ProcessorOnlineCoreCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessorOnlineCoreCount )( 
            IHost * This,
            /* [retval][out] */ ULONG *aProcessorOnlineCoreCount);
        
        DECLSPEC_XFGVIRT(IHost, get_HostDrives)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostDrives )( 
            IHost * This,
            /* [retval][out] */ SAFEARRAY * *aHostDrives);
        
        DECLSPEC_XFGVIRT(IHost, get_MemorySize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemorySize )( 
            IHost * This,
            /* [retval][out] */ ULONG *aMemorySize);
        
        DECLSPEC_XFGVIRT(IHost, get_MemoryAvailable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemoryAvailable )( 
            IHost * This,
            /* [retval][out] */ ULONG *aMemoryAvailable);
        
        DECLSPEC_XFGVIRT(IHost, get_OperatingSystem)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OperatingSystem )( 
            IHost * This,
            /* [retval][out] */ BSTR *aOperatingSystem);
        
        DECLSPEC_XFGVIRT(IHost, get_OSVersion)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OSVersion )( 
            IHost * This,
            /* [retval][out] */ BSTR *aOSVersion);
        
        DECLSPEC_XFGVIRT(IHost, get_UTCTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UTCTime )( 
            IHost * This,
            /* [retval][out] */ LONG64 *aUTCTime);
        
        DECLSPEC_XFGVIRT(IHost, get_VideoInputDevices)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoInputDevices )( 
            IHost * This,
            /* [retval][out] */ SAFEARRAY * *aVideoInputDevices);
        
        DECLSPEC_XFGVIRT(IHost, get_UpdateHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateHost )( 
            IHost * This,
            /* [retval][out] */ IUpdateAgent **aUpdateHost);
        
        DECLSPEC_XFGVIRT(IHost, get_UpdateExtPack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateExtPack )( 
            IHost * This,
            /* [retval][out] */ IUpdateAgent **aUpdateExtPack);
        
        DECLSPEC_XFGVIRT(IHost, get_UpdateGuestAdditions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateGuestAdditions )( 
            IHost * This,
            /* [retval][out] */ IUpdateAgent **aUpdateGuestAdditions);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute1IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute2IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute3IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute4IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute5IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute6IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute7IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute8IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute9IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute10IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute11IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, get_InternalAndReservedAttribute12IHost)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IHost )( 
            IHost * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHost, GetProcessorSpeed)
        HRESULT ( STDMETHODCALLTYPE *GetProcessorSpeed )( 
            IHost * This,
            /* [in] */ ULONG aCpuId,
            /* [retval][out] */ ULONG *aSpeed);
        
        DECLSPEC_XFGVIRT(IHost, GetProcessorFeature)
        HRESULT ( STDMETHODCALLTYPE *GetProcessorFeature )( 
            IHost * This,
            /* [in] */ ProcessorFeature aFeature,
            /* [retval][out] */ BOOL *aSupported);
        
        DECLSPEC_XFGVIRT(IHost, GetProcessorDescription)
        HRESULT ( STDMETHODCALLTYPE *GetProcessorDescription )( 
            IHost * This,
            /* [in] */ ULONG aCpuId,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IHost, CreateHostOnlyNetworkInterface)
        HRESULT ( STDMETHODCALLTYPE *CreateHostOnlyNetworkInterface )( 
            IHost * This,
            /* [out] */ IHostNetworkInterface **aHostInterface,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IHost, RemoveHostOnlyNetworkInterface)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostOnlyNetworkInterface )( 
            IHost * This,
            /* [in] */ BSTR aId,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IHost, CreateUSBDeviceFilter)
        HRESULT ( STDMETHODCALLTYPE *CreateUSBDeviceFilter )( 
            IHost * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IHostUSBDeviceFilter **aFilter);
        
        DECLSPEC_XFGVIRT(IHost, InsertUSBDeviceFilter)
        HRESULT ( STDMETHODCALLTYPE *InsertUSBDeviceFilter )( 
            IHost * This,
            /* [in] */ ULONG aPosition,
            /* [in] */ IHostUSBDeviceFilter *aFilter);
        
        DECLSPEC_XFGVIRT(IHost, RemoveUSBDeviceFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveUSBDeviceFilter )( 
            IHost * This,
            /* [in] */ ULONG aPosition);
        
        DECLSPEC_XFGVIRT(IHost, FindHostDVDDrive)
        HRESULT ( STDMETHODCALLTYPE *FindHostDVDDrive )( 
            IHost * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IMedium **aDrive);
        
        DECLSPEC_XFGVIRT(IHost, FindHostFloppyDrive)
        HRESULT ( STDMETHODCALLTYPE *FindHostFloppyDrive )( 
            IHost * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IMedium **aDrive);
        
        DECLSPEC_XFGVIRT(IHost, FindHostNetworkInterfaceByName)
        HRESULT ( STDMETHODCALLTYPE *FindHostNetworkInterfaceByName )( 
            IHost * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IHostNetworkInterface **aNetworkInterface);
        
        DECLSPEC_XFGVIRT(IHost, FindHostNetworkInterfaceById)
        HRESULT ( STDMETHODCALLTYPE *FindHostNetworkInterfaceById )( 
            IHost * This,
            /* [in] */ BSTR aId,
            /* [retval][out] */ IHostNetworkInterface **aNetworkInterface);
        
        DECLSPEC_XFGVIRT(IHost, FindHostNetworkInterfacesOfType)
        HRESULT ( STDMETHODCALLTYPE *FindHostNetworkInterfacesOfType )( 
            IHost * This,
            /* [in] */ HostNetworkInterfaceType aType,
            /* [retval][out] */ SAFEARRAY * *aNetworkInterfaces);
        
        DECLSPEC_XFGVIRT(IHost, FindUSBDeviceById)
        HRESULT ( STDMETHODCALLTYPE *FindUSBDeviceById )( 
            IHost * This,
            /* [in] */ BSTR aId,
            /* [retval][out] */ IHostUSBDevice **aDevice);
        
        DECLSPEC_XFGVIRT(IHost, FindUSBDeviceByAddress)
        HRESULT ( STDMETHODCALLTYPE *FindUSBDeviceByAddress )( 
            IHost * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IHostUSBDevice **aDevice);
        
        DECLSPEC_XFGVIRT(IHost, GenerateMACAddress)
        HRESULT ( STDMETHODCALLTYPE *GenerateMACAddress )( 
            IHost * This,
            /* [retval][out] */ BSTR *aAddress);
        
        DECLSPEC_XFGVIRT(IHost, AddUSBDeviceSource)
        HRESULT ( STDMETHODCALLTYPE *AddUSBDeviceSource )( 
            IHost * This,
            /* [in] */ BSTR aBackend,
            /* [in] */ BSTR aId,
            /* [in] */ BSTR aAddress,
            /* [in] */ SAFEARRAY * aPropertyNames,
            /* [in] */ SAFEARRAY * aPropertyValues);
        
        DECLSPEC_XFGVIRT(IHost, RemoveUSBDeviceSource)
        HRESULT ( STDMETHODCALLTYPE *RemoveUSBDeviceSource )( 
            IHost * This,
            /* [in] */ BSTR aId);
        
        DECLSPEC_XFGVIRT(IHost, IsExecutionEngineSupported)
        HRESULT ( STDMETHODCALLTYPE *IsExecutionEngineSupported )( 
            IHost * This,
            /* [in] */ CPUArchitecture aCpuArchitecture,
            /* [in] */ VMExecutionEngine aExecutionEngine,
            /* [retval][out] */ BOOL *aIsSupported);
        
        DECLSPEC_XFGVIRT(IHost, InternalAndReservedMethod1IHost)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IHost )( 
            IHost * This);
        
        DECLSPEC_XFGVIRT(IHost, InternalAndReservedMethod2IHost)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IHost )( 
            IHost * This);
        
        DECLSPEC_XFGVIRT(IHost, InternalAndReservedMethod3IHost)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IHost )( 
            IHost * This);
        
        DECLSPEC_XFGVIRT(IHost, InternalAndReservedMethod4IHost)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IHost )( 
            IHost * This);
        
        DECLSPEC_XFGVIRT(IHost, InternalAndReservedMethod5IHost)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IHost )( 
            IHost * This);
        
        DECLSPEC_XFGVIRT(IHost, InternalAndReservedMethod6IHost)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IHost )( 
            IHost * This);
        
        END_INTERFACE
    } IHostVtbl;

    interface IHost
    {
        CONST_VTBL struct IHostVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHost_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHost_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHost_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHost_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHost_get_Architecture(This,aArchitecture)	\
    ( (This)->lpVtbl -> get_Architecture(This,aArchitecture) ) 

#define IHost_get_X86(This,aX86)	\
    ( (This)->lpVtbl -> get_X86(This,aX86) ) 

#define IHost_get_DVDDrives(This,aDVDDrives)	\
    ( (This)->lpVtbl -> get_DVDDrives(This,aDVDDrives) ) 

#define IHost_get_FloppyDrives(This,aFloppyDrives)	\
    ( (This)->lpVtbl -> get_FloppyDrives(This,aFloppyDrives) ) 

#define IHost_get_AudioDevices(This,aAudioDevices)	\
    ( (This)->lpVtbl -> get_AudioDevices(This,aAudioDevices) ) 

#define IHost_get_USBDevices(This,aUSBDevices)	\
    ( (This)->lpVtbl -> get_USBDevices(This,aUSBDevices) ) 

#define IHost_get_USBDeviceFilters(This,aUSBDeviceFilters)	\
    ( (This)->lpVtbl -> get_USBDeviceFilters(This,aUSBDeviceFilters) ) 

#define IHost_get_NetworkInterfaces(This,aNetworkInterfaces)	\
    ( (This)->lpVtbl -> get_NetworkInterfaces(This,aNetworkInterfaces) ) 

#define IHost_get_NameServers(This,aNameServers)	\
    ( (This)->lpVtbl -> get_NameServers(This,aNameServers) ) 

#define IHost_get_DomainName(This,aDomainName)	\
    ( (This)->lpVtbl -> get_DomainName(This,aDomainName) ) 

#define IHost_get_SearchStrings(This,aSearchStrings)	\
    ( (This)->lpVtbl -> get_SearchStrings(This,aSearchStrings) ) 

#define IHost_get_ProcessorCount(This,aProcessorCount)	\
    ( (This)->lpVtbl -> get_ProcessorCount(This,aProcessorCount) ) 

#define IHost_get_ProcessorOnlineCount(This,aProcessorOnlineCount)	\
    ( (This)->lpVtbl -> get_ProcessorOnlineCount(This,aProcessorOnlineCount) ) 

#define IHost_get_ProcessorCoreCount(This,aProcessorCoreCount)	\
    ( (This)->lpVtbl -> get_ProcessorCoreCount(This,aProcessorCoreCount) ) 

#define IHost_get_ProcessorOnlineCoreCount(This,aProcessorOnlineCoreCount)	\
    ( (This)->lpVtbl -> get_ProcessorOnlineCoreCount(This,aProcessorOnlineCoreCount) ) 

#define IHost_get_HostDrives(This,aHostDrives)	\
    ( (This)->lpVtbl -> get_HostDrives(This,aHostDrives) ) 

#define IHost_get_MemorySize(This,aMemorySize)	\
    ( (This)->lpVtbl -> get_MemorySize(This,aMemorySize) ) 

#define IHost_get_MemoryAvailable(This,aMemoryAvailable)	\
    ( (This)->lpVtbl -> get_MemoryAvailable(This,aMemoryAvailable) ) 

#define IHost_get_OperatingSystem(This,aOperatingSystem)	\
    ( (This)->lpVtbl -> get_OperatingSystem(This,aOperatingSystem) ) 

#define IHost_get_OSVersion(This,aOSVersion)	\
    ( (This)->lpVtbl -> get_OSVersion(This,aOSVersion) ) 

#define IHost_get_UTCTime(This,aUTCTime)	\
    ( (This)->lpVtbl -> get_UTCTime(This,aUTCTime) ) 

#define IHost_get_VideoInputDevices(This,aVideoInputDevices)	\
    ( (This)->lpVtbl -> get_VideoInputDevices(This,aVideoInputDevices) ) 

#define IHost_get_UpdateHost(This,aUpdateHost)	\
    ( (This)->lpVtbl -> get_UpdateHost(This,aUpdateHost) ) 

#define IHost_get_UpdateExtPack(This,aUpdateExtPack)	\
    ( (This)->lpVtbl -> get_UpdateExtPack(This,aUpdateExtPack) ) 

#define IHost_get_UpdateGuestAdditions(This,aUpdateGuestAdditions)	\
    ( (This)->lpVtbl -> get_UpdateGuestAdditions(This,aUpdateGuestAdditions) ) 

#define IHost_get_InternalAndReservedAttribute1IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IHost(This,aReserved) ) 

#define IHost_get_InternalAndReservedAttribute2IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IHost(This,aReserved) ) 

#define IHost_get_InternalAndReservedAttribute3IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IHost(This,aReserved) ) 

#define IHost_get_InternalAndReservedAttribute4IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IHost(This,aReserved) ) 

#define IHost_get_InternalAndReservedAttribute5IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IHost(This,aReserved) ) 

#define IHost_get_InternalAndReservedAttribute6IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IHost(This,aReserved) ) 

#define IHost_get_InternalAndReservedAttribute7IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IHost(This,aReserved) ) 

#define IHost_get_InternalAndReservedAttribute8IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IHost(This,aReserved) ) 

#define IHost_get_InternalAndReservedAttribute9IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IHost(This,aReserved) ) 

#define IHost_get_InternalAndReservedAttribute10IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IHost(This,aReserved) ) 

#define IHost_get_InternalAndReservedAttribute11IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IHost(This,aReserved) ) 

#define IHost_get_InternalAndReservedAttribute12IHost(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IHost(This,aReserved) ) 

#define IHost_GetProcessorSpeed(This,aCpuId,aSpeed)	\
    ( (This)->lpVtbl -> GetProcessorSpeed(This,aCpuId,aSpeed) ) 

#define IHost_GetProcessorFeature(This,aFeature,aSupported)	\
    ( (This)->lpVtbl -> GetProcessorFeature(This,aFeature,aSupported) ) 

#define IHost_GetProcessorDescription(This,aCpuId,aDescription)	\
    ( (This)->lpVtbl -> GetProcessorDescription(This,aCpuId,aDescription) ) 

#define IHost_CreateHostOnlyNetworkInterface(This,aHostInterface,aProgress)	\
    ( (This)->lpVtbl -> CreateHostOnlyNetworkInterface(This,aHostInterface,aProgress) ) 

#define IHost_RemoveHostOnlyNetworkInterface(This,aId,aProgress)	\
    ( (This)->lpVtbl -> RemoveHostOnlyNetworkInterface(This,aId,aProgress) ) 

#define IHost_CreateUSBDeviceFilter(This,aName,aFilter)	\
    ( (This)->lpVtbl -> CreateUSBDeviceFilter(This,aName,aFilter) ) 

#define IHost_InsertUSBDeviceFilter(This,aPosition,aFilter)	\
    ( (This)->lpVtbl -> InsertUSBDeviceFilter(This,aPosition,aFilter) ) 

#define IHost_RemoveUSBDeviceFilter(This,aPosition)	\
    ( (This)->lpVtbl -> RemoveUSBDeviceFilter(This,aPosition) ) 

#define IHost_FindHostDVDDrive(This,aName,aDrive)	\
    ( (This)->lpVtbl -> FindHostDVDDrive(This,aName,aDrive) ) 

#define IHost_FindHostFloppyDrive(This,aName,aDrive)	\
    ( (This)->lpVtbl -> FindHostFloppyDrive(This,aName,aDrive) ) 

#define IHost_FindHostNetworkInterfaceByName(This,aName,aNetworkInterface)	\
    ( (This)->lpVtbl -> FindHostNetworkInterfaceByName(This,aName,aNetworkInterface) ) 

#define IHost_FindHostNetworkInterfaceById(This,aId,aNetworkInterface)	\
    ( (This)->lpVtbl -> FindHostNetworkInterfaceById(This,aId,aNetworkInterface) ) 

#define IHost_FindHostNetworkInterfacesOfType(This,aType,aNetworkInterfaces)	\
    ( (This)->lpVtbl -> FindHostNetworkInterfacesOfType(This,aType,aNetworkInterfaces) ) 

#define IHost_FindUSBDeviceById(This,aId,aDevice)	\
    ( (This)->lpVtbl -> FindUSBDeviceById(This,aId,aDevice) ) 

#define IHost_FindUSBDeviceByAddress(This,aName,aDevice)	\
    ( (This)->lpVtbl -> FindUSBDeviceByAddress(This,aName,aDevice) ) 

#define IHost_GenerateMACAddress(This,aAddress)	\
    ( (This)->lpVtbl -> GenerateMACAddress(This,aAddress) ) 

#define IHost_AddUSBDeviceSource(This,aBackend,aId,aAddress,aPropertyNames,aPropertyValues)	\
    ( (This)->lpVtbl -> AddUSBDeviceSource(This,aBackend,aId,aAddress,aPropertyNames,aPropertyValues) ) 

#define IHost_RemoveUSBDeviceSource(This,aId)	\
    ( (This)->lpVtbl -> RemoveUSBDeviceSource(This,aId) ) 

#define IHost_IsExecutionEngineSupported(This,aCpuArchitecture,aExecutionEngine,aIsSupported)	\
    ( (This)->lpVtbl -> IsExecutionEngineSupported(This,aCpuArchitecture,aExecutionEngine,aIsSupported) ) 

#define IHost_InternalAndReservedMethod1IHost(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IHost(This) ) 

#define IHost_InternalAndReservedMethod2IHost(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IHost(This) ) 

#define IHost_InternalAndReservedMethod3IHost(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IHost(This) ) 

#define IHost_InternalAndReservedMethod4IHost(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IHost(This) ) 

#define IHost_InternalAndReservedMethod5IHost(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IHost(This) ) 

#define IHost_InternalAndReservedMethod6IHost(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IHost(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHost_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0042 */
/* [local] */ 

#define COM_FORWARD_IHost_GETTER_Architecture_TO(smth) HRESULT STDMETHODCALLTYPE get_Architecture (PlatformArchitecture * aArchitecture) { return smth get_Architecture (aArchitecture); }
#define COM_FORWARD_IHost_GETTER_Architecture_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_Architecture_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_Architecture_TO_BASE(base) COM_FORWARD_IHost_GETTER_Architecture_TO (base::)
#define COM_FORWARD_IHost_GETTER_X86_TO(smth) HRESULT STDMETHODCALLTYPE get_X86 (IHostX86 * * aX86) { return smth get_X86 (aX86); }
#define COM_FORWARD_IHost_GETTER_X86_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_X86_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_X86_TO_BASE(base) COM_FORWARD_IHost_GETTER_X86_TO (base::)
#define COM_FORWARD_IHost_GETTER_DVDDrives_TO(smth) HRESULT STDMETHODCALLTYPE get_DVDDrives (SAFEARRAY * * aDVDDrives) { return smth get_DVDDrives (aDVDDrives); }
#define COM_FORWARD_IHost_GETTER_DVDDrives_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_DVDDrives_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_DVDDrives_TO_BASE(base) COM_FORWARD_IHost_GETTER_DVDDrives_TO (base::)
#define COM_FORWARD_IHost_GETTER_FloppyDrives_TO(smth) HRESULT STDMETHODCALLTYPE get_FloppyDrives (SAFEARRAY * * aFloppyDrives) { return smth get_FloppyDrives (aFloppyDrives); }
#define COM_FORWARD_IHost_GETTER_FloppyDrives_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_FloppyDrives_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_FloppyDrives_TO_BASE(base) COM_FORWARD_IHost_GETTER_FloppyDrives_TO (base::)
#define COM_FORWARD_IHost_GETTER_AudioDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioDevices (SAFEARRAY * * aAudioDevices) { return smth get_AudioDevices (aAudioDevices); }
#define COM_FORWARD_IHost_GETTER_AudioDevices_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_AudioDevices_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_AudioDevices_TO_BASE(base) COM_FORWARD_IHost_GETTER_AudioDevices_TO (base::)
#define COM_FORWARD_IHost_GETTER_USBDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_USBDevices (SAFEARRAY * * aUSBDevices) { return smth get_USBDevices (aUSBDevices); }
#define COM_FORWARD_IHost_GETTER_USBDevices_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_USBDevices_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_USBDevices_TO_BASE(base) COM_FORWARD_IHost_GETTER_USBDevices_TO (base::)
#define COM_FORWARD_IHost_GETTER_USBDeviceFilters_TO(smth) HRESULT STDMETHODCALLTYPE get_USBDeviceFilters (SAFEARRAY * * aUSBDeviceFilters) { return smth get_USBDeviceFilters (aUSBDeviceFilters); }
#define COM_FORWARD_IHost_GETTER_USBDeviceFilters_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_USBDeviceFilters_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_USBDeviceFilters_TO_BASE(base) COM_FORWARD_IHost_GETTER_USBDeviceFilters_TO (base::)
#define COM_FORWARD_IHost_GETTER_NetworkInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkInterfaces (SAFEARRAY * * aNetworkInterfaces) { return smth get_NetworkInterfaces (aNetworkInterfaces); }
#define COM_FORWARD_IHost_GETTER_NetworkInterfaces_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_NetworkInterfaces_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_NetworkInterfaces_TO_BASE(base) COM_FORWARD_IHost_GETTER_NetworkInterfaces_TO (base::)
#define COM_FORWARD_IHost_GETTER_NameServers_TO(smth) HRESULT STDMETHODCALLTYPE get_NameServers (SAFEARRAY * * aNameServers) { return smth get_NameServers (aNameServers); }
#define COM_FORWARD_IHost_GETTER_NameServers_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_NameServers_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_NameServers_TO_BASE(base) COM_FORWARD_IHost_GETTER_NameServers_TO (base::)
#define COM_FORWARD_IHost_GETTER_DomainName_TO(smth) HRESULT STDMETHODCALLTYPE get_DomainName (BSTR * aDomainName) { return smth get_DomainName (aDomainName); }
#define COM_FORWARD_IHost_GETTER_DomainName_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_DomainName_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_DomainName_TO_BASE(base) COM_FORWARD_IHost_GETTER_DomainName_TO (base::)
#define COM_FORWARD_IHost_GETTER_SearchStrings_TO(smth) HRESULT STDMETHODCALLTYPE get_SearchStrings (SAFEARRAY * * aSearchStrings) { return smth get_SearchStrings (aSearchStrings); }
#define COM_FORWARD_IHost_GETTER_SearchStrings_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_SearchStrings_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_SearchStrings_TO_BASE(base) COM_FORWARD_IHost_GETTER_SearchStrings_TO (base::)
#define COM_FORWARD_IHost_GETTER_ProcessorCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ProcessorCount (ULONG * aProcessorCount) { return smth get_ProcessorCount (aProcessorCount); }
#define COM_FORWARD_IHost_GETTER_ProcessorCount_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_ProcessorCount_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_ProcessorCount_TO_BASE(base) COM_FORWARD_IHost_GETTER_ProcessorCount_TO (base::)
#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ProcessorOnlineCount (ULONG * aProcessorOnlineCount) { return smth get_ProcessorOnlineCount (aProcessorOnlineCount); }
#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO_BASE(base) COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO (base::)
#define COM_FORWARD_IHost_GETTER_ProcessorCoreCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ProcessorCoreCount (ULONG * aProcessorCoreCount) { return smth get_ProcessorCoreCount (aProcessorCoreCount); }
#define COM_FORWARD_IHost_GETTER_ProcessorCoreCount_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_ProcessorCoreCount_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_ProcessorCoreCount_TO_BASE(base) COM_FORWARD_IHost_GETTER_ProcessorCoreCount_TO (base::)
#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCoreCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ProcessorOnlineCoreCount (ULONG * aProcessorOnlineCoreCount) { return smth get_ProcessorOnlineCoreCount (aProcessorOnlineCoreCount); }
#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCoreCount_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_ProcessorOnlineCoreCount_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_ProcessorOnlineCoreCount_TO_BASE(base) COM_FORWARD_IHost_GETTER_ProcessorOnlineCoreCount_TO (base::)
#define COM_FORWARD_IHost_GETTER_HostDrives_TO(smth) HRESULT STDMETHODCALLTYPE get_HostDrives (SAFEARRAY * * aHostDrives) { return smth get_HostDrives (aHostDrives); }
#define COM_FORWARD_IHost_GETTER_HostDrives_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_HostDrives_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_HostDrives_TO_BASE(base) COM_FORWARD_IHost_GETTER_HostDrives_TO (base::)
#define COM_FORWARD_IHost_GETTER_MemorySize_TO(smth) HRESULT STDMETHODCALLTYPE get_MemorySize (ULONG * aMemorySize) { return smth get_MemorySize (aMemorySize); }
#define COM_FORWARD_IHost_GETTER_MemorySize_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_MemorySize_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_MemorySize_TO_BASE(base) COM_FORWARD_IHost_GETTER_MemorySize_TO (base::)
#define COM_FORWARD_IHost_GETTER_MemoryAvailable_TO(smth) HRESULT STDMETHODCALLTYPE get_MemoryAvailable (ULONG * aMemoryAvailable) { return smth get_MemoryAvailable (aMemoryAvailable); }
#define COM_FORWARD_IHost_GETTER_MemoryAvailable_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_MemoryAvailable_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_MemoryAvailable_TO_BASE(base) COM_FORWARD_IHost_GETTER_MemoryAvailable_TO (base::)
#define COM_FORWARD_IHost_GETTER_OperatingSystem_TO(smth) HRESULT STDMETHODCALLTYPE get_OperatingSystem (BSTR * aOperatingSystem) { return smth get_OperatingSystem (aOperatingSystem); }
#define COM_FORWARD_IHost_GETTER_OperatingSystem_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_OperatingSystem_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_OperatingSystem_TO_BASE(base) COM_FORWARD_IHost_GETTER_OperatingSystem_TO (base::)
#define COM_FORWARD_IHost_GETTER_OSVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_OSVersion (BSTR * aOSVersion) { return smth get_OSVersion (aOSVersion); }
#define COM_FORWARD_IHost_GETTER_OSVersion_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_OSVersion_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_OSVersion_TO_BASE(base) COM_FORWARD_IHost_GETTER_OSVersion_TO (base::)
#define COM_FORWARD_IHost_GETTER_UTCTime_TO(smth) HRESULT STDMETHODCALLTYPE get_UTCTime (LONG64 * aUTCTime) { return smth get_UTCTime (aUTCTime); }
#define COM_FORWARD_IHost_GETTER_UTCTime_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_UTCTime_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_UTCTime_TO_BASE(base) COM_FORWARD_IHost_GETTER_UTCTime_TO (base::)
#define COM_FORWARD_IHost_GETTER_VideoInputDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_VideoInputDevices (SAFEARRAY * * aVideoInputDevices) { return smth get_VideoInputDevices (aVideoInputDevices); }
#define COM_FORWARD_IHost_GETTER_VideoInputDevices_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_VideoInputDevices_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_VideoInputDevices_TO_BASE(base) COM_FORWARD_IHost_GETTER_VideoInputDevices_TO (base::)
#define COM_FORWARD_IHost_GETTER_UpdateHost_TO(smth) HRESULT STDMETHODCALLTYPE get_UpdateHost (IUpdateAgent * * aUpdateHost) { return smth get_UpdateHost (aUpdateHost); }
#define COM_FORWARD_IHost_GETTER_UpdateHost_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_UpdateHost_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_UpdateHost_TO_BASE(base) COM_FORWARD_IHost_GETTER_UpdateHost_TO (base::)
#define COM_FORWARD_IHost_GETTER_UpdateExtPack_TO(smth) HRESULT STDMETHODCALLTYPE get_UpdateExtPack (IUpdateAgent * * aUpdateExtPack) { return smth get_UpdateExtPack (aUpdateExtPack); }
#define COM_FORWARD_IHost_GETTER_UpdateExtPack_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_UpdateExtPack_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_UpdateExtPack_TO_BASE(base) COM_FORWARD_IHost_GETTER_UpdateExtPack_TO (base::)
#define COM_FORWARD_IHost_GETTER_UpdateGuestAdditions_TO(smth) HRESULT STDMETHODCALLTYPE get_UpdateGuestAdditions (IUpdateAgent * * aUpdateGuestAdditions) { return smth get_UpdateGuestAdditions (aUpdateGuestAdditions); }
#define COM_FORWARD_IHost_GETTER_UpdateGuestAdditions_TO_OBJ(obj) COM_FORWARD_IHost_GETTER_UpdateGuestAdditions_TO ((obj)->)
#define COM_FORWARD_IHost_GETTER_UpdateGuestAdditions_TO_BASE(base) COM_FORWARD_IHost_GETTER_UpdateGuestAdditions_TO (base::)
#define COM_FORWARD_IHost_GetProcessorSpeed_TO(smth) HRESULT STDMETHODCALLTYPE GetProcessorSpeed (ULONG aCpuId, ULONG * aSpeed) { return smth GetProcessorSpeed (aCpuId, aSpeed); }
#define COM_FORWARD_IHost_GetProcessorSpeed_TO_OBJ(obj) COM_FORWARD_IHost_GetProcessorSpeed_TO ((obj)->)
#define COM_FORWARD_IHost_GetProcessorSpeed_TO_BASE(base) COM_FORWARD_IHost_GetProcessorSpeed_TO (base::)
#define COM_FORWARD_IHost_GetProcessorFeature_TO(smth) HRESULT STDMETHODCALLTYPE GetProcessorFeature (ProcessorFeature aFeature, BOOL * aSupported) { return smth GetProcessorFeature (aFeature, aSupported); }
#define COM_FORWARD_IHost_GetProcessorFeature_TO_OBJ(obj) COM_FORWARD_IHost_GetProcessorFeature_TO ((obj)->)
#define COM_FORWARD_IHost_GetProcessorFeature_TO_BASE(base) COM_FORWARD_IHost_GetProcessorFeature_TO (base::)
#define COM_FORWARD_IHost_GetProcessorDescription_TO(smth) HRESULT STDMETHODCALLTYPE GetProcessorDescription (ULONG aCpuId, BSTR * aDescription) { return smth GetProcessorDescription (aCpuId, aDescription); }
#define COM_FORWARD_IHost_GetProcessorDescription_TO_OBJ(obj) COM_FORWARD_IHost_GetProcessorDescription_TO ((obj)->)
#define COM_FORWARD_IHost_GetProcessorDescription_TO_BASE(base) COM_FORWARD_IHost_GetProcessorDescription_TO (base::)
#define COM_FORWARD_IHost_CreateHostOnlyNetworkInterface_TO(smth) HRESULT STDMETHODCALLTYPE CreateHostOnlyNetworkInterface (IHostNetworkInterface * * aHostInterface, IProgress * * aProgress) { return smth CreateHostOnlyNetworkInterface (aHostInterface, aProgress); }
#define COM_FORWARD_IHost_CreateHostOnlyNetworkInterface_TO_OBJ(obj) COM_FORWARD_IHost_CreateHostOnlyNetworkInterface_TO ((obj)->)
#define COM_FORWARD_IHost_CreateHostOnlyNetworkInterface_TO_BASE(base) COM_FORWARD_IHost_CreateHostOnlyNetworkInterface_TO (base::)
#define COM_FORWARD_IHost_RemoveHostOnlyNetworkInterface_TO(smth) HRESULT STDMETHODCALLTYPE RemoveHostOnlyNetworkInterface (BSTR aId, IProgress * * aProgress) { return smth RemoveHostOnlyNetworkInterface (aId, aProgress); }
#define COM_FORWARD_IHost_RemoveHostOnlyNetworkInterface_TO_OBJ(obj) COM_FORWARD_IHost_RemoveHostOnlyNetworkInterface_TO ((obj)->)
#define COM_FORWARD_IHost_RemoveHostOnlyNetworkInterface_TO_BASE(base) COM_FORWARD_IHost_RemoveHostOnlyNetworkInterface_TO (base::)
#define COM_FORWARD_IHost_CreateUSBDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE CreateUSBDeviceFilter (BSTR aName, IHostUSBDeviceFilter * * aFilter) { return smth CreateUSBDeviceFilter (aName, aFilter); }
#define COM_FORWARD_IHost_CreateUSBDeviceFilter_TO_OBJ(obj) COM_FORWARD_IHost_CreateUSBDeviceFilter_TO ((obj)->)
#define COM_FORWARD_IHost_CreateUSBDeviceFilter_TO_BASE(base) COM_FORWARD_IHost_CreateUSBDeviceFilter_TO (base::)
#define COM_FORWARD_IHost_InsertUSBDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE InsertUSBDeviceFilter (ULONG aPosition, IHostUSBDeviceFilter * aFilter) { return smth InsertUSBDeviceFilter (aPosition, aFilter); }
#define COM_FORWARD_IHost_InsertUSBDeviceFilter_TO_OBJ(obj) COM_FORWARD_IHost_InsertUSBDeviceFilter_TO ((obj)->)
#define COM_FORWARD_IHost_InsertUSBDeviceFilter_TO_BASE(base) COM_FORWARD_IHost_InsertUSBDeviceFilter_TO (base::)
#define COM_FORWARD_IHost_RemoveUSBDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE RemoveUSBDeviceFilter (ULONG aPosition) { return smth RemoveUSBDeviceFilter (aPosition); }
#define COM_FORWARD_IHost_RemoveUSBDeviceFilter_TO_OBJ(obj) COM_FORWARD_IHost_RemoveUSBDeviceFilter_TO ((obj)->)
#define COM_FORWARD_IHost_RemoveUSBDeviceFilter_TO_BASE(base) COM_FORWARD_IHost_RemoveUSBDeviceFilter_TO (base::)
#define COM_FORWARD_IHost_FindHostDVDDrive_TO(smth) HRESULT STDMETHODCALLTYPE FindHostDVDDrive (BSTR aName, IMedium * * aDrive) { return smth FindHostDVDDrive (aName, aDrive); }
#define COM_FORWARD_IHost_FindHostDVDDrive_TO_OBJ(obj) COM_FORWARD_IHost_FindHostDVDDrive_TO ((obj)->)
#define COM_FORWARD_IHost_FindHostDVDDrive_TO_BASE(base) COM_FORWARD_IHost_FindHostDVDDrive_TO (base::)
#define COM_FORWARD_IHost_FindHostFloppyDrive_TO(smth) HRESULT STDMETHODCALLTYPE FindHostFloppyDrive (BSTR aName, IMedium * * aDrive) { return smth FindHostFloppyDrive (aName, aDrive); }
#define COM_FORWARD_IHost_FindHostFloppyDrive_TO_OBJ(obj) COM_FORWARD_IHost_FindHostFloppyDrive_TO ((obj)->)
#define COM_FORWARD_IHost_FindHostFloppyDrive_TO_BASE(base) COM_FORWARD_IHost_FindHostFloppyDrive_TO (base::)
#define COM_FORWARD_IHost_FindHostNetworkInterfaceByName_TO(smth) HRESULT STDMETHODCALLTYPE FindHostNetworkInterfaceByName (BSTR aName, IHostNetworkInterface * * aNetworkInterface) { return smth FindHostNetworkInterfaceByName (aName, aNetworkInterface); }
#define COM_FORWARD_IHost_FindHostNetworkInterfaceByName_TO_OBJ(obj) COM_FORWARD_IHost_FindHostNetworkInterfaceByName_TO ((obj)->)
#define COM_FORWARD_IHost_FindHostNetworkInterfaceByName_TO_BASE(base) COM_FORWARD_IHost_FindHostNetworkInterfaceByName_TO (base::)
#define COM_FORWARD_IHost_FindHostNetworkInterfaceById_TO(smth) HRESULT STDMETHODCALLTYPE FindHostNetworkInterfaceById (BSTR aId, IHostNetworkInterface * * aNetworkInterface) { return smth FindHostNetworkInterfaceById (aId, aNetworkInterface); }
#define COM_FORWARD_IHost_FindHostNetworkInterfaceById_TO_OBJ(obj) COM_FORWARD_IHost_FindHostNetworkInterfaceById_TO ((obj)->)
#define COM_FORWARD_IHost_FindHostNetworkInterfaceById_TO_BASE(base) COM_FORWARD_IHost_FindHostNetworkInterfaceById_TO (base::)
#define COM_FORWARD_IHost_FindHostNetworkInterfacesOfType_TO(smth) HRESULT STDMETHODCALLTYPE FindHostNetworkInterfacesOfType (HostNetworkInterfaceType aType, SAFEARRAY * * aNetworkInterfaces) { return smth FindHostNetworkInterfacesOfType (aType, aNetworkInterfaces); }
#define COM_FORWARD_IHost_FindHostNetworkInterfacesOfType_TO_OBJ(obj) COM_FORWARD_IHost_FindHostNetworkInterfacesOfType_TO ((obj)->)
#define COM_FORWARD_IHost_FindHostNetworkInterfacesOfType_TO_BASE(base) COM_FORWARD_IHost_FindHostNetworkInterfacesOfType_TO (base::)
#define COM_FORWARD_IHost_FindUSBDeviceById_TO(smth) HRESULT STDMETHODCALLTYPE FindUSBDeviceById (BSTR aId, IHostUSBDevice * * aDevice) { return smth FindUSBDeviceById (aId, aDevice); }
#define COM_FORWARD_IHost_FindUSBDeviceById_TO_OBJ(obj) COM_FORWARD_IHost_FindUSBDeviceById_TO ((obj)->)
#define COM_FORWARD_IHost_FindUSBDeviceById_TO_BASE(base) COM_FORWARD_IHost_FindUSBDeviceById_TO (base::)
#define COM_FORWARD_IHost_FindUSBDeviceByAddress_TO(smth) HRESULT STDMETHODCALLTYPE FindUSBDeviceByAddress (BSTR aName, IHostUSBDevice * * aDevice) { return smth FindUSBDeviceByAddress (aName, aDevice); }
#define COM_FORWARD_IHost_FindUSBDeviceByAddress_TO_OBJ(obj) COM_FORWARD_IHost_FindUSBDeviceByAddress_TO ((obj)->)
#define COM_FORWARD_IHost_FindUSBDeviceByAddress_TO_BASE(base) COM_FORWARD_IHost_FindUSBDeviceByAddress_TO (base::)
#define COM_FORWARD_IHost_GenerateMACAddress_TO(smth) HRESULT STDMETHODCALLTYPE GenerateMACAddress (BSTR * aAddress) { return smth GenerateMACAddress (aAddress); }
#define COM_FORWARD_IHost_GenerateMACAddress_TO_OBJ(obj) COM_FORWARD_IHost_GenerateMACAddress_TO ((obj)->)
#define COM_FORWARD_IHost_GenerateMACAddress_TO_BASE(base) COM_FORWARD_IHost_GenerateMACAddress_TO (base::)
#define COM_FORWARD_IHost_AddUSBDeviceSource_TO(smth) HRESULT STDMETHODCALLTYPE AddUSBDeviceSource (BSTR aBackend, BSTR aId, BSTR aAddress, SAFEARRAY * * aPropertyNames, SAFEARRAY * * aPropertyValues) { return smth AddUSBDeviceSource (aBackend, aId, aAddress, aPropertyNames, aPropertyValues); }
#define COM_FORWARD_IHost_AddUSBDeviceSource_TO_OBJ(obj) COM_FORWARD_IHost_AddUSBDeviceSource_TO ((obj)->)
#define COM_FORWARD_IHost_AddUSBDeviceSource_TO_BASE(base) COM_FORWARD_IHost_AddUSBDeviceSource_TO (base::)
#define COM_FORWARD_IHost_RemoveUSBDeviceSource_TO(smth) HRESULT STDMETHODCALLTYPE RemoveUSBDeviceSource (BSTR aId) { return smth RemoveUSBDeviceSource (aId); }
#define COM_FORWARD_IHost_RemoveUSBDeviceSource_TO_OBJ(obj) COM_FORWARD_IHost_RemoveUSBDeviceSource_TO ((obj)->)
#define COM_FORWARD_IHost_RemoveUSBDeviceSource_TO_BASE(base) COM_FORWARD_IHost_RemoveUSBDeviceSource_TO (base::)
#define COM_FORWARD_IHost_IsExecutionEngineSupported_TO(smth) HRESULT STDMETHODCALLTYPE IsExecutionEngineSupported (CPUArchitecture aCpuArchitecture, VMExecutionEngine aExecutionEngine, BOOL * aIsSupported) { return smth IsExecutionEngineSupported (aCpuArchitecture, aExecutionEngine, aIsSupported); }
#define COM_FORWARD_IHost_IsExecutionEngineSupported_TO_OBJ(obj) COM_FORWARD_IHost_IsExecutionEngineSupported_TO ((obj)->)
#define COM_FORWARD_IHost_IsExecutionEngineSupported_TO_BASE(base) COM_FORWARD_IHost_IsExecutionEngineSupported_TO (base::)
#define COM_FORWARD_IHost_TO(smth) COM_FORWARD_IHost_GETTER_Architecture_TO (smth) COM_FORWARD_IHost_GETTER_X86_TO (smth) COM_FORWARD_IHost_GETTER_DVDDrives_TO (smth) COM_FORWARD_IHost_GETTER_FloppyDrives_TO (smth) COM_FORWARD_IHost_GETTER_AudioDevices_TO (smth) COM_FORWARD_IHost_GETTER_USBDevices_TO (smth) COM_FORWARD_IHost_GETTER_USBDeviceFilters_TO (smth) COM_FORWARD_IHost_GETTER_NetworkInterfaces_TO (smth) COM_FORWARD_IHost_GETTER_NameServers_TO (smth) COM_FORWARD_IHost_GETTER_DomainName_TO (smth) COM_FORWARD_IHost_GETTER_SearchStrings_TO (smth) COM_FORWARD_IHost_GETTER_ProcessorCount_TO (smth) COM_FORWARD_IHost_GETTER_ProcessorOnlineCount_TO (smth) COM_FORWARD_IHost_GETTER_ProcessorCoreCount_TO (smth) COM_FORWARD_IHost_GETTER_ProcessorOnlineCoreCount_TO (smth) COM_FORWARD_IHost_GETTER_HostDrives_TO (smth) COM_FORWARD_IHost_GETTER_MemorySize_TO (smth) COM_FORWARD_IHost_GETTER_MemoryAvailable_TO (smth) COM_FORWARD_IHost_GETTER_OperatingSystem_TO (smth) COM_FORWARD_IHost_GETTER_OSVersion_TO (smth) COM_FORWARD_IHost_GETTER_UTCTime_TO (smth) COM_FORWARD_IHost_GETTER_VideoInputDevices_TO (smth) COM_FORWARD_IHost_GETTER_UpdateHost_TO (smth) COM_FORWARD_IHost_GETTER_UpdateExtPack_TO (smth) COM_FORWARD_IHost_GETTER_UpdateGuestAdditions_TO (smth) COM_FORWARD_IHost_GetProcessorSpeed_TO (smth) COM_FORWARD_IHost_GetProcessorFeature_TO (smth) COM_FORWARD_IHost_GetProcessorDescription_TO (smth) COM_FORWARD_IHost_CreateHostOnlyNetworkInterface_TO (smth) COM_FORWARD_IHost_RemoveHostOnlyNetworkInterface_TO (smth) COM_FORWARD_IHost_CreateUSBDeviceFilter_TO (smth) COM_FORWARD_IHost_InsertUSBDeviceFilter_TO (smth) COM_FORWARD_IHost_RemoveUSBDeviceFilter_TO (smth) COM_FORWARD_IHost_FindHostDVDDrive_TO (smth) COM_FORWARD_IHost_FindHostFloppyDrive_TO (smth) COM_FORWARD_IHost_FindHostNetworkInterfaceByName_TO (smth) COM_FORWARD_IHost_FindHostNetworkInterfaceById_TO (smth) COM_FORWARD_IHost_FindHostNetworkInterfacesOfType_TO (smth) COM_FORWARD_IHost_FindUSBDeviceById_TO (smth) COM_FORWARD_IHost_FindUSBDeviceByAddress_TO (smth) COM_FORWARD_IHost_GenerateMACAddress_TO (smth) COM_FORWARD_IHost_AddUSBDeviceSource_TO (smth) COM_FORWARD_IHost_RemoveUSBDeviceSource_TO (smth) COM_FORWARD_IHost_IsExecutionEngineSupported_TO (smth) 
#define COM_FORWARD_IHost_TO_OBJ(obj) COM_FORWARD_IHost_TO ((obj)->)
#define COM_FORWARD_IHost_TO_BASE(base) COM_FORWARD_IHost_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0042_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0042_v0_0_s_ifspec;

#ifndef __ICPUProfile_INTERFACE_DEFINED__
#define __ICPUProfile_INTERFACE_DEFINED__

/* interface ICPUProfile */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICPUProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b7fda727-7a08-46ee-8dd8-f8d7308b519c")
    ICPUProfile : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FullName( 
            /* [retval][out] */ BSTR *aFullName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Architecture( 
            /* [retval][out] */ CPUArchitecture *aArchitecture) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ICPUProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ICPUProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ICPUProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ICPUProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ICPUProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ICPUProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ICPUProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ICPUProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ICPUProfile( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ICPUProfile( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3ICPUProfile( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4ICPUProfile( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICPUProfileVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICPUProfile * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICPUProfile * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICPUProfile * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICPUProfile * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICPUProfile * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICPUProfile * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICPUProfile * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ICPUProfile, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICPUProfile * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(ICPUProfile, get_FullName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FullName )( 
            ICPUProfile * This,
            /* [retval][out] */ BSTR *aFullName);
        
        DECLSPEC_XFGVIRT(ICPUProfile, get_Architecture)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Architecture )( 
            ICPUProfile * This,
            /* [retval][out] */ CPUArchitecture *aArchitecture);
        
        DECLSPEC_XFGVIRT(ICPUProfile, get_InternalAndReservedAttribute1ICPUProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ICPUProfile )( 
            ICPUProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICPUProfile, get_InternalAndReservedAttribute2ICPUProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ICPUProfile )( 
            ICPUProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICPUProfile, get_InternalAndReservedAttribute3ICPUProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ICPUProfile )( 
            ICPUProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICPUProfile, get_InternalAndReservedAttribute4ICPUProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ICPUProfile )( 
            ICPUProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICPUProfile, get_InternalAndReservedAttribute5ICPUProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ICPUProfile )( 
            ICPUProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICPUProfile, get_InternalAndReservedAttribute6ICPUProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ICPUProfile )( 
            ICPUProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICPUProfile, get_InternalAndReservedAttribute7ICPUProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ICPUProfile )( 
            ICPUProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICPUProfile, get_InternalAndReservedAttribute8ICPUProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ICPUProfile )( 
            ICPUProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICPUProfile, InternalAndReservedMethod1ICPUProfile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ICPUProfile )( 
            ICPUProfile * This);
        
        DECLSPEC_XFGVIRT(ICPUProfile, InternalAndReservedMethod2ICPUProfile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ICPUProfile )( 
            ICPUProfile * This);
        
        DECLSPEC_XFGVIRT(ICPUProfile, InternalAndReservedMethod3ICPUProfile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3ICPUProfile )( 
            ICPUProfile * This);
        
        DECLSPEC_XFGVIRT(ICPUProfile, InternalAndReservedMethod4ICPUProfile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4ICPUProfile )( 
            ICPUProfile * This);
        
        END_INTERFACE
    } ICPUProfileVtbl;

    interface ICPUProfile
    {
        CONST_VTBL struct ICPUProfileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICPUProfile_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICPUProfile_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICPUProfile_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICPUProfile_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICPUProfile_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define ICPUProfile_get_FullName(This,aFullName)	\
    ( (This)->lpVtbl -> get_FullName(This,aFullName) ) 

#define ICPUProfile_get_Architecture(This,aArchitecture)	\
    ( (This)->lpVtbl -> get_Architecture(This,aArchitecture) ) 

#define ICPUProfile_get_InternalAndReservedAttribute1ICPUProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ICPUProfile(This,aReserved) ) 

#define ICPUProfile_get_InternalAndReservedAttribute2ICPUProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ICPUProfile(This,aReserved) ) 

#define ICPUProfile_get_InternalAndReservedAttribute3ICPUProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ICPUProfile(This,aReserved) ) 

#define ICPUProfile_get_InternalAndReservedAttribute4ICPUProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ICPUProfile(This,aReserved) ) 

#define ICPUProfile_get_InternalAndReservedAttribute5ICPUProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ICPUProfile(This,aReserved) ) 

#define ICPUProfile_get_InternalAndReservedAttribute6ICPUProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ICPUProfile(This,aReserved) ) 

#define ICPUProfile_get_InternalAndReservedAttribute7ICPUProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ICPUProfile(This,aReserved) ) 

#define ICPUProfile_get_InternalAndReservedAttribute8ICPUProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ICPUProfile(This,aReserved) ) 

#define ICPUProfile_InternalAndReservedMethod1ICPUProfile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ICPUProfile(This) ) 

#define ICPUProfile_InternalAndReservedMethod2ICPUProfile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ICPUProfile(This) ) 

#define ICPUProfile_InternalAndReservedMethod3ICPUProfile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3ICPUProfile(This) ) 

#define ICPUProfile_InternalAndReservedMethod4ICPUProfile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4ICPUProfile(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICPUProfile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0043 */
/* [local] */ 

#define COM_FORWARD_ICPUProfile_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_ICPUProfile_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICPUProfile_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_ICPUProfile_GETTER_Name_TO_BASE(base) COM_FORWARD_ICPUProfile_GETTER_Name_TO (base::)
#define COM_FORWARD_ICPUProfile_GETTER_FullName_TO(smth) HRESULT STDMETHODCALLTYPE get_FullName (BSTR * aFullName) { return smth get_FullName (aFullName); }
#define COM_FORWARD_ICPUProfile_GETTER_FullName_TO_OBJ(obj) COM_FORWARD_ICPUProfile_GETTER_FullName_TO ((obj)->)
#define COM_FORWARD_ICPUProfile_GETTER_FullName_TO_BASE(base) COM_FORWARD_ICPUProfile_GETTER_FullName_TO (base::)
#define COM_FORWARD_ICPUProfile_GETTER_Architecture_TO(smth) HRESULT STDMETHODCALLTYPE get_Architecture (CPUArchitecture * aArchitecture) { return smth get_Architecture (aArchitecture); }
#define COM_FORWARD_ICPUProfile_GETTER_Architecture_TO_OBJ(obj) COM_FORWARD_ICPUProfile_GETTER_Architecture_TO ((obj)->)
#define COM_FORWARD_ICPUProfile_GETTER_Architecture_TO_BASE(base) COM_FORWARD_ICPUProfile_GETTER_Architecture_TO (base::)
#define COM_FORWARD_ICPUProfile_TO(smth) COM_FORWARD_ICPUProfile_GETTER_Name_TO (smth) COM_FORWARD_ICPUProfile_GETTER_FullName_TO (smth) COM_FORWARD_ICPUProfile_GETTER_Architecture_TO (smth) 
#define COM_FORWARD_ICPUProfile_TO_OBJ(obj) COM_FORWARD_ICPUProfile_TO ((obj)->)
#define COM_FORWARD_ICPUProfile_TO_BASE(base) COM_FORWARD_ICPUProfile_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0043_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0043_v0_0_s_ifspec;

#ifndef __IPlatformProperties_INTERFACE_DEFINED__
#define __IPlatformProperties_INTERFACE_DEFINED__

/* interface IPlatformProperties */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IPlatformProperties;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5bae19d0-ca40-4ca2-a485-c8065190bbe5")
    IPlatformProperties : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RawModeSupported( 
            /* [retval][out] */ BOOL *aRawModeSupported) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExclusiveHwVirt( 
            /* [retval][out] */ BOOL *aExclusiveHwVirt) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExclusiveHwVirt( 
            /* [in] */ BOOL aExclusiveHwVirt) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SerialPortCount( 
            /* [retval][out] */ ULONG *aSerialPortCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ParallelPortCount( 
            /* [retval][out] */ ULONG *aParallelPortCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxBootPosition( 
            /* [retval][out] */ ULONG *aMaxBootPosition) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedParavirtProviders( 
            /* [retval][out] */ SAFEARRAY * *aSupportedParavirtProviders) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedFirmwareTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedFirmwareTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedGuestOSTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedGuestOSTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedGfxControllerTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedGfxControllerTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedNetAdpPromiscModePols( 
            /* [retval][out] */ SAFEARRAY * *aSupportedNetAdpPromiscModePols) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedNetworkAdapterTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedNetworkAdapterTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedUartTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedUartTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedUSBControllerTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedUSBControllerTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedAudioControllerTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedAudioControllerTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedBootDevices( 
            /* [retval][out] */ SAFEARRAY * *aSupportedBootDevices) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedStorageBuses( 
            /* [retval][out] */ SAFEARRAY * *aSupportedStorageBuses) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedStorageControllerTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedStorageControllerTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedChipsetTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedChipsetTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedIommuTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedIommuTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedTpmTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedTpmTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16IPlatformProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMaxNetworkAdapters( 
            /* [in] */ ChipsetType aChipset,
            /* [retval][out] */ ULONG *aMaxNetworkAdapters) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMaxNetworkAdaptersOfType( 
            /* [in] */ ChipsetType aChipset,
            /* [in] */ NetworkAttachmentType aType,
            /* [retval][out] */ ULONG *aMaxNetworkAdapters) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMaxDevicesPerPortForStorageBus( 
            /* [in] */ StorageBus aBus,
            /* [retval][out] */ ULONG *aMaxDevicesPerPort) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMinPortCountForStorageBus( 
            /* [in] */ StorageBus aBus,
            /* [retval][out] */ ULONG *aMinPortCount) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMaxPortCountForStorageBus( 
            /* [in] */ StorageBus aBus,
            /* [retval][out] */ ULONG *aMaxPortCount) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMaxInstancesOfStorageBus( 
            /* [in] */ ChipsetType aChipset,
            /* [in] */ StorageBus aBus,
            /* [retval][out] */ ULONG *aMaxInstances) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSupportedVRAMRange( 
            /* [in] */ GraphicsControllerType aGraphicsControllerType,
            /* [in] */ BOOL aAccelerate3DEnabled,
            /* [out] */ ULONG *aMinMB,
            /* [out] */ ULONG *aMaxMB,
            /* [retval][out] */ ULONG *aStrideSizeMB) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSupportedGfxFeaturesForType( 
            /* [in] */ GraphicsControllerType aGraphicsControllerType,
            /* [retval][out] */ SAFEARRAY * *aSupportedControllerFeatures) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDeviceTypesForStorageBus( 
            /* [in] */ StorageBus aBus,
            /* [retval][out] */ SAFEARRAY * *aDeviceTypes) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetStorageBusForControllerType( 
            /* [in] */ StorageControllerType aStorageControllerType,
            /* [retval][out] */ StorageBus *aStorageBus) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetStorageControllerTypesForBus( 
            /* [in] */ StorageBus aStorageBus,
            /* [retval][out] */ SAFEARRAY * *aStorageControllerType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetStorageControllerHotplugCapable( 
            /* [in] */ StorageControllerType aControllerType,
            /* [retval][out] */ BOOL *aHotplugCapable) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMaxInstancesOfUSBControllerType( 
            /* [in] */ ChipsetType aChipset,
            /* [in] */ USBControllerType aType,
            /* [retval][out] */ ULONG *aMaxInstances) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IPlatformProperties( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IPlatformProperties( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IPlatformProperties( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IPlatformProperties( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IPlatformPropertiesVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPlatformProperties * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPlatformProperties * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPlatformProperties * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IPlatformProperties * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IPlatformProperties * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IPlatformProperties * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IPlatformProperties * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_RawModeSupported)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RawModeSupported )( 
            IPlatformProperties * This,
            /* [retval][out] */ BOOL *aRawModeSupported);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_ExclusiveHwVirt)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExclusiveHwVirt )( 
            IPlatformProperties * This,
            /* [retval][out] */ BOOL *aExclusiveHwVirt);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, put_ExclusiveHwVirt)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExclusiveHwVirt )( 
            IPlatformProperties * This,
            /* [in] */ BOOL aExclusiveHwVirt);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SerialPortCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialPortCount )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aSerialPortCount);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_ParallelPortCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParallelPortCount )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aParallelPortCount);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_MaxBootPosition)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxBootPosition )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aMaxBootPosition);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedParavirtProviders)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedParavirtProviders )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedParavirtProviders);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedFirmwareTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedFirmwareTypes )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedFirmwareTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedGuestOSTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedGuestOSTypes )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedGuestOSTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedGfxControllerTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedGfxControllerTypes )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedGfxControllerTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedNetAdpPromiscModePols)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedNetAdpPromiscModePols )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedNetAdpPromiscModePols);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedNetworkAdapterTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedNetworkAdapterTypes )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedNetworkAdapterTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedUartTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedUartTypes )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedUartTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedUSBControllerTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedUSBControllerTypes )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedUSBControllerTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedAudioControllerTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedAudioControllerTypes )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedAudioControllerTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedBootDevices)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedBootDevices )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedBootDevices);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedStorageBuses)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedStorageBuses )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedStorageBuses);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedStorageControllerTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedStorageControllerTypes )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedStorageControllerTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedChipsetTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedChipsetTypes )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedChipsetTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedIommuTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedIommuTypes )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedIommuTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_SupportedTpmTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedTpmTypes )( 
            IPlatformProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedTpmTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute1IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute2IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute3IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute4IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute5IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute6IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute7IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute8IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute9IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute10IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute11IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute12IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute13IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute14IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute15IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, get_InternalAndReservedAttribute16IPlatformProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IPlatformProperties )( 
            IPlatformProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetMaxNetworkAdapters)
        HRESULT ( STDMETHODCALLTYPE *GetMaxNetworkAdapters )( 
            IPlatformProperties * This,
            /* [in] */ ChipsetType aChipset,
            /* [retval][out] */ ULONG *aMaxNetworkAdapters);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetMaxNetworkAdaptersOfType)
        HRESULT ( STDMETHODCALLTYPE *GetMaxNetworkAdaptersOfType )( 
            IPlatformProperties * This,
            /* [in] */ ChipsetType aChipset,
            /* [in] */ NetworkAttachmentType aType,
            /* [retval][out] */ ULONG *aMaxNetworkAdapters);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetMaxDevicesPerPortForStorageBus)
        HRESULT ( STDMETHODCALLTYPE *GetMaxDevicesPerPortForStorageBus )( 
            IPlatformProperties * This,
            /* [in] */ StorageBus aBus,
            /* [retval][out] */ ULONG *aMaxDevicesPerPort);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetMinPortCountForStorageBus)
        HRESULT ( STDMETHODCALLTYPE *GetMinPortCountForStorageBus )( 
            IPlatformProperties * This,
            /* [in] */ StorageBus aBus,
            /* [retval][out] */ ULONG *aMinPortCount);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetMaxPortCountForStorageBus)
        HRESULT ( STDMETHODCALLTYPE *GetMaxPortCountForStorageBus )( 
            IPlatformProperties * This,
            /* [in] */ StorageBus aBus,
            /* [retval][out] */ ULONG *aMaxPortCount);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetMaxInstancesOfStorageBus)
        HRESULT ( STDMETHODCALLTYPE *GetMaxInstancesOfStorageBus )( 
            IPlatformProperties * This,
            /* [in] */ ChipsetType aChipset,
            /* [in] */ StorageBus aBus,
            /* [retval][out] */ ULONG *aMaxInstances);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetSupportedVRAMRange)
        HRESULT ( STDMETHODCALLTYPE *GetSupportedVRAMRange )( 
            IPlatformProperties * This,
            /* [in] */ GraphicsControllerType aGraphicsControllerType,
            /* [in] */ BOOL aAccelerate3DEnabled,
            /* [out] */ ULONG *aMinMB,
            /* [out] */ ULONG *aMaxMB,
            /* [retval][out] */ ULONG *aStrideSizeMB);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetSupportedGfxFeaturesForType)
        HRESULT ( STDMETHODCALLTYPE *GetSupportedGfxFeaturesForType )( 
            IPlatformProperties * This,
            /* [in] */ GraphicsControllerType aGraphicsControllerType,
            /* [retval][out] */ SAFEARRAY * *aSupportedControllerFeatures);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetDeviceTypesForStorageBus)
        HRESULT ( STDMETHODCALLTYPE *GetDeviceTypesForStorageBus )( 
            IPlatformProperties * This,
            /* [in] */ StorageBus aBus,
            /* [retval][out] */ SAFEARRAY * *aDeviceTypes);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetStorageBusForControllerType)
        HRESULT ( STDMETHODCALLTYPE *GetStorageBusForControllerType )( 
            IPlatformProperties * This,
            /* [in] */ StorageControllerType aStorageControllerType,
            /* [retval][out] */ StorageBus *aStorageBus);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetStorageControllerTypesForBus)
        HRESULT ( STDMETHODCALLTYPE *GetStorageControllerTypesForBus )( 
            IPlatformProperties * This,
            /* [in] */ StorageBus aStorageBus,
            /* [retval][out] */ SAFEARRAY * *aStorageControllerType);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetStorageControllerHotplugCapable)
        HRESULT ( STDMETHODCALLTYPE *GetStorageControllerHotplugCapable )( 
            IPlatformProperties * This,
            /* [in] */ StorageControllerType aControllerType,
            /* [retval][out] */ BOOL *aHotplugCapable);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, GetMaxInstancesOfUSBControllerType)
        HRESULT ( STDMETHODCALLTYPE *GetMaxInstancesOfUSBControllerType )( 
            IPlatformProperties * This,
            /* [in] */ ChipsetType aChipset,
            /* [in] */ USBControllerType aType,
            /* [retval][out] */ ULONG *aMaxInstances);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, InternalAndReservedMethod1IPlatformProperties)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IPlatformProperties )( 
            IPlatformProperties * This);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, InternalAndReservedMethod2IPlatformProperties)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IPlatformProperties )( 
            IPlatformProperties * This);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, InternalAndReservedMethod3IPlatformProperties)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IPlatformProperties )( 
            IPlatformProperties * This);
        
        DECLSPEC_XFGVIRT(IPlatformProperties, InternalAndReservedMethod4IPlatformProperties)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IPlatformProperties )( 
            IPlatformProperties * This);
        
        END_INTERFACE
    } IPlatformPropertiesVtbl;

    interface IPlatformProperties
    {
        CONST_VTBL struct IPlatformPropertiesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlatformProperties_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IPlatformProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IPlatformProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IPlatformProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IPlatformProperties_get_RawModeSupported(This,aRawModeSupported)	\
    ( (This)->lpVtbl -> get_RawModeSupported(This,aRawModeSupported) ) 

#define IPlatformProperties_get_ExclusiveHwVirt(This,aExclusiveHwVirt)	\
    ( (This)->lpVtbl -> get_ExclusiveHwVirt(This,aExclusiveHwVirt) ) 

#define IPlatformProperties_put_ExclusiveHwVirt(This,aExclusiveHwVirt)	\
    ( (This)->lpVtbl -> put_ExclusiveHwVirt(This,aExclusiveHwVirt) ) 

#define IPlatformProperties_get_SerialPortCount(This,aSerialPortCount)	\
    ( (This)->lpVtbl -> get_SerialPortCount(This,aSerialPortCount) ) 

#define IPlatformProperties_get_ParallelPortCount(This,aParallelPortCount)	\
    ( (This)->lpVtbl -> get_ParallelPortCount(This,aParallelPortCount) ) 

#define IPlatformProperties_get_MaxBootPosition(This,aMaxBootPosition)	\
    ( (This)->lpVtbl -> get_MaxBootPosition(This,aMaxBootPosition) ) 

#define IPlatformProperties_get_SupportedParavirtProviders(This,aSupportedParavirtProviders)	\
    ( (This)->lpVtbl -> get_SupportedParavirtProviders(This,aSupportedParavirtProviders) ) 

#define IPlatformProperties_get_SupportedFirmwareTypes(This,aSupportedFirmwareTypes)	\
    ( (This)->lpVtbl -> get_SupportedFirmwareTypes(This,aSupportedFirmwareTypes) ) 

#define IPlatformProperties_get_SupportedGuestOSTypes(This,aSupportedGuestOSTypes)	\
    ( (This)->lpVtbl -> get_SupportedGuestOSTypes(This,aSupportedGuestOSTypes) ) 

#define IPlatformProperties_get_SupportedGfxControllerTypes(This,aSupportedGfxControllerTypes)	\
    ( (This)->lpVtbl -> get_SupportedGfxControllerTypes(This,aSupportedGfxControllerTypes) ) 

#define IPlatformProperties_get_SupportedNetAdpPromiscModePols(This,aSupportedNetAdpPromiscModePols)	\
    ( (This)->lpVtbl -> get_SupportedNetAdpPromiscModePols(This,aSupportedNetAdpPromiscModePols) ) 

#define IPlatformProperties_get_SupportedNetworkAdapterTypes(This,aSupportedNetworkAdapterTypes)	\
    ( (This)->lpVtbl -> get_SupportedNetworkAdapterTypes(This,aSupportedNetworkAdapterTypes) ) 

#define IPlatformProperties_get_SupportedUartTypes(This,aSupportedUartTypes)	\
    ( (This)->lpVtbl -> get_SupportedUartTypes(This,aSupportedUartTypes) ) 

#define IPlatformProperties_get_SupportedUSBControllerTypes(This,aSupportedUSBControllerTypes)	\
    ( (This)->lpVtbl -> get_SupportedUSBControllerTypes(This,aSupportedUSBControllerTypes) ) 

#define IPlatformProperties_get_SupportedAudioControllerTypes(This,aSupportedAudioControllerTypes)	\
    ( (This)->lpVtbl -> get_SupportedAudioControllerTypes(This,aSupportedAudioControllerTypes) ) 

#define IPlatformProperties_get_SupportedBootDevices(This,aSupportedBootDevices)	\
    ( (This)->lpVtbl -> get_SupportedBootDevices(This,aSupportedBootDevices) ) 

#define IPlatformProperties_get_SupportedStorageBuses(This,aSupportedStorageBuses)	\
    ( (This)->lpVtbl -> get_SupportedStorageBuses(This,aSupportedStorageBuses) ) 

#define IPlatformProperties_get_SupportedStorageControllerTypes(This,aSupportedStorageControllerTypes)	\
    ( (This)->lpVtbl -> get_SupportedStorageControllerTypes(This,aSupportedStorageControllerTypes) ) 

#define IPlatformProperties_get_SupportedChipsetTypes(This,aSupportedChipsetTypes)	\
    ( (This)->lpVtbl -> get_SupportedChipsetTypes(This,aSupportedChipsetTypes) ) 

#define IPlatformProperties_get_SupportedIommuTypes(This,aSupportedIommuTypes)	\
    ( (This)->lpVtbl -> get_SupportedIommuTypes(This,aSupportedIommuTypes) ) 

#define IPlatformProperties_get_SupportedTpmTypes(This,aSupportedTpmTypes)	\
    ( (This)->lpVtbl -> get_SupportedTpmTypes(This,aSupportedTpmTypes) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute1IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute2IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute3IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute4IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute5IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute6IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute7IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute8IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute9IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute10IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute11IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute12IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute13IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute14IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute15IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_get_InternalAndReservedAttribute16IPlatformProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IPlatformProperties(This,aReserved) ) 

#define IPlatformProperties_GetMaxNetworkAdapters(This,aChipset,aMaxNetworkAdapters)	\
    ( (This)->lpVtbl -> GetMaxNetworkAdapters(This,aChipset,aMaxNetworkAdapters) ) 

#define IPlatformProperties_GetMaxNetworkAdaptersOfType(This,aChipset,aType,aMaxNetworkAdapters)	\
    ( (This)->lpVtbl -> GetMaxNetworkAdaptersOfType(This,aChipset,aType,aMaxNetworkAdapters) ) 

#define IPlatformProperties_GetMaxDevicesPerPortForStorageBus(This,aBus,aMaxDevicesPerPort)	\
    ( (This)->lpVtbl -> GetMaxDevicesPerPortForStorageBus(This,aBus,aMaxDevicesPerPort) ) 

#define IPlatformProperties_GetMinPortCountForStorageBus(This,aBus,aMinPortCount)	\
    ( (This)->lpVtbl -> GetMinPortCountForStorageBus(This,aBus,aMinPortCount) ) 

#define IPlatformProperties_GetMaxPortCountForStorageBus(This,aBus,aMaxPortCount)	\
    ( (This)->lpVtbl -> GetMaxPortCountForStorageBus(This,aBus,aMaxPortCount) ) 

#define IPlatformProperties_GetMaxInstancesOfStorageBus(This,aChipset,aBus,aMaxInstances)	\
    ( (This)->lpVtbl -> GetMaxInstancesOfStorageBus(This,aChipset,aBus,aMaxInstances) ) 

#define IPlatformProperties_GetSupportedVRAMRange(This,aGraphicsControllerType,aAccelerate3DEnabled,aMinMB,aMaxMB,aStrideSizeMB)	\
    ( (This)->lpVtbl -> GetSupportedVRAMRange(This,aGraphicsControllerType,aAccelerate3DEnabled,aMinMB,aMaxMB,aStrideSizeMB) ) 

#define IPlatformProperties_GetSupportedGfxFeaturesForType(This,aGraphicsControllerType,aSupportedControllerFeatures)	\
    ( (This)->lpVtbl -> GetSupportedGfxFeaturesForType(This,aGraphicsControllerType,aSupportedControllerFeatures) ) 

#define IPlatformProperties_GetDeviceTypesForStorageBus(This,aBus,aDeviceTypes)	\
    ( (This)->lpVtbl -> GetDeviceTypesForStorageBus(This,aBus,aDeviceTypes) ) 

#define IPlatformProperties_GetStorageBusForControllerType(This,aStorageControllerType,aStorageBus)	\
    ( (This)->lpVtbl -> GetStorageBusForControllerType(This,aStorageControllerType,aStorageBus) ) 

#define IPlatformProperties_GetStorageControllerTypesForBus(This,aStorageBus,aStorageControllerType)	\
    ( (This)->lpVtbl -> GetStorageControllerTypesForBus(This,aStorageBus,aStorageControllerType) ) 

#define IPlatformProperties_GetStorageControllerHotplugCapable(This,aControllerType,aHotplugCapable)	\
    ( (This)->lpVtbl -> GetStorageControllerHotplugCapable(This,aControllerType,aHotplugCapable) ) 

#define IPlatformProperties_GetMaxInstancesOfUSBControllerType(This,aChipset,aType,aMaxInstances)	\
    ( (This)->lpVtbl -> GetMaxInstancesOfUSBControllerType(This,aChipset,aType,aMaxInstances) ) 

#define IPlatformProperties_InternalAndReservedMethod1IPlatformProperties(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IPlatformProperties(This) ) 

#define IPlatformProperties_InternalAndReservedMethod2IPlatformProperties(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IPlatformProperties(This) ) 

#define IPlatformProperties_InternalAndReservedMethod3IPlatformProperties(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IPlatformProperties(This) ) 

#define IPlatformProperties_InternalAndReservedMethod4IPlatformProperties(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IPlatformProperties(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IPlatformProperties_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0044 */
/* [local] */ 

#define COM_FORWARD_IPlatformProperties_GETTER_RawModeSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_RawModeSupported (BOOL * aRawModeSupported) { return smth get_RawModeSupported (aRawModeSupported); }
#define COM_FORWARD_IPlatformProperties_GETTER_RawModeSupported_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_RawModeSupported_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_RawModeSupported_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_RawModeSupported_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_ExclusiveHwVirt_TO(smth) HRESULT STDMETHODCALLTYPE get_ExclusiveHwVirt (BOOL * aExclusiveHwVirt) { return smth get_ExclusiveHwVirt (aExclusiveHwVirt); }
#define COM_FORWARD_IPlatformProperties_GETTER_ExclusiveHwVirt_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_ExclusiveHwVirt_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_ExclusiveHwVirt_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_ExclusiveHwVirt_TO (base::)
#define COM_FORWARD_IPlatformProperties_SETTER_ExclusiveHwVirt_TO(smth) HRESULT STDMETHODCALLTYPE put_ExclusiveHwVirt (BOOL aExclusiveHwVirt) { return smth put_ExclusiveHwVirt (aExclusiveHwVirt); }
#define COM_FORWARD_IPlatformProperties_SETTER_ExclusiveHwVirt_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_SETTER_ExclusiveHwVirt_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_SETTER_ExclusiveHwVirt_TO_BASE(base) COM_FORWARD_IPlatformProperties_SETTER_ExclusiveHwVirt_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SerialPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialPortCount (ULONG * aSerialPortCount) { return smth get_SerialPortCount (aSerialPortCount); }
#define COM_FORWARD_IPlatformProperties_GETTER_SerialPortCount_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SerialPortCount_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SerialPortCount_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SerialPortCount_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_ParallelPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ParallelPortCount (ULONG * aParallelPortCount) { return smth get_ParallelPortCount (aParallelPortCount); }
#define COM_FORWARD_IPlatformProperties_GETTER_ParallelPortCount_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_ParallelPortCount_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_ParallelPortCount_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_ParallelPortCount_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_MaxBootPosition_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxBootPosition (ULONG * aMaxBootPosition) { return smth get_MaxBootPosition (aMaxBootPosition); }
#define COM_FORWARD_IPlatformProperties_GETTER_MaxBootPosition_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_MaxBootPosition_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_MaxBootPosition_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_MaxBootPosition_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedParavirtProviders_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedParavirtProviders (SAFEARRAY * * aSupportedParavirtProviders) { return smth get_SupportedParavirtProviders (aSupportedParavirtProviders); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedParavirtProviders_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedParavirtProviders_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedParavirtProviders_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedParavirtProviders_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedFirmwareTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedFirmwareTypes (SAFEARRAY * * aSupportedFirmwareTypes) { return smth get_SupportedFirmwareTypes (aSupportedFirmwareTypes); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedFirmwareTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedFirmwareTypes_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedFirmwareTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedFirmwareTypes_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGuestOSTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedGuestOSTypes (SAFEARRAY * * aSupportedGuestOSTypes) { return smth get_SupportedGuestOSTypes (aSupportedGuestOSTypes); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGuestOSTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedGuestOSTypes_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGuestOSTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedGuestOSTypes_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGfxControllerTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedGfxControllerTypes (SAFEARRAY * * aSupportedGfxControllerTypes) { return smth get_SupportedGfxControllerTypes (aSupportedGfxControllerTypes); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGfxControllerTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedGfxControllerTypes_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedGfxControllerTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedGfxControllerTypes_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetAdpPromiscModePols_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedNetAdpPromiscModePols (SAFEARRAY * * aSupportedNetAdpPromiscModePols) { return smth get_SupportedNetAdpPromiscModePols (aSupportedNetAdpPromiscModePols); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetAdpPromiscModePols_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedNetAdpPromiscModePols_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetAdpPromiscModePols_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedNetAdpPromiscModePols_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetworkAdapterTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedNetworkAdapterTypes (SAFEARRAY * * aSupportedNetworkAdapterTypes) { return smth get_SupportedNetworkAdapterTypes (aSupportedNetworkAdapterTypes); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetworkAdapterTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedNetworkAdapterTypes_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedNetworkAdapterTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedNetworkAdapterTypes_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUartTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedUartTypes (SAFEARRAY * * aSupportedUartTypes) { return smth get_SupportedUartTypes (aSupportedUartTypes); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUartTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedUartTypes_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUartTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedUartTypes_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUSBControllerTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedUSBControllerTypes (SAFEARRAY * * aSupportedUSBControllerTypes) { return smth get_SupportedUSBControllerTypes (aSupportedUSBControllerTypes); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUSBControllerTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedUSBControllerTypes_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedUSBControllerTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedUSBControllerTypes_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedAudioControllerTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedAudioControllerTypes (SAFEARRAY * * aSupportedAudioControllerTypes) { return smth get_SupportedAudioControllerTypes (aSupportedAudioControllerTypes); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedAudioControllerTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedAudioControllerTypes_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedAudioControllerTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedAudioControllerTypes_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedBootDevices_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedBootDevices (SAFEARRAY * * aSupportedBootDevices) { return smth get_SupportedBootDevices (aSupportedBootDevices); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedBootDevices_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedBootDevices_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedBootDevices_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedBootDevices_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageBuses_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedStorageBuses (SAFEARRAY * * aSupportedStorageBuses) { return smth get_SupportedStorageBuses (aSupportedStorageBuses); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageBuses_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageBuses_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageBuses_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageBuses_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageControllerTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedStorageControllerTypes (SAFEARRAY * * aSupportedStorageControllerTypes) { return smth get_SupportedStorageControllerTypes (aSupportedStorageControllerTypes); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageControllerTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageControllerTypes_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageControllerTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageControllerTypes_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedChipsetTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedChipsetTypes (SAFEARRAY * * aSupportedChipsetTypes) { return smth get_SupportedChipsetTypes (aSupportedChipsetTypes); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedChipsetTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedChipsetTypes_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedChipsetTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedChipsetTypes_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedIommuTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedIommuTypes (SAFEARRAY * * aSupportedIommuTypes) { return smth get_SupportedIommuTypes (aSupportedIommuTypes); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedIommuTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedIommuTypes_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedIommuTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedIommuTypes_TO (base::)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedTpmTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedTpmTypes (SAFEARRAY * * aSupportedTpmTypes) { return smth get_SupportedTpmTypes (aSupportedTpmTypes); }
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedTpmTypes_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GETTER_SupportedTpmTypes_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GETTER_SupportedTpmTypes_TO_BASE(base) COM_FORWARD_IPlatformProperties_GETTER_SupportedTpmTypes_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdapters_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxNetworkAdapters (ChipsetType aChipset, ULONG * aMaxNetworkAdapters) { return smth GetMaxNetworkAdapters (aChipset, aMaxNetworkAdapters); }
#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdapters_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxNetworkAdapters_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdapters_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxNetworkAdapters_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdaptersOfType_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxNetworkAdaptersOfType (ChipsetType aChipset, NetworkAttachmentType aType, ULONG * aMaxNetworkAdapters) { return smth GetMaxNetworkAdaptersOfType (aChipset, aType, aMaxNetworkAdapters); }
#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdaptersOfType_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxNetworkAdaptersOfType_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetMaxNetworkAdaptersOfType_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxNetworkAdaptersOfType_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetMaxDevicesPerPortForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxDevicesPerPortForStorageBus (StorageBus aBus, ULONG * aMaxDevicesPerPort) { return smth GetMaxDevicesPerPortForStorageBus (aBus, aMaxDevicesPerPort); }
#define COM_FORWARD_IPlatformProperties_GetMaxDevicesPerPortForStorageBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxDevicesPerPortForStorageBus_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetMaxDevicesPerPortForStorageBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxDevicesPerPortForStorageBus_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetMinPortCountForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMinPortCountForStorageBus (StorageBus aBus, ULONG * aMinPortCount) { return smth GetMinPortCountForStorageBus (aBus, aMinPortCount); }
#define COM_FORWARD_IPlatformProperties_GetMinPortCountForStorageBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMinPortCountForStorageBus_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetMinPortCountForStorageBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMinPortCountForStorageBus_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetMaxPortCountForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxPortCountForStorageBus (StorageBus aBus, ULONG * aMaxPortCount) { return smth GetMaxPortCountForStorageBus (aBus, aMaxPortCount); }
#define COM_FORWARD_IPlatformProperties_GetMaxPortCountForStorageBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxPortCountForStorageBus_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetMaxPortCountForStorageBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxPortCountForStorageBus_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxInstancesOfStorageBus (ChipsetType aChipset, StorageBus aBus, ULONG * aMaxInstances) { return smth GetMaxInstancesOfStorageBus (aChipset, aBus, aMaxInstances); }
#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfStorageBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxInstancesOfStorageBus_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfStorageBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxInstancesOfStorageBus_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetSupportedVRAMRange_TO(smth) HRESULT STDMETHODCALLTYPE GetSupportedVRAMRange (GraphicsControllerType aGraphicsControllerType, BOOL aAccelerate3DEnabled, ULONG * aMinMB, ULONG * aMaxMB, ULONG * aStrideSizeMB) { return smth GetSupportedVRAMRange (aGraphicsControllerType, aAccelerate3DEnabled, aMinMB, aMaxMB, aStrideSizeMB); }
#define COM_FORWARD_IPlatformProperties_GetSupportedVRAMRange_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetSupportedVRAMRange_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetSupportedVRAMRange_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetSupportedVRAMRange_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetSupportedGfxFeaturesForType_TO(smth) HRESULT STDMETHODCALLTYPE GetSupportedGfxFeaturesForType (GraphicsControllerType aGraphicsControllerType, SAFEARRAY * * aSupportedControllerFeatures) { return smth GetSupportedGfxFeaturesForType (aGraphicsControllerType, aSupportedControllerFeatures); }
#define COM_FORWARD_IPlatformProperties_GetSupportedGfxFeaturesForType_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetSupportedGfxFeaturesForType_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetSupportedGfxFeaturesForType_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetSupportedGfxFeaturesForType_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetDeviceTypesForStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE GetDeviceTypesForStorageBus (StorageBus aBus, SAFEARRAY * * aDeviceTypes) { return smth GetDeviceTypesForStorageBus (aBus, aDeviceTypes); }
#define COM_FORWARD_IPlatformProperties_GetDeviceTypesForStorageBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetDeviceTypesForStorageBus_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetDeviceTypesForStorageBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetDeviceTypesForStorageBus_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetStorageBusForControllerType_TO(smth) HRESULT STDMETHODCALLTYPE GetStorageBusForControllerType (StorageControllerType aStorageControllerType, StorageBus * aStorageBus) { return smth GetStorageBusForControllerType (aStorageControllerType, aStorageBus); }
#define COM_FORWARD_IPlatformProperties_GetStorageBusForControllerType_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetStorageBusForControllerType_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetStorageBusForControllerType_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetStorageBusForControllerType_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetStorageControllerTypesForBus_TO(smth) HRESULT STDMETHODCALLTYPE GetStorageControllerTypesForBus (StorageBus aStorageBus, SAFEARRAY * * aStorageControllerType) { return smth GetStorageControllerTypesForBus (aStorageBus, aStorageControllerType); }
#define COM_FORWARD_IPlatformProperties_GetStorageControllerTypesForBus_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetStorageControllerTypesForBus_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetStorageControllerTypesForBus_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetStorageControllerTypesForBus_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetStorageControllerHotplugCapable_TO(smth) HRESULT STDMETHODCALLTYPE GetStorageControllerHotplugCapable (StorageControllerType aControllerType, BOOL * aHotplugCapable) { return smth GetStorageControllerHotplugCapable (aControllerType, aHotplugCapable); }
#define COM_FORWARD_IPlatformProperties_GetStorageControllerHotplugCapable_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetStorageControllerHotplugCapable_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetStorageControllerHotplugCapable_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetStorageControllerHotplugCapable_TO (base::)
#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfUSBControllerType_TO(smth) HRESULT STDMETHODCALLTYPE GetMaxInstancesOfUSBControllerType (ChipsetType aChipset, USBControllerType aType, ULONG * aMaxInstances) { return smth GetMaxInstancesOfUSBControllerType (aChipset, aType, aMaxInstances); }
#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfUSBControllerType_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_GetMaxInstancesOfUSBControllerType_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_GetMaxInstancesOfUSBControllerType_TO_BASE(base) COM_FORWARD_IPlatformProperties_GetMaxInstancesOfUSBControllerType_TO (base::)
#define COM_FORWARD_IPlatformProperties_TO(smth) COM_FORWARD_IPlatformProperties_GETTER_RawModeSupported_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_ExclusiveHwVirt_TO (smth) COM_FORWARD_IPlatformProperties_SETTER_ExclusiveHwVirt_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SerialPortCount_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_ParallelPortCount_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_MaxBootPosition_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedParavirtProviders_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedFirmwareTypes_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedGuestOSTypes_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedGfxControllerTypes_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedNetAdpPromiscModePols_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedNetworkAdapterTypes_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedUartTypes_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedUSBControllerTypes_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedAudioControllerTypes_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedBootDevices_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageBuses_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedStorageControllerTypes_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedChipsetTypes_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedIommuTypes_TO (smth) COM_FORWARD_IPlatformProperties_GETTER_SupportedTpmTypes_TO (smth) COM_FORWARD_IPlatformProperties_GetMaxNetworkAdapters_TO (smth) COM_FORWARD_IPlatformProperties_GetMaxNetworkAdaptersOfType_TO (smth) COM_FORWARD_IPlatformProperties_GetMaxDevicesPerPortForStorageBus_TO (smth) COM_FORWARD_IPlatformProperties_GetMinPortCountForStorageBus_TO (smth) COM_FORWARD_IPlatformProperties_GetMaxPortCountForStorageBus_TO (smth) COM_FORWARD_IPlatformProperties_GetMaxInstancesOfStorageBus_TO (smth) COM_FORWARD_IPlatformProperties_GetSupportedVRAMRange_TO (smth) COM_FORWARD_IPlatformProperties_GetSupportedGfxFeaturesForType_TO (smth) COM_FORWARD_IPlatformProperties_GetDeviceTypesForStorageBus_TO (smth) COM_FORWARD_IPlatformProperties_GetStorageBusForControllerType_TO (smth) COM_FORWARD_IPlatformProperties_GetStorageControllerTypesForBus_TO (smth) COM_FORWARD_IPlatformProperties_GetStorageControllerHotplugCapable_TO (smth) COM_FORWARD_IPlatformProperties_GetMaxInstancesOfUSBControllerType_TO (smth) 
#define COM_FORWARD_IPlatformProperties_TO_OBJ(obj) COM_FORWARD_IPlatformProperties_TO ((obj)->)
#define COM_FORWARD_IPlatformProperties_TO_BASE(base) COM_FORWARD_IPlatformProperties_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0044_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0044_v0_0_s_ifspec;

#ifndef __ISystemProperties_INTERFACE_DEFINED__
#define __ISystemProperties_INTERFACE_DEFINED__

/* interface ISystemProperties */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISystemProperties;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("925084b0-625f-422f-a67d-0ede1880a56c")
    ISystemProperties : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Platform( 
            /* [retval][out] */ IPlatformProperties **aPlatform) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MinGuestRAM( 
            /* [retval][out] */ ULONG *aMinGuestRAM) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxGuestRAM( 
            /* [retval][out] */ ULONG *aMaxGuestRAM) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MinGuestVRAM( 
            /* [retval][out] */ ULONG *aMinGuestVRAM) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxGuestVRAM( 
            /* [retval][out] */ ULONG *aMaxGuestVRAM) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MinGuestCPUCount( 
            /* [retval][out] */ ULONG *aMinGuestCPUCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxGuestCPUCount( 
            /* [retval][out] */ ULONG *aMaxGuestCPUCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxGuestMonitors( 
            /* [retval][out] */ ULONG *aMaxGuestMonitors) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InfoVDSize( 
            /* [retval][out] */ LONG64 *aInfoVDSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultMachineFolder( 
            /* [retval][out] */ BSTR *aDefaultMachineFolder) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultMachineFolder( 
            /* [in] */ BSTR aDefaultMachineFolder) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LoggingLevel( 
            /* [retval][out] */ BSTR *aLoggingLevel) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LoggingLevel( 
            /* [in] */ BSTR aLoggingLevel) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MediumFormats( 
            /* [retval][out] */ SAFEARRAY * *aMediumFormats) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultHardDiskFormat( 
            /* [retval][out] */ BSTR *aDefaultHardDiskFormat) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultHardDiskFormat( 
            /* [in] */ BSTR aDefaultHardDiskFormat) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FreeDiskSpaceWarning( 
            /* [retval][out] */ LONG64 *aFreeDiskSpaceWarning) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FreeDiskSpaceWarning( 
            /* [in] */ LONG64 aFreeDiskSpaceWarning) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FreeDiskSpacePercentWarning( 
            /* [retval][out] */ ULONG *aFreeDiskSpacePercentWarning) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FreeDiskSpacePercentWarning( 
            /* [in] */ ULONG aFreeDiskSpacePercentWarning) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FreeDiskSpaceError( 
            /* [retval][out] */ LONG64 *aFreeDiskSpaceError) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FreeDiskSpaceError( 
            /* [in] */ LONG64 aFreeDiskSpaceError) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FreeDiskSpacePercentError( 
            /* [retval][out] */ ULONG *aFreeDiskSpacePercentError) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FreeDiskSpacePercentError( 
            /* [in] */ ULONG aFreeDiskSpacePercentError) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VRDEAuthLibrary( 
            /* [retval][out] */ BSTR *aVRDEAuthLibrary) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VRDEAuthLibrary( 
            /* [in] */ BSTR aVRDEAuthLibrary) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WebServiceAuthLibrary( 
            /* [retval][out] */ BSTR *aWebServiceAuthLibrary) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WebServiceAuthLibrary( 
            /* [in] */ BSTR aWebServiceAuthLibrary) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultVRDEExtPack( 
            /* [retval][out] */ BSTR *aDefaultVRDEExtPack) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultVRDEExtPack( 
            /* [in] */ BSTR aDefaultVRDEExtPack) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultCryptoExtPack( 
            /* [retval][out] */ BSTR *aDefaultCryptoExtPack) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultCryptoExtPack( 
            /* [in] */ BSTR aDefaultCryptoExtPack) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogHistoryCount( 
            /* [retval][out] */ ULONG *aLogHistoryCount) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LogHistoryCount( 
            /* [in] */ ULONG aLogHistoryCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultAudioDriver( 
            /* [retval][out] */ AudioDriverType *aDefaultAudioDriver) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutostartDatabasePath( 
            /* [retval][out] */ BSTR *aAutostartDatabasePath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutostartDatabasePath( 
            /* [in] */ BSTR aAutostartDatabasePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultAdditionsISO( 
            /* [retval][out] */ BSTR *aDefaultAdditionsISO) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultAdditionsISO( 
            /* [in] */ BSTR aDefaultAdditionsISO) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultFrontend( 
            /* [retval][out] */ BSTR *aDefaultFrontend) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultFrontend( 
            /* [in] */ BSTR aDefaultFrontend) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ScreenShotFormats( 
            /* [retval][out] */ SAFEARRAY * *aScreenShotFormats) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProxyMode( 
            /* [retval][out] */ ProxyMode *aProxyMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProxyMode( 
            /* [in] */ ProxyMode aProxyMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProxyURL( 
            /* [retval][out] */ BSTR *aProxyURL) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProxyURL( 
            /* [in] */ BSTR aProxyURL) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedPlatformArchitectures( 
            /* [retval][out] */ SAFEARRAY * *aSupportedPlatformArchitectures) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedClipboardModes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedClipboardModes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedDnDModes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedDnDModes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedPointingHIDTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedPointingHIDTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedKeyboardHIDTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedKeyboardHIDTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedVFSTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedVFSTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedImportOptions( 
            /* [retval][out] */ SAFEARRAY * *aSupportedImportOptions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedExportOptions( 
            /* [retval][out] */ SAFEARRAY * *aSupportedExportOptions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedGraphicsFeatures( 
            /* [retval][out] */ SAFEARRAY * *aSupportedGraphicsFeatures) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedRecordingFeatures( 
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingFeatures) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedRecordingAudioCodecs( 
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingAudioCodecs) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedRecordingVideoCodecs( 
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingVideoCodecs) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedRecordingVSModes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingVSModes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedRecordingARCModes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingARCModes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedRecordingVRCModes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingVRCModes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedCloneOptions( 
            /* [retval][out] */ SAFEARRAY * *aSupportedCloneOptions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedAutostopTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedAutostopTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedVMProcPriorities( 
            /* [retval][out] */ SAFEARRAY * *aSupportedVMProcPriorities) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedNetworkAttachmentTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedNetworkAttachmentTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedPortModes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedPortModes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedAudioDriverTypes( 
            /* [retval][out] */ SAFEARRAY * *aSupportedAudioDriverTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LanguageId( 
            /* [retval][out] */ BSTR *aLanguageId) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LanguageId( 
            /* [in] */ BSTR aLanguageId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16ISystemProperties( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDefaultIoCacheSettingForStorageController( 
            /* [in] */ StorageControllerType aControllerType,
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCPUProfiles( 
            /* [in] */ CPUArchitecture aArchitecture,
            /* [in] */ BSTR aNamePattern,
            /* [retval][out] */ SAFEARRAY * *aProfiles) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetExecutionEnginesForVmCpuArchitecture( 
            /* [in] */ CPUArchitecture aCpuArchitecture,
            /* [retval][out] */ SAFEARRAY * *aExecutionEngine) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ISystemProperties( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ISystemProperties( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3ISystemProperties( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4ISystemProperties( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISystemPropertiesVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISystemProperties * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISystemProperties * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISystemProperties * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISystemProperties * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISystemProperties * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISystemProperties * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISystemProperties * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_Platform)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Platform )( 
            ISystemProperties * This,
            /* [retval][out] */ IPlatformProperties **aPlatform);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_MinGuestRAM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinGuestRAM )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aMinGuestRAM);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_MaxGuestRAM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxGuestRAM )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aMaxGuestRAM);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_MinGuestVRAM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinGuestVRAM )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aMinGuestVRAM);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_MaxGuestVRAM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxGuestVRAM )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aMaxGuestVRAM);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_MinGuestCPUCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinGuestCPUCount )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aMinGuestCPUCount);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_MaxGuestCPUCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxGuestCPUCount )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aMaxGuestCPUCount);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_MaxGuestMonitors)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxGuestMonitors )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aMaxGuestMonitors);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InfoVDSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InfoVDSize )( 
            ISystemProperties * This,
            /* [retval][out] */ LONG64 *aInfoVDSize);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_DefaultMachineFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultMachineFolder )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aDefaultMachineFolder);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_DefaultMachineFolder)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultMachineFolder )( 
            ISystemProperties * This,
            /* [in] */ BSTR aDefaultMachineFolder);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_LoggingLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LoggingLevel )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aLoggingLevel);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_LoggingLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LoggingLevel )( 
            ISystemProperties * This,
            /* [in] */ BSTR aLoggingLevel);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_MediumFormats)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediumFormats )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aMediumFormats);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_DefaultHardDiskFormat)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultHardDiskFormat )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aDefaultHardDiskFormat);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_DefaultHardDiskFormat)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultHardDiskFormat )( 
            ISystemProperties * This,
            /* [in] */ BSTR aDefaultHardDiskFormat);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_FreeDiskSpaceWarning)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeDiskSpaceWarning )( 
            ISystemProperties * This,
            /* [retval][out] */ LONG64 *aFreeDiskSpaceWarning);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_FreeDiskSpaceWarning)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FreeDiskSpaceWarning )( 
            ISystemProperties * This,
            /* [in] */ LONG64 aFreeDiskSpaceWarning);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_FreeDiskSpacePercentWarning)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeDiskSpacePercentWarning )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aFreeDiskSpacePercentWarning);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_FreeDiskSpacePercentWarning)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FreeDiskSpacePercentWarning )( 
            ISystemProperties * This,
            /* [in] */ ULONG aFreeDiskSpacePercentWarning);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_FreeDiskSpaceError)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeDiskSpaceError )( 
            ISystemProperties * This,
            /* [retval][out] */ LONG64 *aFreeDiskSpaceError);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_FreeDiskSpaceError)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FreeDiskSpaceError )( 
            ISystemProperties * This,
            /* [in] */ LONG64 aFreeDiskSpaceError);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_FreeDiskSpacePercentError)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeDiskSpacePercentError )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aFreeDiskSpacePercentError);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_FreeDiskSpacePercentError)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FreeDiskSpacePercentError )( 
            ISystemProperties * This,
            /* [in] */ ULONG aFreeDiskSpacePercentError);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_VRDEAuthLibrary)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VRDEAuthLibrary )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aVRDEAuthLibrary);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_VRDEAuthLibrary)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VRDEAuthLibrary )( 
            ISystemProperties * This,
            /* [in] */ BSTR aVRDEAuthLibrary);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_WebServiceAuthLibrary)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebServiceAuthLibrary )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aWebServiceAuthLibrary);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_WebServiceAuthLibrary)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WebServiceAuthLibrary )( 
            ISystemProperties * This,
            /* [in] */ BSTR aWebServiceAuthLibrary);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_DefaultVRDEExtPack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultVRDEExtPack )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aDefaultVRDEExtPack);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_DefaultVRDEExtPack)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultVRDEExtPack )( 
            ISystemProperties * This,
            /* [in] */ BSTR aDefaultVRDEExtPack);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_DefaultCryptoExtPack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultCryptoExtPack )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aDefaultCryptoExtPack);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_DefaultCryptoExtPack)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultCryptoExtPack )( 
            ISystemProperties * This,
            /* [in] */ BSTR aDefaultCryptoExtPack);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_LogHistoryCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogHistoryCount )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aLogHistoryCount);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_LogHistoryCount)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LogHistoryCount )( 
            ISystemProperties * This,
            /* [in] */ ULONG aLogHistoryCount);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_DefaultAudioDriver)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultAudioDriver )( 
            ISystemProperties * This,
            /* [retval][out] */ AudioDriverType *aDefaultAudioDriver);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_AutostartDatabasePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutostartDatabasePath )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aAutostartDatabasePath);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_AutostartDatabasePath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutostartDatabasePath )( 
            ISystemProperties * This,
            /* [in] */ BSTR aAutostartDatabasePath);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_DefaultAdditionsISO)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultAdditionsISO )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aDefaultAdditionsISO);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_DefaultAdditionsISO)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultAdditionsISO )( 
            ISystemProperties * This,
            /* [in] */ BSTR aDefaultAdditionsISO);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_DefaultFrontend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultFrontend )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aDefaultFrontend);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_DefaultFrontend)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultFrontend )( 
            ISystemProperties * This,
            /* [in] */ BSTR aDefaultFrontend);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_ScreenShotFormats)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScreenShotFormats )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aScreenShotFormats);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_ProxyMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProxyMode )( 
            ISystemProperties * This,
            /* [retval][out] */ ProxyMode *aProxyMode);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_ProxyMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProxyMode )( 
            ISystemProperties * This,
            /* [in] */ ProxyMode aProxyMode);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_ProxyURL)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProxyURL )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aProxyURL);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_ProxyURL)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProxyURL )( 
            ISystemProperties * This,
            /* [in] */ BSTR aProxyURL);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedPlatformArchitectures)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedPlatformArchitectures )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedPlatformArchitectures);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedClipboardModes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedClipboardModes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedClipboardModes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedDnDModes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedDnDModes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedDnDModes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedPointingHIDTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedPointingHIDTypes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedPointingHIDTypes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedKeyboardHIDTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedKeyboardHIDTypes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedKeyboardHIDTypes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedVFSTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedVFSTypes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedVFSTypes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedImportOptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedImportOptions )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedImportOptions);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedExportOptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedExportOptions )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedExportOptions);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedGraphicsFeatures)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedGraphicsFeatures )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedGraphicsFeatures);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedRecordingFeatures)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedRecordingFeatures )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingFeatures);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedRecordingAudioCodecs)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedRecordingAudioCodecs )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingAudioCodecs);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedRecordingVideoCodecs)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedRecordingVideoCodecs )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingVideoCodecs);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedRecordingVSModes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedRecordingVSModes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingVSModes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedRecordingARCModes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedRecordingARCModes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingARCModes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedRecordingVRCModes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedRecordingVRCModes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedRecordingVRCModes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedCloneOptions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedCloneOptions )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedCloneOptions);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedAutostopTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedAutostopTypes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedAutostopTypes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedVMProcPriorities)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedVMProcPriorities )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedVMProcPriorities);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedNetworkAttachmentTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedNetworkAttachmentTypes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedNetworkAttachmentTypes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedPortModes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedPortModes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedPortModes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_SupportedAudioDriverTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedAudioDriverTypes )( 
            ISystemProperties * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedAudioDriverTypes);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_LanguageId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LanguageId )( 
            ISystemProperties * This,
            /* [retval][out] */ BSTR *aLanguageId);
        
        DECLSPEC_XFGVIRT(ISystemProperties, put_LanguageId)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LanguageId )( 
            ISystemProperties * This,
            /* [in] */ BSTR aLanguageId);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute1ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute2ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute3ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute4ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute5ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute6ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute7ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute8ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute9ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute10ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute11ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute12ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute13ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute14ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute15ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, get_InternalAndReservedAttribute16ISystemProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16ISystemProperties )( 
            ISystemProperties * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISystemProperties, GetDefaultIoCacheSettingForStorageController)
        HRESULT ( STDMETHODCALLTYPE *GetDefaultIoCacheSettingForStorageController )( 
            ISystemProperties * This,
            /* [in] */ StorageControllerType aControllerType,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(ISystemProperties, GetCPUProfiles)
        HRESULT ( STDMETHODCALLTYPE *GetCPUProfiles )( 
            ISystemProperties * This,
            /* [in] */ CPUArchitecture aArchitecture,
            /* [in] */ BSTR aNamePattern,
            /* [retval][out] */ SAFEARRAY * *aProfiles);
        
        DECLSPEC_XFGVIRT(ISystemProperties, GetExecutionEnginesForVmCpuArchitecture)
        HRESULT ( STDMETHODCALLTYPE *GetExecutionEnginesForVmCpuArchitecture )( 
            ISystemProperties * This,
            /* [in] */ CPUArchitecture aCpuArchitecture,
            /* [retval][out] */ SAFEARRAY * *aExecutionEngine);
        
        DECLSPEC_XFGVIRT(ISystemProperties, InternalAndReservedMethod1ISystemProperties)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ISystemProperties )( 
            ISystemProperties * This);
        
        DECLSPEC_XFGVIRT(ISystemProperties, InternalAndReservedMethod2ISystemProperties)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ISystemProperties )( 
            ISystemProperties * This);
        
        DECLSPEC_XFGVIRT(ISystemProperties, InternalAndReservedMethod3ISystemProperties)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3ISystemProperties )( 
            ISystemProperties * This);
        
        DECLSPEC_XFGVIRT(ISystemProperties, InternalAndReservedMethod4ISystemProperties)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4ISystemProperties )( 
            ISystemProperties * This);
        
        END_INTERFACE
    } ISystemPropertiesVtbl;

    interface ISystemProperties
    {
        CONST_VTBL struct ISystemPropertiesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISystemProperties_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISystemProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISystemProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISystemProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISystemProperties_get_Platform(This,aPlatform)	\
    ( (This)->lpVtbl -> get_Platform(This,aPlatform) ) 

#define ISystemProperties_get_MinGuestRAM(This,aMinGuestRAM)	\
    ( (This)->lpVtbl -> get_MinGuestRAM(This,aMinGuestRAM) ) 

#define ISystemProperties_get_MaxGuestRAM(This,aMaxGuestRAM)	\
    ( (This)->lpVtbl -> get_MaxGuestRAM(This,aMaxGuestRAM) ) 

#define ISystemProperties_get_MinGuestVRAM(This,aMinGuestVRAM)	\
    ( (This)->lpVtbl -> get_MinGuestVRAM(This,aMinGuestVRAM) ) 

#define ISystemProperties_get_MaxGuestVRAM(This,aMaxGuestVRAM)	\
    ( (This)->lpVtbl -> get_MaxGuestVRAM(This,aMaxGuestVRAM) ) 

#define ISystemProperties_get_MinGuestCPUCount(This,aMinGuestCPUCount)	\
    ( (This)->lpVtbl -> get_MinGuestCPUCount(This,aMinGuestCPUCount) ) 

#define ISystemProperties_get_MaxGuestCPUCount(This,aMaxGuestCPUCount)	\
    ( (This)->lpVtbl -> get_MaxGuestCPUCount(This,aMaxGuestCPUCount) ) 

#define ISystemProperties_get_MaxGuestMonitors(This,aMaxGuestMonitors)	\
    ( (This)->lpVtbl -> get_MaxGuestMonitors(This,aMaxGuestMonitors) ) 

#define ISystemProperties_get_InfoVDSize(This,aInfoVDSize)	\
    ( (This)->lpVtbl -> get_InfoVDSize(This,aInfoVDSize) ) 

#define ISystemProperties_get_DefaultMachineFolder(This,aDefaultMachineFolder)	\
    ( (This)->lpVtbl -> get_DefaultMachineFolder(This,aDefaultMachineFolder) ) 

#define ISystemProperties_put_DefaultMachineFolder(This,aDefaultMachineFolder)	\
    ( (This)->lpVtbl -> put_DefaultMachineFolder(This,aDefaultMachineFolder) ) 

#define ISystemProperties_get_LoggingLevel(This,aLoggingLevel)	\
    ( (This)->lpVtbl -> get_LoggingLevel(This,aLoggingLevel) ) 

#define ISystemProperties_put_LoggingLevel(This,aLoggingLevel)	\
    ( (This)->lpVtbl -> put_LoggingLevel(This,aLoggingLevel) ) 

#define ISystemProperties_get_MediumFormats(This,aMediumFormats)	\
    ( (This)->lpVtbl -> get_MediumFormats(This,aMediumFormats) ) 

#define ISystemProperties_get_DefaultHardDiskFormat(This,aDefaultHardDiskFormat)	\
    ( (This)->lpVtbl -> get_DefaultHardDiskFormat(This,aDefaultHardDiskFormat) ) 

#define ISystemProperties_put_DefaultHardDiskFormat(This,aDefaultHardDiskFormat)	\
    ( (This)->lpVtbl -> put_DefaultHardDiskFormat(This,aDefaultHardDiskFormat) ) 

#define ISystemProperties_get_FreeDiskSpaceWarning(This,aFreeDiskSpaceWarning)	\
    ( (This)->lpVtbl -> get_FreeDiskSpaceWarning(This,aFreeDiskSpaceWarning) ) 

#define ISystemProperties_put_FreeDiskSpaceWarning(This,aFreeDiskSpaceWarning)	\
    ( (This)->lpVtbl -> put_FreeDiskSpaceWarning(This,aFreeDiskSpaceWarning) ) 

#define ISystemProperties_get_FreeDiskSpacePercentWarning(This,aFreeDiskSpacePercentWarning)	\
    ( (This)->lpVtbl -> get_FreeDiskSpacePercentWarning(This,aFreeDiskSpacePercentWarning) ) 

#define ISystemProperties_put_FreeDiskSpacePercentWarning(This,aFreeDiskSpacePercentWarning)	\
    ( (This)->lpVtbl -> put_FreeDiskSpacePercentWarning(This,aFreeDiskSpacePercentWarning) ) 

#define ISystemProperties_get_FreeDiskSpaceError(This,aFreeDiskSpaceError)	\
    ( (This)->lpVtbl -> get_FreeDiskSpaceError(This,aFreeDiskSpaceError) ) 

#define ISystemProperties_put_FreeDiskSpaceError(This,aFreeDiskSpaceError)	\
    ( (This)->lpVtbl -> put_FreeDiskSpaceError(This,aFreeDiskSpaceError) ) 

#define ISystemProperties_get_FreeDiskSpacePercentError(This,aFreeDiskSpacePercentError)	\
    ( (This)->lpVtbl -> get_FreeDiskSpacePercentError(This,aFreeDiskSpacePercentError) ) 

#define ISystemProperties_put_FreeDiskSpacePercentError(This,aFreeDiskSpacePercentError)	\
    ( (This)->lpVtbl -> put_FreeDiskSpacePercentError(This,aFreeDiskSpacePercentError) ) 

#define ISystemProperties_get_VRDEAuthLibrary(This,aVRDEAuthLibrary)	\
    ( (This)->lpVtbl -> get_VRDEAuthLibrary(This,aVRDEAuthLibrary) ) 

#define ISystemProperties_put_VRDEAuthLibrary(This,aVRDEAuthLibrary)	\
    ( (This)->lpVtbl -> put_VRDEAuthLibrary(This,aVRDEAuthLibrary) ) 

#define ISystemProperties_get_WebServiceAuthLibrary(This,aWebServiceAuthLibrary)	\
    ( (This)->lpVtbl -> get_WebServiceAuthLibrary(This,aWebServiceAuthLibrary) ) 

#define ISystemProperties_put_WebServiceAuthLibrary(This,aWebServiceAuthLibrary)	\
    ( (This)->lpVtbl -> put_WebServiceAuthLibrary(This,aWebServiceAuthLibrary) ) 

#define ISystemProperties_get_DefaultVRDEExtPack(This,aDefaultVRDEExtPack)	\
    ( (This)->lpVtbl -> get_DefaultVRDEExtPack(This,aDefaultVRDEExtPack) ) 

#define ISystemProperties_put_DefaultVRDEExtPack(This,aDefaultVRDEExtPack)	\
    ( (This)->lpVtbl -> put_DefaultVRDEExtPack(This,aDefaultVRDEExtPack) ) 

#define ISystemProperties_get_DefaultCryptoExtPack(This,aDefaultCryptoExtPack)	\
    ( (This)->lpVtbl -> get_DefaultCryptoExtPack(This,aDefaultCryptoExtPack) ) 

#define ISystemProperties_put_DefaultCryptoExtPack(This,aDefaultCryptoExtPack)	\
    ( (This)->lpVtbl -> put_DefaultCryptoExtPack(This,aDefaultCryptoExtPack) ) 

#define ISystemProperties_get_LogHistoryCount(This,aLogHistoryCount)	\
    ( (This)->lpVtbl -> get_LogHistoryCount(This,aLogHistoryCount) ) 

#define ISystemProperties_put_LogHistoryCount(This,aLogHistoryCount)	\
    ( (This)->lpVtbl -> put_LogHistoryCount(This,aLogHistoryCount) ) 

#define ISystemProperties_get_DefaultAudioDriver(This,aDefaultAudioDriver)	\
    ( (This)->lpVtbl -> get_DefaultAudioDriver(This,aDefaultAudioDriver) ) 

#define ISystemProperties_get_AutostartDatabasePath(This,aAutostartDatabasePath)	\
    ( (This)->lpVtbl -> get_AutostartDatabasePath(This,aAutostartDatabasePath) ) 

#define ISystemProperties_put_AutostartDatabasePath(This,aAutostartDatabasePath)	\
    ( (This)->lpVtbl -> put_AutostartDatabasePath(This,aAutostartDatabasePath) ) 

#define ISystemProperties_get_DefaultAdditionsISO(This,aDefaultAdditionsISO)	\
    ( (This)->lpVtbl -> get_DefaultAdditionsISO(This,aDefaultAdditionsISO) ) 

#define ISystemProperties_put_DefaultAdditionsISO(This,aDefaultAdditionsISO)	\
    ( (This)->lpVtbl -> put_DefaultAdditionsISO(This,aDefaultAdditionsISO) ) 

#define ISystemProperties_get_DefaultFrontend(This,aDefaultFrontend)	\
    ( (This)->lpVtbl -> get_DefaultFrontend(This,aDefaultFrontend) ) 

#define ISystemProperties_put_DefaultFrontend(This,aDefaultFrontend)	\
    ( (This)->lpVtbl -> put_DefaultFrontend(This,aDefaultFrontend) ) 

#define ISystemProperties_get_ScreenShotFormats(This,aScreenShotFormats)	\
    ( (This)->lpVtbl -> get_ScreenShotFormats(This,aScreenShotFormats) ) 

#define ISystemProperties_get_ProxyMode(This,aProxyMode)	\
    ( (This)->lpVtbl -> get_ProxyMode(This,aProxyMode) ) 

#define ISystemProperties_put_ProxyMode(This,aProxyMode)	\
    ( (This)->lpVtbl -> put_ProxyMode(This,aProxyMode) ) 

#define ISystemProperties_get_ProxyURL(This,aProxyURL)	\
    ( (This)->lpVtbl -> get_ProxyURL(This,aProxyURL) ) 

#define ISystemProperties_put_ProxyURL(This,aProxyURL)	\
    ( (This)->lpVtbl -> put_ProxyURL(This,aProxyURL) ) 

#define ISystemProperties_get_SupportedPlatformArchitectures(This,aSupportedPlatformArchitectures)	\
    ( (This)->lpVtbl -> get_SupportedPlatformArchitectures(This,aSupportedPlatformArchitectures) ) 

#define ISystemProperties_get_SupportedClipboardModes(This,aSupportedClipboardModes)	\
    ( (This)->lpVtbl -> get_SupportedClipboardModes(This,aSupportedClipboardModes) ) 

#define ISystemProperties_get_SupportedDnDModes(This,aSupportedDnDModes)	\
    ( (This)->lpVtbl -> get_SupportedDnDModes(This,aSupportedDnDModes) ) 

#define ISystemProperties_get_SupportedPointingHIDTypes(This,aSupportedPointingHIDTypes)	\
    ( (This)->lpVtbl -> get_SupportedPointingHIDTypes(This,aSupportedPointingHIDTypes) ) 

#define ISystemProperties_get_SupportedKeyboardHIDTypes(This,aSupportedKeyboardHIDTypes)	\
    ( (This)->lpVtbl -> get_SupportedKeyboardHIDTypes(This,aSupportedKeyboardHIDTypes) ) 

#define ISystemProperties_get_SupportedVFSTypes(This,aSupportedVFSTypes)	\
    ( (This)->lpVtbl -> get_SupportedVFSTypes(This,aSupportedVFSTypes) ) 

#define ISystemProperties_get_SupportedImportOptions(This,aSupportedImportOptions)	\
    ( (This)->lpVtbl -> get_SupportedImportOptions(This,aSupportedImportOptions) ) 

#define ISystemProperties_get_SupportedExportOptions(This,aSupportedExportOptions)	\
    ( (This)->lpVtbl -> get_SupportedExportOptions(This,aSupportedExportOptions) ) 

#define ISystemProperties_get_SupportedGraphicsFeatures(This,aSupportedGraphicsFeatures)	\
    ( (This)->lpVtbl -> get_SupportedGraphicsFeatures(This,aSupportedGraphicsFeatures) ) 

#define ISystemProperties_get_SupportedRecordingFeatures(This,aSupportedRecordingFeatures)	\
    ( (This)->lpVtbl -> get_SupportedRecordingFeatures(This,aSupportedRecordingFeatures) ) 

#define ISystemProperties_get_SupportedRecordingAudioCodecs(This,aSupportedRecordingAudioCodecs)	\
    ( (This)->lpVtbl -> get_SupportedRecordingAudioCodecs(This,aSupportedRecordingAudioCodecs) ) 

#define ISystemProperties_get_SupportedRecordingVideoCodecs(This,aSupportedRecordingVideoCodecs)	\
    ( (This)->lpVtbl -> get_SupportedRecordingVideoCodecs(This,aSupportedRecordingVideoCodecs) ) 

#define ISystemProperties_get_SupportedRecordingVSModes(This,aSupportedRecordingVSModes)	\
    ( (This)->lpVtbl -> get_SupportedRecordingVSModes(This,aSupportedRecordingVSModes) ) 

#define ISystemProperties_get_SupportedRecordingARCModes(This,aSupportedRecordingARCModes)	\
    ( (This)->lpVtbl -> get_SupportedRecordingARCModes(This,aSupportedRecordingARCModes) ) 

#define ISystemProperties_get_SupportedRecordingVRCModes(This,aSupportedRecordingVRCModes)	\
    ( (This)->lpVtbl -> get_SupportedRecordingVRCModes(This,aSupportedRecordingVRCModes) ) 

#define ISystemProperties_get_SupportedCloneOptions(This,aSupportedCloneOptions)	\
    ( (This)->lpVtbl -> get_SupportedCloneOptions(This,aSupportedCloneOptions) ) 

#define ISystemProperties_get_SupportedAutostopTypes(This,aSupportedAutostopTypes)	\
    ( (This)->lpVtbl -> get_SupportedAutostopTypes(This,aSupportedAutostopTypes) ) 

#define ISystemProperties_get_SupportedVMProcPriorities(This,aSupportedVMProcPriorities)	\
    ( (This)->lpVtbl -> get_SupportedVMProcPriorities(This,aSupportedVMProcPriorities) ) 

#define ISystemProperties_get_SupportedNetworkAttachmentTypes(This,aSupportedNetworkAttachmentTypes)	\
    ( (This)->lpVtbl -> get_SupportedNetworkAttachmentTypes(This,aSupportedNetworkAttachmentTypes) ) 

#define ISystemProperties_get_SupportedPortModes(This,aSupportedPortModes)	\
    ( (This)->lpVtbl -> get_SupportedPortModes(This,aSupportedPortModes) ) 

#define ISystemProperties_get_SupportedAudioDriverTypes(This,aSupportedAudioDriverTypes)	\
    ( (This)->lpVtbl -> get_SupportedAudioDriverTypes(This,aSupportedAudioDriverTypes) ) 

#define ISystemProperties_get_LanguageId(This,aLanguageId)	\
    ( (This)->lpVtbl -> get_LanguageId(This,aLanguageId) ) 

#define ISystemProperties_put_LanguageId(This,aLanguageId)	\
    ( (This)->lpVtbl -> put_LanguageId(This,aLanguageId) ) 

#define ISystemProperties_get_InternalAndReservedAttribute1ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute2ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute3ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute4ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute5ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute6ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute7ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute8ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute9ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute10ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute11ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute12ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute13ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute14ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute15ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15ISystemProperties(This,aReserved) ) 

#define ISystemProperties_get_InternalAndReservedAttribute16ISystemProperties(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16ISystemProperties(This,aReserved) ) 

#define ISystemProperties_GetDefaultIoCacheSettingForStorageController(This,aControllerType,aEnabled)	\
    ( (This)->lpVtbl -> GetDefaultIoCacheSettingForStorageController(This,aControllerType,aEnabled) ) 

#define ISystemProperties_GetCPUProfiles(This,aArchitecture,aNamePattern,aProfiles)	\
    ( (This)->lpVtbl -> GetCPUProfiles(This,aArchitecture,aNamePattern,aProfiles) ) 

#define ISystemProperties_GetExecutionEnginesForVmCpuArchitecture(This,aCpuArchitecture,aExecutionEngine)	\
    ( (This)->lpVtbl -> GetExecutionEnginesForVmCpuArchitecture(This,aCpuArchitecture,aExecutionEngine) ) 

#define ISystemProperties_InternalAndReservedMethod1ISystemProperties(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ISystemProperties(This) ) 

#define ISystemProperties_InternalAndReservedMethod2ISystemProperties(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ISystemProperties(This) ) 

#define ISystemProperties_InternalAndReservedMethod3ISystemProperties(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3ISystemProperties(This) ) 

#define ISystemProperties_InternalAndReservedMethod4ISystemProperties(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4ISystemProperties(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISystemProperties_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0045 */
/* [local] */ 

#define COM_FORWARD_ISystemProperties_GETTER_Platform_TO(smth) HRESULT STDMETHODCALLTYPE get_Platform (IPlatformProperties * * aPlatform) { return smth get_Platform (aPlatform); }
#define COM_FORWARD_ISystemProperties_GETTER_Platform_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_Platform_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_Platform_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_Platform_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_MinGuestRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_MinGuestRAM (ULONG * aMinGuestRAM) { return smth get_MinGuestRAM (aMinGuestRAM); }
#define COM_FORWARD_ISystemProperties_GETTER_MinGuestRAM_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MinGuestRAM_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_MinGuestRAM_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MinGuestRAM_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxGuestRAM (ULONG * aMaxGuestRAM) { return smth get_MaxGuestRAM (aMaxGuestRAM); }
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestRAM_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MaxGuestRAM_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestRAM_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MaxGuestRAM_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_MinGuestVRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_MinGuestVRAM (ULONG * aMinGuestVRAM) { return smth get_MinGuestVRAM (aMinGuestVRAM); }
#define COM_FORWARD_ISystemProperties_GETTER_MinGuestVRAM_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MinGuestVRAM_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_MinGuestVRAM_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MinGuestVRAM_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestVRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxGuestVRAM (ULONG * aMaxGuestVRAM) { return smth get_MaxGuestVRAM (aMaxGuestVRAM); }
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestVRAM_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MaxGuestVRAM_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestVRAM_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MaxGuestVRAM_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_MinGuestCPUCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MinGuestCPUCount (ULONG * aMinGuestCPUCount) { return smth get_MinGuestCPUCount (aMinGuestCPUCount); }
#define COM_FORWARD_ISystemProperties_GETTER_MinGuestCPUCount_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MinGuestCPUCount_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_MinGuestCPUCount_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MinGuestCPUCount_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestCPUCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxGuestCPUCount (ULONG * aMaxGuestCPUCount) { return smth get_MaxGuestCPUCount (aMaxGuestCPUCount); }
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestCPUCount_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MaxGuestCPUCount_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestCPUCount_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MaxGuestCPUCount_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestMonitors_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxGuestMonitors (ULONG * aMaxGuestMonitors) { return smth get_MaxGuestMonitors (aMaxGuestMonitors); }
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestMonitors_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MaxGuestMonitors_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_MaxGuestMonitors_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MaxGuestMonitors_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_InfoVDSize_TO(smth) HRESULT STDMETHODCALLTYPE get_InfoVDSize (LONG64 * aInfoVDSize) { return smth get_InfoVDSize (aInfoVDSize); }
#define COM_FORWARD_ISystemProperties_GETTER_InfoVDSize_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_InfoVDSize_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_InfoVDSize_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_InfoVDSize_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultMachineFolder (BSTR * aDefaultMachineFolder) { return smth get_DefaultMachineFolder (aDefaultMachineFolder); }
#define COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultMachineFolder (BSTR aDefaultMachineFolder) { return smth put_DefaultMachineFolder (aDefaultMachineFolder); }
#define COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_LoggingLevel_TO(smth) HRESULT STDMETHODCALLTYPE get_LoggingLevel (BSTR * aLoggingLevel) { return smth get_LoggingLevel (aLoggingLevel); }
#define COM_FORWARD_ISystemProperties_GETTER_LoggingLevel_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_LoggingLevel_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_LoggingLevel_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_LoggingLevel_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_LoggingLevel_TO(smth) HRESULT STDMETHODCALLTYPE put_LoggingLevel (BSTR aLoggingLevel) { return smth put_LoggingLevel (aLoggingLevel); }
#define COM_FORWARD_ISystemProperties_SETTER_LoggingLevel_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_LoggingLevel_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_LoggingLevel_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_LoggingLevel_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_MediumFormats_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumFormats (SAFEARRAY * * aMediumFormats) { return smth get_MediumFormats (aMediumFormats); }
#define COM_FORWARD_ISystemProperties_GETTER_MediumFormats_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_MediumFormats_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_MediumFormats_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_MediumFormats_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultHardDiskFormat_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultHardDiskFormat (BSTR * aDefaultHardDiskFormat) { return smth get_DefaultHardDiskFormat (aDefaultHardDiskFormat); }
#define COM_FORWARD_ISystemProperties_GETTER_DefaultHardDiskFormat_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultHardDiskFormat_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultHardDiskFormat_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultHardDiskFormat_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultHardDiskFormat_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultHardDiskFormat (BSTR aDefaultHardDiskFormat) { return smth put_DefaultHardDiskFormat (aDefaultHardDiskFormat); }
#define COM_FORWARD_ISystemProperties_SETTER_DefaultHardDiskFormat_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultHardDiskFormat_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultHardDiskFormat_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultHardDiskFormat_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceWarning_TO(smth) HRESULT STDMETHODCALLTYPE get_FreeDiskSpaceWarning (LONG64 * aFreeDiskSpaceWarning) { return smth get_FreeDiskSpaceWarning (aFreeDiskSpaceWarning); }
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceWarning_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceWarning_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceWarning_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceWarning_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceWarning_TO(smth) HRESULT STDMETHODCALLTYPE put_FreeDiskSpaceWarning (LONG64 aFreeDiskSpaceWarning) { return smth put_FreeDiskSpaceWarning (aFreeDiskSpaceWarning); }
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceWarning_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceWarning_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceWarning_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceWarning_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentWarning_TO(smth) HRESULT STDMETHODCALLTYPE get_FreeDiskSpacePercentWarning (ULONG * aFreeDiskSpacePercentWarning) { return smth get_FreeDiskSpacePercentWarning (aFreeDiskSpacePercentWarning); }
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentWarning_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentWarning_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentWarning_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentWarning_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentWarning_TO(smth) HRESULT STDMETHODCALLTYPE put_FreeDiskSpacePercentWarning (ULONG aFreeDiskSpacePercentWarning) { return smth put_FreeDiskSpacePercentWarning (aFreeDiskSpacePercentWarning); }
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentWarning_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentWarning_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentWarning_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentWarning_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceError_TO(smth) HRESULT STDMETHODCALLTYPE get_FreeDiskSpaceError (LONG64 * aFreeDiskSpaceError) { return smth get_FreeDiskSpaceError (aFreeDiskSpaceError); }
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceError_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceError_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceError_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceError_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceError_TO(smth) HRESULT STDMETHODCALLTYPE put_FreeDiskSpaceError (LONG64 aFreeDiskSpaceError) { return smth put_FreeDiskSpaceError (aFreeDiskSpaceError); }
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceError_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceError_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceError_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceError_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentError_TO(smth) HRESULT STDMETHODCALLTYPE get_FreeDiskSpacePercentError (ULONG * aFreeDiskSpacePercentError) { return smth get_FreeDiskSpacePercentError (aFreeDiskSpacePercentError); }
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentError_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentError_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentError_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentError_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentError_TO(smth) HRESULT STDMETHODCALLTYPE put_FreeDiskSpacePercentError (ULONG aFreeDiskSpacePercentError) { return smth put_FreeDiskSpacePercentError (aFreeDiskSpacePercentError); }
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentError_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentError_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentError_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentError_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_VRDEAuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEAuthLibrary (BSTR * aVRDEAuthLibrary) { return smth get_VRDEAuthLibrary (aVRDEAuthLibrary); }
#define COM_FORWARD_ISystemProperties_GETTER_VRDEAuthLibrary_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_VRDEAuthLibrary_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_VRDEAuthLibrary_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_VRDEAuthLibrary_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_VRDEAuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE put_VRDEAuthLibrary (BSTR aVRDEAuthLibrary) { return smth put_VRDEAuthLibrary (aVRDEAuthLibrary); }
#define COM_FORWARD_ISystemProperties_SETTER_VRDEAuthLibrary_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_VRDEAuthLibrary_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_VRDEAuthLibrary_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_VRDEAuthLibrary_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_WebServiceAuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE get_WebServiceAuthLibrary (BSTR * aWebServiceAuthLibrary) { return smth get_WebServiceAuthLibrary (aWebServiceAuthLibrary); }
#define COM_FORWARD_ISystemProperties_GETTER_WebServiceAuthLibrary_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_WebServiceAuthLibrary_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_WebServiceAuthLibrary_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_WebServiceAuthLibrary_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_WebServiceAuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE put_WebServiceAuthLibrary (BSTR aWebServiceAuthLibrary) { return smth put_WebServiceAuthLibrary (aWebServiceAuthLibrary); }
#define COM_FORWARD_ISystemProperties_SETTER_WebServiceAuthLibrary_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_WebServiceAuthLibrary_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_WebServiceAuthLibrary_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_WebServiceAuthLibrary_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultVRDEExtPack_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultVRDEExtPack (BSTR * aDefaultVRDEExtPack) { return smth get_DefaultVRDEExtPack (aDefaultVRDEExtPack); }
#define COM_FORWARD_ISystemProperties_GETTER_DefaultVRDEExtPack_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultVRDEExtPack_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultVRDEExtPack_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultVRDEExtPack_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultVRDEExtPack_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultVRDEExtPack (BSTR aDefaultVRDEExtPack) { return smth put_DefaultVRDEExtPack (aDefaultVRDEExtPack); }
#define COM_FORWARD_ISystemProperties_SETTER_DefaultVRDEExtPack_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultVRDEExtPack_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultVRDEExtPack_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultVRDEExtPack_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultCryptoExtPack_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultCryptoExtPack (BSTR * aDefaultCryptoExtPack) { return smth get_DefaultCryptoExtPack (aDefaultCryptoExtPack); }
#define COM_FORWARD_ISystemProperties_GETTER_DefaultCryptoExtPack_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultCryptoExtPack_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultCryptoExtPack_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultCryptoExtPack_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultCryptoExtPack_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultCryptoExtPack (BSTR aDefaultCryptoExtPack) { return smth put_DefaultCryptoExtPack (aDefaultCryptoExtPack); }
#define COM_FORWARD_ISystemProperties_SETTER_DefaultCryptoExtPack_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultCryptoExtPack_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultCryptoExtPack_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultCryptoExtPack_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_LogHistoryCount_TO(smth) HRESULT STDMETHODCALLTYPE get_LogHistoryCount (ULONG * aLogHistoryCount) { return smth get_LogHistoryCount (aLogHistoryCount); }
#define COM_FORWARD_ISystemProperties_GETTER_LogHistoryCount_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_LogHistoryCount_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_LogHistoryCount_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_LogHistoryCount_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO(smth) HRESULT STDMETHODCALLTYPE put_LogHistoryCount (ULONG aLogHistoryCount) { return smth put_LogHistoryCount (aLogHistoryCount); }
#define COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultAudioDriver (AudioDriverType * aDefaultAudioDriver) { return smth get_DefaultAudioDriver (aDefaultAudioDriver); }
#define COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_AutostartDatabasePath_TO(smth) HRESULT STDMETHODCALLTYPE get_AutostartDatabasePath (BSTR * aAutostartDatabasePath) { return smth get_AutostartDatabasePath (aAutostartDatabasePath); }
#define COM_FORWARD_ISystemProperties_GETTER_AutostartDatabasePath_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_AutostartDatabasePath_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_AutostartDatabasePath_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_AutostartDatabasePath_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_AutostartDatabasePath_TO(smth) HRESULT STDMETHODCALLTYPE put_AutostartDatabasePath (BSTR aAutostartDatabasePath) { return smth put_AutostartDatabasePath (aAutostartDatabasePath); }
#define COM_FORWARD_ISystemProperties_SETTER_AutostartDatabasePath_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_AutostartDatabasePath_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_AutostartDatabasePath_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_AutostartDatabasePath_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultAdditionsISO_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultAdditionsISO (BSTR * aDefaultAdditionsISO) { return smth get_DefaultAdditionsISO (aDefaultAdditionsISO); }
#define COM_FORWARD_ISystemProperties_GETTER_DefaultAdditionsISO_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultAdditionsISO_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultAdditionsISO_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultAdditionsISO_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultAdditionsISO_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultAdditionsISO (BSTR aDefaultAdditionsISO) { return smth put_DefaultAdditionsISO (aDefaultAdditionsISO); }
#define COM_FORWARD_ISystemProperties_SETTER_DefaultAdditionsISO_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultAdditionsISO_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultAdditionsISO_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultAdditionsISO_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultFrontend_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultFrontend (BSTR * aDefaultFrontend) { return smth get_DefaultFrontend (aDefaultFrontend); }
#define COM_FORWARD_ISystemProperties_GETTER_DefaultFrontend_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_DefaultFrontend_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_DefaultFrontend_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_DefaultFrontend_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultFrontend_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultFrontend (BSTR aDefaultFrontend) { return smth put_DefaultFrontend (aDefaultFrontend); }
#define COM_FORWARD_ISystemProperties_SETTER_DefaultFrontend_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_DefaultFrontend_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_DefaultFrontend_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_DefaultFrontend_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_ScreenShotFormats_TO(smth) HRESULT STDMETHODCALLTYPE get_ScreenShotFormats (SAFEARRAY * * aScreenShotFormats) { return smth get_ScreenShotFormats (aScreenShotFormats); }
#define COM_FORWARD_ISystemProperties_GETTER_ScreenShotFormats_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_ScreenShotFormats_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_ScreenShotFormats_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_ScreenShotFormats_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_ProxyMode_TO(smth) HRESULT STDMETHODCALLTYPE get_ProxyMode (ProxyMode * aProxyMode) { return smth get_ProxyMode (aProxyMode); }
#define COM_FORWARD_ISystemProperties_GETTER_ProxyMode_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_ProxyMode_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_ProxyMode_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_ProxyMode_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_ProxyMode_TO(smth) HRESULT STDMETHODCALLTYPE put_ProxyMode (ProxyMode aProxyMode) { return smth put_ProxyMode (aProxyMode); }
#define COM_FORWARD_ISystemProperties_SETTER_ProxyMode_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_ProxyMode_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_ProxyMode_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_ProxyMode_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_ProxyURL_TO(smth) HRESULT STDMETHODCALLTYPE get_ProxyURL (BSTR * aProxyURL) { return smth get_ProxyURL (aProxyURL); }
#define COM_FORWARD_ISystemProperties_GETTER_ProxyURL_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_ProxyURL_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_ProxyURL_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_ProxyURL_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_ProxyURL_TO(smth) HRESULT STDMETHODCALLTYPE put_ProxyURL (BSTR aProxyURL) { return smth put_ProxyURL (aProxyURL); }
#define COM_FORWARD_ISystemProperties_SETTER_ProxyURL_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_ProxyURL_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_ProxyURL_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_ProxyURL_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedPlatformArchitectures_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedPlatformArchitectures (SAFEARRAY * * aSupportedPlatformArchitectures) { return smth get_SupportedPlatformArchitectures (aSupportedPlatformArchitectures); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedPlatformArchitectures_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedPlatformArchitectures_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedPlatformArchitectures_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedPlatformArchitectures_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedClipboardModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedClipboardModes (SAFEARRAY * * aSupportedClipboardModes) { return smth get_SupportedClipboardModes (aSupportedClipboardModes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedClipboardModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedClipboardModes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedClipboardModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedClipboardModes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedDnDModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedDnDModes (SAFEARRAY * * aSupportedDnDModes) { return smth get_SupportedDnDModes (aSupportedDnDModes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedDnDModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedDnDModes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedDnDModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedDnDModes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedPointingHIDTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedPointingHIDTypes (SAFEARRAY * * aSupportedPointingHIDTypes) { return smth get_SupportedPointingHIDTypes (aSupportedPointingHIDTypes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedPointingHIDTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedPointingHIDTypes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedPointingHIDTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedPointingHIDTypes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedKeyboardHIDTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedKeyboardHIDTypes (SAFEARRAY * * aSupportedKeyboardHIDTypes) { return smth get_SupportedKeyboardHIDTypes (aSupportedKeyboardHIDTypes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedKeyboardHIDTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedKeyboardHIDTypes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedKeyboardHIDTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedKeyboardHIDTypes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedVFSTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedVFSTypes (SAFEARRAY * * aSupportedVFSTypes) { return smth get_SupportedVFSTypes (aSupportedVFSTypes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedVFSTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedVFSTypes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedVFSTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedVFSTypes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedImportOptions_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedImportOptions (SAFEARRAY * * aSupportedImportOptions) { return smth get_SupportedImportOptions (aSupportedImportOptions); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedImportOptions_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedImportOptions_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedImportOptions_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedImportOptions_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedExportOptions_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedExportOptions (SAFEARRAY * * aSupportedExportOptions) { return smth get_SupportedExportOptions (aSupportedExportOptions); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedExportOptions_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedExportOptions_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedExportOptions_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedExportOptions_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedGraphicsFeatures_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedGraphicsFeatures (SAFEARRAY * * aSupportedGraphicsFeatures) { return smth get_SupportedGraphicsFeatures (aSupportedGraphicsFeatures); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedGraphicsFeatures_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedGraphicsFeatures_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedGraphicsFeatures_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedGraphicsFeatures_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingFeatures_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingFeatures (SAFEARRAY * * aSupportedRecordingFeatures) { return smth get_SupportedRecordingFeatures (aSupportedRecordingFeatures); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingFeatures_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingFeatures_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingFeatures_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingFeatures_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingAudioCodecs_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingAudioCodecs (SAFEARRAY * * aSupportedRecordingAudioCodecs) { return smth get_SupportedRecordingAudioCodecs (aSupportedRecordingAudioCodecs); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingAudioCodecs_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingAudioCodecs_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingAudioCodecs_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingAudioCodecs_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVideoCodecs_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingVideoCodecs (SAFEARRAY * * aSupportedRecordingVideoCodecs) { return smth get_SupportedRecordingVideoCodecs (aSupportedRecordingVideoCodecs); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVideoCodecs_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVideoCodecs_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVideoCodecs_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVideoCodecs_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVSModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingVSModes (SAFEARRAY * * aSupportedRecordingVSModes) { return smth get_SupportedRecordingVSModes (aSupportedRecordingVSModes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVSModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVSModes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVSModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVSModes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingARCModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingARCModes (SAFEARRAY * * aSupportedRecordingARCModes) { return smth get_SupportedRecordingARCModes (aSupportedRecordingARCModes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingARCModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingARCModes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingARCModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingARCModes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVRCModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedRecordingVRCModes (SAFEARRAY * * aSupportedRecordingVRCModes) { return smth get_SupportedRecordingVRCModes (aSupportedRecordingVRCModes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVRCModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVRCModes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVRCModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVRCModes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedCloneOptions_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedCloneOptions (SAFEARRAY * * aSupportedCloneOptions) { return smth get_SupportedCloneOptions (aSupportedCloneOptions); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedCloneOptions_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedCloneOptions_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedCloneOptions_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedCloneOptions_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedAutostopTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedAutostopTypes (SAFEARRAY * * aSupportedAutostopTypes) { return smth get_SupportedAutostopTypes (aSupportedAutostopTypes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedAutostopTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedAutostopTypes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedAutostopTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedAutostopTypes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedVMProcPriorities_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedVMProcPriorities (SAFEARRAY * * aSupportedVMProcPriorities) { return smth get_SupportedVMProcPriorities (aSupportedVMProcPriorities); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedVMProcPriorities_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedVMProcPriorities_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedVMProcPriorities_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedVMProcPriorities_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedNetworkAttachmentTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedNetworkAttachmentTypes (SAFEARRAY * * aSupportedNetworkAttachmentTypes) { return smth get_SupportedNetworkAttachmentTypes (aSupportedNetworkAttachmentTypes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedNetworkAttachmentTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedNetworkAttachmentTypes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedNetworkAttachmentTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedNetworkAttachmentTypes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedPortModes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedPortModes (SAFEARRAY * * aSupportedPortModes) { return smth get_SupportedPortModes (aSupportedPortModes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedPortModes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedPortModes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedPortModes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedPortModes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedAudioDriverTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedAudioDriverTypes (SAFEARRAY * * aSupportedAudioDriverTypes) { return smth get_SupportedAudioDriverTypes (aSupportedAudioDriverTypes); }
#define COM_FORWARD_ISystemProperties_GETTER_SupportedAudioDriverTypes_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_SupportedAudioDriverTypes_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_SupportedAudioDriverTypes_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_SupportedAudioDriverTypes_TO (base::)
#define COM_FORWARD_ISystemProperties_GETTER_LanguageId_TO(smth) HRESULT STDMETHODCALLTYPE get_LanguageId (BSTR * aLanguageId) { return smth get_LanguageId (aLanguageId); }
#define COM_FORWARD_ISystemProperties_GETTER_LanguageId_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GETTER_LanguageId_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GETTER_LanguageId_TO_BASE(base) COM_FORWARD_ISystemProperties_GETTER_LanguageId_TO (base::)
#define COM_FORWARD_ISystemProperties_SETTER_LanguageId_TO(smth) HRESULT STDMETHODCALLTYPE put_LanguageId (BSTR aLanguageId) { return smth put_LanguageId (aLanguageId); }
#define COM_FORWARD_ISystemProperties_SETTER_LanguageId_TO_OBJ(obj) COM_FORWARD_ISystemProperties_SETTER_LanguageId_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_SETTER_LanguageId_TO_BASE(base) COM_FORWARD_ISystemProperties_SETTER_LanguageId_TO (base::)
#define COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_TO(smth) HRESULT STDMETHODCALLTYPE GetDefaultIoCacheSettingForStorageController (StorageControllerType aControllerType, BOOL * aEnabled) { return smth GetDefaultIoCacheSettingForStorageController (aControllerType, aEnabled); }
#define COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_TO_BASE(base) COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_TO (base::)
#define COM_FORWARD_ISystemProperties_GetCPUProfiles_TO(smth) HRESULT STDMETHODCALLTYPE GetCPUProfiles (CPUArchitecture aArchitecture, BSTR aNamePattern, SAFEARRAY * * aProfiles) { return smth GetCPUProfiles (aArchitecture, aNamePattern, aProfiles); }
#define COM_FORWARD_ISystemProperties_GetCPUProfiles_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetCPUProfiles_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GetCPUProfiles_TO_BASE(base) COM_FORWARD_ISystemProperties_GetCPUProfiles_TO (base::)
#define COM_FORWARD_ISystemProperties_GetExecutionEnginesForVmCpuArchitecture_TO(smth) HRESULT STDMETHODCALLTYPE GetExecutionEnginesForVmCpuArchitecture (CPUArchitecture aCpuArchitecture, SAFEARRAY * * aExecutionEngine) { return smth GetExecutionEnginesForVmCpuArchitecture (aCpuArchitecture, aExecutionEngine); }
#define COM_FORWARD_ISystemProperties_GetExecutionEnginesForVmCpuArchitecture_TO_OBJ(obj) COM_FORWARD_ISystemProperties_GetExecutionEnginesForVmCpuArchitecture_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_GetExecutionEnginesForVmCpuArchitecture_TO_BASE(base) COM_FORWARD_ISystemProperties_GetExecutionEnginesForVmCpuArchitecture_TO (base::)
#define COM_FORWARD_ISystemProperties_TO(smth) COM_FORWARD_ISystemProperties_GETTER_Platform_TO (smth) COM_FORWARD_ISystemProperties_GETTER_MinGuestRAM_TO (smth) COM_FORWARD_ISystemProperties_GETTER_MaxGuestRAM_TO (smth) COM_FORWARD_ISystemProperties_GETTER_MinGuestVRAM_TO (smth) COM_FORWARD_ISystemProperties_GETTER_MaxGuestVRAM_TO (smth) COM_FORWARD_ISystemProperties_GETTER_MinGuestCPUCount_TO (smth) COM_FORWARD_ISystemProperties_GETTER_MaxGuestCPUCount_TO (smth) COM_FORWARD_ISystemProperties_GETTER_MaxGuestMonitors_TO (smth) COM_FORWARD_ISystemProperties_GETTER_InfoVDSize_TO (smth) COM_FORWARD_ISystemProperties_GETTER_DefaultMachineFolder_TO (smth) COM_FORWARD_ISystemProperties_SETTER_DefaultMachineFolder_TO (smth) COM_FORWARD_ISystemProperties_GETTER_LoggingLevel_TO (smth) COM_FORWARD_ISystemProperties_SETTER_LoggingLevel_TO (smth) COM_FORWARD_ISystemProperties_GETTER_MediumFormats_TO (smth) COM_FORWARD_ISystemProperties_GETTER_DefaultHardDiskFormat_TO (smth) COM_FORWARD_ISystemProperties_SETTER_DefaultHardDiskFormat_TO (smth) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceWarning_TO (smth) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceWarning_TO (smth) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentWarning_TO (smth) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentWarning_TO (smth) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpaceError_TO (smth) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpaceError_TO (smth) COM_FORWARD_ISystemProperties_GETTER_FreeDiskSpacePercentError_TO (smth) COM_FORWARD_ISystemProperties_SETTER_FreeDiskSpacePercentError_TO (smth) COM_FORWARD_ISystemProperties_GETTER_VRDEAuthLibrary_TO (smth) COM_FORWARD_ISystemProperties_SETTER_VRDEAuthLibrary_TO (smth) COM_FORWARD_ISystemProperties_GETTER_WebServiceAuthLibrary_TO (smth) COM_FORWARD_ISystemProperties_SETTER_WebServiceAuthLibrary_TO (smth) COM_FORWARD_ISystemProperties_GETTER_DefaultVRDEExtPack_TO (smth) COM_FORWARD_ISystemProperties_SETTER_DefaultVRDEExtPack_TO (smth) COM_FORWARD_ISystemProperties_GETTER_DefaultCryptoExtPack_TO (smth) COM_FORWARD_ISystemProperties_SETTER_DefaultCryptoExtPack_TO (smth) COM_FORWARD_ISystemProperties_GETTER_LogHistoryCount_TO (smth) COM_FORWARD_ISystemProperties_SETTER_LogHistoryCount_TO (smth) COM_FORWARD_ISystemProperties_GETTER_DefaultAudioDriver_TO (smth) COM_FORWARD_ISystemProperties_GETTER_AutostartDatabasePath_TO (smth) COM_FORWARD_ISystemProperties_SETTER_AutostartDatabasePath_TO (smth) COM_FORWARD_ISystemProperties_GETTER_DefaultAdditionsISO_TO (smth) COM_FORWARD_ISystemProperties_SETTER_DefaultAdditionsISO_TO (smth) COM_FORWARD_ISystemProperties_GETTER_DefaultFrontend_TO (smth) COM_FORWARD_ISystemProperties_SETTER_DefaultFrontend_TO (smth) COM_FORWARD_ISystemProperties_GETTER_ScreenShotFormats_TO (smth) COM_FORWARD_ISystemProperties_GETTER_ProxyMode_TO (smth) COM_FORWARD_ISystemProperties_SETTER_ProxyMode_TO (smth) COM_FORWARD_ISystemProperties_GETTER_ProxyURL_TO (smth) COM_FORWARD_ISystemProperties_SETTER_ProxyURL_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedPlatformArchitectures_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedClipboardModes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedDnDModes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedPointingHIDTypes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedKeyboardHIDTypes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedVFSTypes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedImportOptions_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedExportOptions_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedGraphicsFeatures_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingFeatures_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingAudioCodecs_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVideoCodecs_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVSModes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingARCModes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedRecordingVRCModes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedCloneOptions_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedAutostopTypes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedVMProcPriorities_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedNetworkAttachmentTypes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedPortModes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_SupportedAudioDriverTypes_TO (smth) COM_FORWARD_ISystemProperties_GETTER_LanguageId_TO (smth) COM_FORWARD_ISystemProperties_SETTER_LanguageId_TO (smth) COM_FORWARD_ISystemProperties_GetDefaultIoCacheSettingForStorageController_TO (smth) COM_FORWARD_ISystemProperties_GetCPUProfiles_TO (smth) COM_FORWARD_ISystemProperties_GetExecutionEnginesForVmCpuArchitecture_TO (smth) 
#define COM_FORWARD_ISystemProperties_TO_OBJ(obj) COM_FORWARD_ISystemProperties_TO ((obj)->)
#define COM_FORWARD_ISystemProperties_TO_BASE(base) COM_FORWARD_ISystemProperties_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0045_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0045_v0_0_s_ifspec;

#ifndef __IGuestOSType_INTERFACE_DEFINED__
#define __IGuestOSType_INTERFACE_DEFINED__

/* interface IGuestOSType */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestOSType;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ceb482fc-41b9-42a8-8538-9835ea33b6f2")
    IGuestOSType : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FamilyId( 
            /* [retval][out] */ BSTR *aFamilyId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FamilyDescription( 
            /* [retval][out] */ BSTR *aFamilyDescription) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Subtype( 
            /* [retval][out] */ BSTR *aSubtype) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *aDescription) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Is64Bit( 
            /* [retval][out] */ BOOL *aIs64Bit) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PlatformArchitecture( 
            /* [retval][out] */ PlatformArchitecture *aPlatformArchitecture) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedIOAPIC( 
            /* [retval][out] */ BOOL *aRecommendedIOAPIC) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedVirtEx( 
            /* [retval][out] */ BOOL *aRecommendedVirtEx) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedRAM( 
            /* [retval][out] */ ULONG *aRecommendedRAM) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedGraphicsController( 
            /* [retval][out] */ GraphicsControllerType *aRecommendedGraphicsController) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedVRAM( 
            /* [retval][out] */ ULONG *aRecommendedVRAM) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Recommended2DVideoAcceleration( 
            /* [retval][out] */ BOOL *aRecommended2DVideoAcceleration) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Recommended3DAcceleration( 
            /* [retval][out] */ BOOL *aRecommended3DAcceleration) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedHDD( 
            /* [retval][out] */ LONG64 *aRecommendedHDD) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdapterType( 
            /* [retval][out] */ NetworkAdapterType *aAdapterType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedPAE( 
            /* [retval][out] */ BOOL *aRecommendedPAE) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedDVDStorageController( 
            /* [retval][out] */ StorageControllerType *aRecommendedDVDStorageController) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedDVDStorageBus( 
            /* [retval][out] */ StorageBus *aRecommendedDVDStorageBus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedHDStorageController( 
            /* [retval][out] */ StorageControllerType *aRecommendedHDStorageController) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedHDStorageBus( 
            /* [retval][out] */ StorageBus *aRecommendedHDStorageBus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedFirmware( 
            /* [retval][out] */ FirmwareType *aRecommendedFirmware) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedUSBHID( 
            /* [retval][out] */ BOOL *aRecommendedUSBHID) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedHPET( 
            /* [retval][out] */ BOOL *aRecommendedHPET) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedUSBTablet( 
            /* [retval][out] */ BOOL *aRecommendedUSBTablet) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedRTCUseUTC( 
            /* [retval][out] */ BOOL *aRecommendedRTCUseUTC) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedChipset( 
            /* [retval][out] */ ChipsetType *aRecommendedChipset) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedIommuType( 
            /* [retval][out] */ IommuType *aRecommendedIommuType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedAudioController( 
            /* [retval][out] */ AudioControllerType *aRecommendedAudioController) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedAudioCodec( 
            /* [retval][out] */ AudioCodecType *aRecommendedAudioCodec) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedFloppy( 
            /* [retval][out] */ BOOL *aRecommendedFloppy) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedUSB( 
            /* [retval][out] */ BOOL *aRecommendedUSB) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedUSB3( 
            /* [retval][out] */ BOOL *aRecommendedUSB3) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedTFReset( 
            /* [retval][out] */ BOOL *aRecommendedTFReset) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedX2APIC( 
            /* [retval][out] */ BOOL *aRecommendedX2APIC) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedCPUCount( 
            /* [retval][out] */ ULONG *aRecommendedCPUCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedTpmType( 
            /* [retval][out] */ TpmType *aRecommendedTpmType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedSecureBoot( 
            /* [retval][out] */ BOOL *aRecommendedSecureBoot) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RecommendedWDDMGraphics( 
            /* [retval][out] */ BOOL *aRecommendedWDDMGraphics) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestAdditionsInstallPackageName( 
            /* [retval][out] */ BSTR *aGuestAdditionsInstallPackageName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16IGuestOSType( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestOSTypeVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestOSType * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestOSType * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestOSType * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestOSType * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestOSType * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestOSType * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestOSType * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_FamilyId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FamilyId )( 
            IGuestOSType * This,
            /* [retval][out] */ BSTR *aFamilyId);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_FamilyDescription)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FamilyDescription )( 
            IGuestOSType * This,
            /* [retval][out] */ BSTR *aFamilyDescription);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IGuestOSType * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_Subtype)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Subtype )( 
            IGuestOSType * This,
            /* [retval][out] */ BSTR *aSubtype);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IGuestOSType * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_Is64Bit)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Is64Bit )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aIs64Bit);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_PlatformArchitecture)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlatformArchitecture )( 
            IGuestOSType * This,
            /* [retval][out] */ PlatformArchitecture *aPlatformArchitecture);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedIOAPIC)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedIOAPIC )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedIOAPIC);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedVirtEx)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedVirtEx )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedVirtEx);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedRAM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedRAM )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aRecommendedRAM);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedGraphicsController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedGraphicsController )( 
            IGuestOSType * This,
            /* [retval][out] */ GraphicsControllerType *aRecommendedGraphicsController);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedVRAM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedVRAM )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aRecommendedVRAM);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_Recommended2DVideoAcceleration)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Recommended2DVideoAcceleration )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommended2DVideoAcceleration);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_Recommended3DAcceleration)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Recommended3DAcceleration )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommended3DAcceleration);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedHDD)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHDD )( 
            IGuestOSType * This,
            /* [retval][out] */ LONG64 *aRecommendedHDD);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_AdapterType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdapterType )( 
            IGuestOSType * This,
            /* [retval][out] */ NetworkAdapterType *aAdapterType);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedPAE)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedPAE )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedPAE);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedDVDStorageController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedDVDStorageController )( 
            IGuestOSType * This,
            /* [retval][out] */ StorageControllerType *aRecommendedDVDStorageController);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedDVDStorageBus)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedDVDStorageBus )( 
            IGuestOSType * This,
            /* [retval][out] */ StorageBus *aRecommendedDVDStorageBus);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedHDStorageController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHDStorageController )( 
            IGuestOSType * This,
            /* [retval][out] */ StorageControllerType *aRecommendedHDStorageController);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedHDStorageBus)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHDStorageBus )( 
            IGuestOSType * This,
            /* [retval][out] */ StorageBus *aRecommendedHDStorageBus);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedFirmware)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedFirmware )( 
            IGuestOSType * This,
            /* [retval][out] */ FirmwareType *aRecommendedFirmware);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedUSBHID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedUSBHID )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedUSBHID);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedHPET)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedHPET )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedHPET);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedUSBTablet)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedUSBTablet )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedUSBTablet);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedRTCUseUTC)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedRTCUseUTC )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedRTCUseUTC);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedChipset)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedChipset )( 
            IGuestOSType * This,
            /* [retval][out] */ ChipsetType *aRecommendedChipset);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedIommuType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedIommuType )( 
            IGuestOSType * This,
            /* [retval][out] */ IommuType *aRecommendedIommuType);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedAudioController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedAudioController )( 
            IGuestOSType * This,
            /* [retval][out] */ AudioControllerType *aRecommendedAudioController);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedAudioCodec)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedAudioCodec )( 
            IGuestOSType * This,
            /* [retval][out] */ AudioCodecType *aRecommendedAudioCodec);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedFloppy)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedFloppy )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedFloppy);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedUSB)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedUSB )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedUSB);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedUSB3)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedUSB3 )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedUSB3);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedTFReset)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedTFReset )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedTFReset);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedX2APIC)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedX2APIC )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedX2APIC);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedCPUCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedCPUCount )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aRecommendedCPUCount);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedTpmType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedTpmType )( 
            IGuestOSType * This,
            /* [retval][out] */ TpmType *aRecommendedTpmType);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedSecureBoot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedSecureBoot )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedSecureBoot);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_RecommendedWDDMGraphics)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecommendedWDDMGraphics )( 
            IGuestOSType * This,
            /* [retval][out] */ BOOL *aRecommendedWDDMGraphics);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_GuestAdditionsInstallPackageName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestAdditionsInstallPackageName )( 
            IGuestOSType * This,
            /* [retval][out] */ BSTR *aGuestAdditionsInstallPackageName);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute1IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute2IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute3IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute4IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute5IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute6IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute7IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute8IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute9IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute10IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute11IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute12IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute13IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute14IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute15IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestOSType, get_InternalAndReservedAttribute16IGuestOSType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IGuestOSType )( 
            IGuestOSType * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IGuestOSTypeVtbl;

    interface IGuestOSType
    {
        CONST_VTBL struct IGuestOSTypeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestOSType_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestOSType_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestOSType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestOSType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestOSType_get_FamilyId(This,aFamilyId)	\
    ( (This)->lpVtbl -> get_FamilyId(This,aFamilyId) ) 

#define IGuestOSType_get_FamilyDescription(This,aFamilyDescription)	\
    ( (This)->lpVtbl -> get_FamilyDescription(This,aFamilyDescription) ) 

#define IGuestOSType_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IGuestOSType_get_Subtype(This,aSubtype)	\
    ( (This)->lpVtbl -> get_Subtype(This,aSubtype) ) 

#define IGuestOSType_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IGuestOSType_get_Is64Bit(This,aIs64Bit)	\
    ( (This)->lpVtbl -> get_Is64Bit(This,aIs64Bit) ) 

#define IGuestOSType_get_PlatformArchitecture(This,aPlatformArchitecture)	\
    ( (This)->lpVtbl -> get_PlatformArchitecture(This,aPlatformArchitecture) ) 

#define IGuestOSType_get_RecommendedIOAPIC(This,aRecommendedIOAPIC)	\
    ( (This)->lpVtbl -> get_RecommendedIOAPIC(This,aRecommendedIOAPIC) ) 

#define IGuestOSType_get_RecommendedVirtEx(This,aRecommendedVirtEx)	\
    ( (This)->lpVtbl -> get_RecommendedVirtEx(This,aRecommendedVirtEx) ) 

#define IGuestOSType_get_RecommendedRAM(This,aRecommendedRAM)	\
    ( (This)->lpVtbl -> get_RecommendedRAM(This,aRecommendedRAM) ) 

#define IGuestOSType_get_RecommendedGraphicsController(This,aRecommendedGraphicsController)	\
    ( (This)->lpVtbl -> get_RecommendedGraphicsController(This,aRecommendedGraphicsController) ) 

#define IGuestOSType_get_RecommendedVRAM(This,aRecommendedVRAM)	\
    ( (This)->lpVtbl -> get_RecommendedVRAM(This,aRecommendedVRAM) ) 

#define IGuestOSType_get_Recommended2DVideoAcceleration(This,aRecommended2DVideoAcceleration)	\
    ( (This)->lpVtbl -> get_Recommended2DVideoAcceleration(This,aRecommended2DVideoAcceleration) ) 

#define IGuestOSType_get_Recommended3DAcceleration(This,aRecommended3DAcceleration)	\
    ( (This)->lpVtbl -> get_Recommended3DAcceleration(This,aRecommended3DAcceleration) ) 

#define IGuestOSType_get_RecommendedHDD(This,aRecommendedHDD)	\
    ( (This)->lpVtbl -> get_RecommendedHDD(This,aRecommendedHDD) ) 

#define IGuestOSType_get_AdapterType(This,aAdapterType)	\
    ( (This)->lpVtbl -> get_AdapterType(This,aAdapterType) ) 

#define IGuestOSType_get_RecommendedPAE(This,aRecommendedPAE)	\
    ( (This)->lpVtbl -> get_RecommendedPAE(This,aRecommendedPAE) ) 

#define IGuestOSType_get_RecommendedDVDStorageController(This,aRecommendedDVDStorageController)	\
    ( (This)->lpVtbl -> get_RecommendedDVDStorageController(This,aRecommendedDVDStorageController) ) 

#define IGuestOSType_get_RecommendedDVDStorageBus(This,aRecommendedDVDStorageBus)	\
    ( (This)->lpVtbl -> get_RecommendedDVDStorageBus(This,aRecommendedDVDStorageBus) ) 

#define IGuestOSType_get_RecommendedHDStorageController(This,aRecommendedHDStorageController)	\
    ( (This)->lpVtbl -> get_RecommendedHDStorageController(This,aRecommendedHDStorageController) ) 

#define IGuestOSType_get_RecommendedHDStorageBus(This,aRecommendedHDStorageBus)	\
    ( (This)->lpVtbl -> get_RecommendedHDStorageBus(This,aRecommendedHDStorageBus) ) 

#define IGuestOSType_get_RecommendedFirmware(This,aRecommendedFirmware)	\
    ( (This)->lpVtbl -> get_RecommendedFirmware(This,aRecommendedFirmware) ) 

#define IGuestOSType_get_RecommendedUSBHID(This,aRecommendedUSBHID)	\
    ( (This)->lpVtbl -> get_RecommendedUSBHID(This,aRecommendedUSBHID) ) 

#define IGuestOSType_get_RecommendedHPET(This,aRecommendedHPET)	\
    ( (This)->lpVtbl -> get_RecommendedHPET(This,aRecommendedHPET) ) 

#define IGuestOSType_get_RecommendedUSBTablet(This,aRecommendedUSBTablet)	\
    ( (This)->lpVtbl -> get_RecommendedUSBTablet(This,aRecommendedUSBTablet) ) 

#define IGuestOSType_get_RecommendedRTCUseUTC(This,aRecommendedRTCUseUTC)	\
    ( (This)->lpVtbl -> get_RecommendedRTCUseUTC(This,aRecommendedRTCUseUTC) ) 

#define IGuestOSType_get_RecommendedChipset(This,aRecommendedChipset)	\
    ( (This)->lpVtbl -> get_RecommendedChipset(This,aRecommendedChipset) ) 

#define IGuestOSType_get_RecommendedIommuType(This,aRecommendedIommuType)	\
    ( (This)->lpVtbl -> get_RecommendedIommuType(This,aRecommendedIommuType) ) 

#define IGuestOSType_get_RecommendedAudioController(This,aRecommendedAudioController)	\
    ( (This)->lpVtbl -> get_RecommendedAudioController(This,aRecommendedAudioController) ) 

#define IGuestOSType_get_RecommendedAudioCodec(This,aRecommendedAudioCodec)	\
    ( (This)->lpVtbl -> get_RecommendedAudioCodec(This,aRecommendedAudioCodec) ) 

#define IGuestOSType_get_RecommendedFloppy(This,aRecommendedFloppy)	\
    ( (This)->lpVtbl -> get_RecommendedFloppy(This,aRecommendedFloppy) ) 

#define IGuestOSType_get_RecommendedUSB(This,aRecommendedUSB)	\
    ( (This)->lpVtbl -> get_RecommendedUSB(This,aRecommendedUSB) ) 

#define IGuestOSType_get_RecommendedUSB3(This,aRecommendedUSB3)	\
    ( (This)->lpVtbl -> get_RecommendedUSB3(This,aRecommendedUSB3) ) 

#define IGuestOSType_get_RecommendedTFReset(This,aRecommendedTFReset)	\
    ( (This)->lpVtbl -> get_RecommendedTFReset(This,aRecommendedTFReset) ) 

#define IGuestOSType_get_RecommendedX2APIC(This,aRecommendedX2APIC)	\
    ( (This)->lpVtbl -> get_RecommendedX2APIC(This,aRecommendedX2APIC) ) 

#define IGuestOSType_get_RecommendedCPUCount(This,aRecommendedCPUCount)	\
    ( (This)->lpVtbl -> get_RecommendedCPUCount(This,aRecommendedCPUCount) ) 

#define IGuestOSType_get_RecommendedTpmType(This,aRecommendedTpmType)	\
    ( (This)->lpVtbl -> get_RecommendedTpmType(This,aRecommendedTpmType) ) 

#define IGuestOSType_get_RecommendedSecureBoot(This,aRecommendedSecureBoot)	\
    ( (This)->lpVtbl -> get_RecommendedSecureBoot(This,aRecommendedSecureBoot) ) 

#define IGuestOSType_get_RecommendedWDDMGraphics(This,aRecommendedWDDMGraphics)	\
    ( (This)->lpVtbl -> get_RecommendedWDDMGraphics(This,aRecommendedWDDMGraphics) ) 

#define IGuestOSType_get_GuestAdditionsInstallPackageName(This,aGuestAdditionsInstallPackageName)	\
    ( (This)->lpVtbl -> get_GuestAdditionsInstallPackageName(This,aGuestAdditionsInstallPackageName) ) 

#define IGuestOSType_get_InternalAndReservedAttribute1IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute2IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute3IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute4IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute5IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute6IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute7IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute8IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute9IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute10IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute11IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute12IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute13IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute14IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute15IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IGuestOSType(This,aReserved) ) 

#define IGuestOSType_get_InternalAndReservedAttribute16IGuestOSType(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IGuestOSType(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestOSType_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0046 */
/* [local] */ 

#define COM_FORWARD_IGuestOSType_GETTER_FamilyId_TO(smth) HRESULT STDMETHODCALLTYPE get_FamilyId (BSTR * aFamilyId) { return smth get_FamilyId (aFamilyId); }
#define COM_FORWARD_IGuestOSType_GETTER_FamilyId_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_FamilyId_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_FamilyId_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_FamilyId_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_FamilyDescription_TO(smth) HRESULT STDMETHODCALLTYPE get_FamilyDescription (BSTR * aFamilyDescription) { return smth get_FamilyDescription (aFamilyDescription); }
#define COM_FORWARD_IGuestOSType_GETTER_FamilyDescription_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_FamilyDescription_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_FamilyDescription_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_FamilyDescription_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IGuestOSType_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_Id_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_Id_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_Subtype_TO(smth) HRESULT STDMETHODCALLTYPE get_Subtype (BSTR * aSubtype) { return smth get_Subtype (aSubtype); }
#define COM_FORWARD_IGuestOSType_GETTER_Subtype_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_Subtype_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_Subtype_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_Subtype_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }
#define COM_FORWARD_IGuestOSType_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_Description_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_Description_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_Description_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_Is64Bit_TO(smth) HRESULT STDMETHODCALLTYPE get_Is64Bit (BOOL * aIs64Bit) { return smth get_Is64Bit (aIs64Bit); }
#define COM_FORWARD_IGuestOSType_GETTER_Is64Bit_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_Is64Bit_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_Is64Bit_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_Is64Bit_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_PlatformArchitecture_TO(smth) HRESULT STDMETHODCALLTYPE get_PlatformArchitecture (PlatformArchitecture * aPlatformArchitecture) { return smth get_PlatformArchitecture (aPlatformArchitecture); }
#define COM_FORWARD_IGuestOSType_GETTER_PlatformArchitecture_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_PlatformArchitecture_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_PlatformArchitecture_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_PlatformArchitecture_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIOAPIC_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedIOAPIC (BOOL * aRecommendedIOAPIC) { return smth get_RecommendedIOAPIC (aRecommendedIOAPIC); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIOAPIC_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedIOAPIC_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIOAPIC_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedIOAPIC_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVirtEx_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedVirtEx (BOOL * aRecommendedVirtEx) { return smth get_RecommendedVirtEx (aRecommendedVirtEx); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVirtEx_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedVirtEx_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVirtEx_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedVirtEx_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedRAM (ULONG * aRecommendedRAM) { return smth get_RecommendedRAM (aRecommendedRAM); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRAM_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedRAM_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRAM_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedRAM_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedGraphicsController_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedGraphicsController (GraphicsControllerType * aRecommendedGraphicsController) { return smth get_RecommendedGraphicsController (aRecommendedGraphicsController); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedGraphicsController_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedGraphicsController_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedGraphicsController_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedGraphicsController_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVRAM_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedVRAM (ULONG * aRecommendedVRAM) { return smth get_RecommendedVRAM (aRecommendedVRAM); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVRAM_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedVRAM_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedVRAM_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedVRAM_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_Recommended2DVideoAcceleration_TO(smth) HRESULT STDMETHODCALLTYPE get_Recommended2DVideoAcceleration (BOOL * aRecommended2DVideoAcceleration) { return smth get_Recommended2DVideoAcceleration (aRecommended2DVideoAcceleration); }
#define COM_FORWARD_IGuestOSType_GETTER_Recommended2DVideoAcceleration_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_Recommended2DVideoAcceleration_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_Recommended2DVideoAcceleration_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_Recommended2DVideoAcceleration_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_Recommended3DAcceleration_TO(smth) HRESULT STDMETHODCALLTYPE get_Recommended3DAcceleration (BOOL * aRecommended3DAcceleration) { return smth get_Recommended3DAcceleration (aRecommended3DAcceleration); }
#define COM_FORWARD_IGuestOSType_GETTER_Recommended3DAcceleration_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_Recommended3DAcceleration_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_Recommended3DAcceleration_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_Recommended3DAcceleration_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDD_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedHDD (LONG64 * aRecommendedHDD) { return smth get_RecommendedHDD (aRecommendedHDD); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDD_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDD_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDD_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDD_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_AdapterType_TO(smth) HRESULT STDMETHODCALLTYPE get_AdapterType (NetworkAdapterType * aAdapterType) { return smth get_AdapterType (aAdapterType); }
#define COM_FORWARD_IGuestOSType_GETTER_AdapterType_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_AdapterType_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_AdapterType_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_AdapterType_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedPAE_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedPAE (BOOL * aRecommendedPAE) { return smth get_RecommendedPAE (aRecommendedPAE); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedPAE_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedPAE_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedPAE_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedPAE_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageController_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedDVDStorageController (StorageControllerType * aRecommendedDVDStorageController) { return smth get_RecommendedDVDStorageController (aRecommendedDVDStorageController); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageController_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageController_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageController_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageController_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedDVDStorageBus (StorageBus * aRecommendedDVDStorageBus) { return smth get_RecommendedDVDStorageBus (aRecommendedDVDStorageBus); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageBus_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageBus_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageBus_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageBus_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageController_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedHDStorageController (StorageControllerType * aRecommendedHDStorageController) { return smth get_RecommendedHDStorageController (aRecommendedHDStorageController); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageController_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageController_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageController_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageController_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageBus_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedHDStorageBus (StorageBus * aRecommendedHDStorageBus) { return smth get_RecommendedHDStorageBus (aRecommendedHDStorageBus); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageBus_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageBus_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageBus_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageBus_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFirmware_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedFirmware (FirmwareType * aRecommendedFirmware) { return smth get_RecommendedFirmware (aRecommendedFirmware); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFirmware_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedFirmware_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFirmware_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedFirmware_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBHID_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedUSBHID (BOOL * aRecommendedUSBHID) { return smth get_RecommendedUSBHID (aRecommendedUSBHID); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBHID_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBHID_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBHID_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBHID_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHPET_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedHPET (BOOL * aRecommendedHPET) { return smth get_RecommendedHPET (aRecommendedHPET); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHPET_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedHPET_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedHPET_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedHPET_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBTablet_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedUSBTablet (BOOL * aRecommendedUSBTablet) { return smth get_RecommendedUSBTablet (aRecommendedUSBTablet); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBTablet_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBTablet_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBTablet_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBTablet_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRTCUseUTC_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedRTCUseUTC (BOOL * aRecommendedRTCUseUTC) { return smth get_RecommendedRTCUseUTC (aRecommendedRTCUseUTC); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRTCUseUTC_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedRTCUseUTC_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedRTCUseUTC_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedRTCUseUTC_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedChipset_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedChipset (ChipsetType * aRecommendedChipset) { return smth get_RecommendedChipset (aRecommendedChipset); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedChipset_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedChipset_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedChipset_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedChipset_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIommuType_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedIommuType (IommuType * aRecommendedIommuType) { return smth get_RecommendedIommuType (aRecommendedIommuType); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIommuType_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedIommuType_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedIommuType_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedIommuType_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioController_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedAudioController (AudioControllerType * aRecommendedAudioController) { return smth get_RecommendedAudioController (aRecommendedAudioController); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioController_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioController_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioController_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioController_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioCodec_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedAudioCodec (AudioCodecType * aRecommendedAudioCodec) { return smth get_RecommendedAudioCodec (aRecommendedAudioCodec); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioCodec_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioCodec_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioCodec_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioCodec_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFloppy_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedFloppy (BOOL * aRecommendedFloppy) { return smth get_RecommendedFloppy (aRecommendedFloppy); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFloppy_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedFloppy_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedFloppy_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedFloppy_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedUSB (BOOL * aRecommendedUSB) { return smth get_RecommendedUSB (aRecommendedUSB); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB3_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedUSB3 (BOOL * aRecommendedUSB3) { return smth get_RecommendedUSB3 (aRecommendedUSB3); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB3_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB3_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB3_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB3_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTFReset_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedTFReset (BOOL * aRecommendedTFReset) { return smth get_RecommendedTFReset (aRecommendedTFReset); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTFReset_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedTFReset_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTFReset_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedTFReset_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedX2APIC_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedX2APIC (BOOL * aRecommendedX2APIC) { return smth get_RecommendedX2APIC (aRecommendedX2APIC); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedX2APIC_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedX2APIC_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedX2APIC_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedX2APIC_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedCPUCount_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedCPUCount (ULONG * aRecommendedCPUCount) { return smth get_RecommendedCPUCount (aRecommendedCPUCount); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedCPUCount_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedCPUCount_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedCPUCount_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedCPUCount_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTpmType_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedTpmType (TpmType * aRecommendedTpmType) { return smth get_RecommendedTpmType (aRecommendedTpmType); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTpmType_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedTpmType_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedTpmType_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedTpmType_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedSecureBoot_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedSecureBoot (BOOL * aRecommendedSecureBoot) { return smth get_RecommendedSecureBoot (aRecommendedSecureBoot); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedSecureBoot_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedSecureBoot_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedSecureBoot_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedSecureBoot_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedWDDMGraphics_TO(smth) HRESULT STDMETHODCALLTYPE get_RecommendedWDDMGraphics (BOOL * aRecommendedWDDMGraphics) { return smth get_RecommendedWDDMGraphics (aRecommendedWDDMGraphics); }
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedWDDMGraphics_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_RecommendedWDDMGraphics_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_RecommendedWDDMGraphics_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_RecommendedWDDMGraphics_TO (base::)
#define COM_FORWARD_IGuestOSType_GETTER_GuestAdditionsInstallPackageName_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestAdditionsInstallPackageName (BSTR * aGuestAdditionsInstallPackageName) { return smth get_GuestAdditionsInstallPackageName (aGuestAdditionsInstallPackageName); }
#define COM_FORWARD_IGuestOSType_GETTER_GuestAdditionsInstallPackageName_TO_OBJ(obj) COM_FORWARD_IGuestOSType_GETTER_GuestAdditionsInstallPackageName_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_GETTER_GuestAdditionsInstallPackageName_TO_BASE(base) COM_FORWARD_IGuestOSType_GETTER_GuestAdditionsInstallPackageName_TO (base::)
#define COM_FORWARD_IGuestOSType_TO(smth) COM_FORWARD_IGuestOSType_GETTER_FamilyId_TO (smth) COM_FORWARD_IGuestOSType_GETTER_FamilyDescription_TO (smth) COM_FORWARD_IGuestOSType_GETTER_Id_TO (smth) COM_FORWARD_IGuestOSType_GETTER_Subtype_TO (smth) COM_FORWARD_IGuestOSType_GETTER_Description_TO (smth) COM_FORWARD_IGuestOSType_GETTER_Is64Bit_TO (smth) COM_FORWARD_IGuestOSType_GETTER_PlatformArchitecture_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedIOAPIC_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedVirtEx_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedRAM_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedGraphicsController_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedVRAM_TO (smth) COM_FORWARD_IGuestOSType_GETTER_Recommended2DVideoAcceleration_TO (smth) COM_FORWARD_IGuestOSType_GETTER_Recommended3DAcceleration_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDD_TO (smth) COM_FORWARD_IGuestOSType_GETTER_AdapterType_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedPAE_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageController_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedDVDStorageBus_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageController_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedHDStorageBus_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedFirmware_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBHID_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedHPET_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSBTablet_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedRTCUseUTC_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedChipset_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedIommuType_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioController_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedAudioCodec_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedFloppy_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedUSB3_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedTFReset_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedX2APIC_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedCPUCount_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedTpmType_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedSecureBoot_TO (smth) COM_FORWARD_IGuestOSType_GETTER_RecommendedWDDMGraphics_TO (smth) COM_FORWARD_IGuestOSType_GETTER_GuestAdditionsInstallPackageName_TO (smth) 
#define COM_FORWARD_IGuestOSType_TO_OBJ(obj) COM_FORWARD_IGuestOSType_TO ((obj)->)
#define COM_FORWARD_IGuestOSType_TO_BASE(base) COM_FORWARD_IGuestOSType_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0046_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0046_v0_0_s_ifspec;

#ifndef __IAdditionsFacility_INTERFACE_DEFINED__
#define __IAdditionsFacility_INTERFACE_DEFINED__

/* interface IAdditionsFacility */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IAdditionsFacility;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f2f7fae4-4a06-81fc-a916-78b2da1fa0e5")
    IAdditionsFacility : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClassType( 
            /* [retval][out] */ AdditionsFacilityClass *aClassType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LastUpdated( 
            /* [retval][out] */ LONG64 *aLastUpdated) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ AdditionsFacilityStatus *aStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ AdditionsFacilityType *aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IAdditionsFacility( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IAdditionsFacility( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAdditionsFacilityVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAdditionsFacility * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAdditionsFacility * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAdditionsFacility * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAdditionsFacility * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAdditionsFacility * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAdditionsFacility * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAdditionsFacility * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IAdditionsFacility, get_ClassType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassType )( 
            IAdditionsFacility * This,
            /* [retval][out] */ AdditionsFacilityClass *aClassType);
        
        DECLSPEC_XFGVIRT(IAdditionsFacility, get_LastUpdated)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastUpdated )( 
            IAdditionsFacility * This,
            /* [retval][out] */ LONG64 *aLastUpdated);
        
        DECLSPEC_XFGVIRT(IAdditionsFacility, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAdditionsFacility * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IAdditionsFacility, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IAdditionsFacility * This,
            /* [retval][out] */ AdditionsFacilityStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IAdditionsFacility, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IAdditionsFacility * This,
            /* [retval][out] */ AdditionsFacilityType *aType);
        
        DECLSPEC_XFGVIRT(IAdditionsFacility, get_InternalAndReservedAttribute1IAdditionsFacility)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IAdditionsFacility )( 
            IAdditionsFacility * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAdditionsFacility, get_InternalAndReservedAttribute2IAdditionsFacility)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IAdditionsFacility )( 
            IAdditionsFacility * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IAdditionsFacilityVtbl;

    interface IAdditionsFacility
    {
        CONST_VTBL struct IAdditionsFacilityVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAdditionsFacility_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAdditionsFacility_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAdditionsFacility_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAdditionsFacility_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAdditionsFacility_get_ClassType(This,aClassType)	\
    ( (This)->lpVtbl -> get_ClassType(This,aClassType) ) 

#define IAdditionsFacility_get_LastUpdated(This,aLastUpdated)	\
    ( (This)->lpVtbl -> get_LastUpdated(This,aLastUpdated) ) 

#define IAdditionsFacility_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IAdditionsFacility_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IAdditionsFacility_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IAdditionsFacility_get_InternalAndReservedAttribute1IAdditionsFacility(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IAdditionsFacility(This,aReserved) ) 

#define IAdditionsFacility_get_InternalAndReservedAttribute2IAdditionsFacility(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IAdditionsFacility(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAdditionsFacility_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0047 */
/* [local] */ 

#define COM_FORWARD_IAdditionsFacility_GETTER_ClassType_TO(smth) HRESULT STDMETHODCALLTYPE get_ClassType (AdditionsFacilityClass * aClassType) { return smth get_ClassType (aClassType); }
#define COM_FORWARD_IAdditionsFacility_GETTER_ClassType_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_GETTER_ClassType_TO ((obj)->)
#define COM_FORWARD_IAdditionsFacility_GETTER_ClassType_TO_BASE(base) COM_FORWARD_IAdditionsFacility_GETTER_ClassType_TO (base::)
#define COM_FORWARD_IAdditionsFacility_GETTER_LastUpdated_TO(smth) HRESULT STDMETHODCALLTYPE get_LastUpdated (LONG64 * aLastUpdated) { return smth get_LastUpdated (aLastUpdated); }
#define COM_FORWARD_IAdditionsFacility_GETTER_LastUpdated_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_GETTER_LastUpdated_TO ((obj)->)
#define COM_FORWARD_IAdditionsFacility_GETTER_LastUpdated_TO_BASE(base) COM_FORWARD_IAdditionsFacility_GETTER_LastUpdated_TO (base::)
#define COM_FORWARD_IAdditionsFacility_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IAdditionsFacility_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IAdditionsFacility_GETTER_Name_TO_BASE(base) COM_FORWARD_IAdditionsFacility_GETTER_Name_TO (base::)
#define COM_FORWARD_IAdditionsFacility_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (AdditionsFacilityStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IAdditionsFacility_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IAdditionsFacility_GETTER_Status_TO_BASE(base) COM_FORWARD_IAdditionsFacility_GETTER_Status_TO (base::)
#define COM_FORWARD_IAdditionsFacility_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (AdditionsFacilityType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IAdditionsFacility_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IAdditionsFacility_GETTER_Type_TO_BASE(base) COM_FORWARD_IAdditionsFacility_GETTER_Type_TO (base::)
#define COM_FORWARD_IAdditionsFacility_TO(smth) COM_FORWARD_IAdditionsFacility_GETTER_ClassType_TO (smth) COM_FORWARD_IAdditionsFacility_GETTER_LastUpdated_TO (smth) COM_FORWARD_IAdditionsFacility_GETTER_Name_TO (smth) COM_FORWARD_IAdditionsFacility_GETTER_Status_TO (smth) COM_FORWARD_IAdditionsFacility_GETTER_Type_TO (smth) 
#define COM_FORWARD_IAdditionsFacility_TO_OBJ(obj) COM_FORWARD_IAdditionsFacility_TO ((obj)->)
#define COM_FORWARD_IAdditionsFacility_TO_BASE(base) COM_FORWARD_IAdditionsFacility_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0047_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0047_v0_0_s_ifspec;

#ifndef __IDnDBase_INTERFACE_DEFINED__
#define __IDnDBase_INTERFACE_DEFINED__

/* interface IDnDBase */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDnDBase;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("00727A73-000A-4C4A-006D-E7D300351186")
    IDnDBase : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Formats( 
            /* [retval][out] */ SAFEARRAY * *aFormats) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDnDBase( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDnDBase( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( 
            /* [in] */ BSTR aFormat,
            /* [retval][out] */ BOOL *aSupported) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddFormats( 
            /* [in] */ SAFEARRAY * aFormats) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveFormats( 
            /* [in] */ SAFEARRAY * aFormats) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IDnDBase( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDnDBaseVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDnDBase * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDnDBase * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDnDBase * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDnDBase * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDnDBase * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDnDBase * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDnDBase * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_Formats)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Formats )( 
            IDnDBase * This,
            /* [retval][out] */ SAFEARRAY * *aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_InternalAndReservedAttribute1IDnDBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDnDBase )( 
            IDnDBase * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_InternalAndReservedAttribute2IDnDBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDnDBase )( 
            IDnDBase * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDBase, IsFormatSupported)
        HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
            IDnDBase * This,
            /* [in] */ BSTR aFormat,
            /* [retval][out] */ BOOL *aSupported);
        
        DECLSPEC_XFGVIRT(IDnDBase, AddFormats)
        HRESULT ( STDMETHODCALLTYPE *AddFormats )( 
            IDnDBase * This,
            /* [in] */ SAFEARRAY * aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, RemoveFormats)
        HRESULT ( STDMETHODCALLTYPE *RemoveFormats )( 
            IDnDBase * This,
            /* [in] */ SAFEARRAY * aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, InternalAndReservedMethod1IDnDBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDnDBase )( 
            IDnDBase * This);
        
        END_INTERFACE
    } IDnDBaseVtbl;

    interface IDnDBase
    {
        CONST_VTBL struct IDnDBaseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDnDBase_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDnDBase_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDnDBase_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDnDBase_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDnDBase_get_Formats(This,aFormats)	\
    ( (This)->lpVtbl -> get_Formats(This,aFormats) ) 

#define IDnDBase_get_InternalAndReservedAttribute1IDnDBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDnDBase(This,aReserved) ) 

#define IDnDBase_get_InternalAndReservedAttribute2IDnDBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDnDBase(This,aReserved) ) 

#define IDnDBase_IsFormatSupported(This,aFormat,aSupported)	\
    ( (This)->lpVtbl -> IsFormatSupported(This,aFormat,aSupported) ) 

#define IDnDBase_AddFormats(This,aFormats)	\
    ( (This)->lpVtbl -> AddFormats(This,aFormats) ) 

#define IDnDBase_RemoveFormats(This,aFormats)	\
    ( (This)->lpVtbl -> RemoveFormats(This,aFormats) ) 

#define IDnDBase_InternalAndReservedMethod1IDnDBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDnDBase(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDnDBase_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0048 */
/* [local] */ 

#define COM_FORWARD_IDnDBase_GETTER_Formats_TO(smth) HRESULT STDMETHODCALLTYPE get_Formats (SAFEARRAY * * aFormats) { return smth get_Formats (aFormats); }
#define COM_FORWARD_IDnDBase_GETTER_Formats_TO_OBJ(obj) COM_FORWARD_IDnDBase_GETTER_Formats_TO ((obj)->)
#define COM_FORWARD_IDnDBase_GETTER_Formats_TO_BASE(base) COM_FORWARD_IDnDBase_GETTER_Formats_TO (base::)
#define COM_FORWARD_IDnDBase_IsFormatSupported_TO(smth) HRESULT STDMETHODCALLTYPE IsFormatSupported (BSTR aFormat, BOOL * aSupported) { return smth IsFormatSupported (aFormat, aSupported); }
#define COM_FORWARD_IDnDBase_IsFormatSupported_TO_OBJ(obj) COM_FORWARD_IDnDBase_IsFormatSupported_TO ((obj)->)
#define COM_FORWARD_IDnDBase_IsFormatSupported_TO_BASE(base) COM_FORWARD_IDnDBase_IsFormatSupported_TO (base::)
#define COM_FORWARD_IDnDBase_AddFormats_TO(smth) HRESULT STDMETHODCALLTYPE AddFormats (SAFEARRAY * * aFormats) { return smth AddFormats (aFormats); }
#define COM_FORWARD_IDnDBase_AddFormats_TO_OBJ(obj) COM_FORWARD_IDnDBase_AddFormats_TO ((obj)->)
#define COM_FORWARD_IDnDBase_AddFormats_TO_BASE(base) COM_FORWARD_IDnDBase_AddFormats_TO (base::)
#define COM_FORWARD_IDnDBase_RemoveFormats_TO(smth) HRESULT STDMETHODCALLTYPE RemoveFormats (SAFEARRAY * * aFormats) { return smth RemoveFormats (aFormats); }
#define COM_FORWARD_IDnDBase_RemoveFormats_TO_OBJ(obj) COM_FORWARD_IDnDBase_RemoveFormats_TO ((obj)->)
#define COM_FORWARD_IDnDBase_RemoveFormats_TO_BASE(base) COM_FORWARD_IDnDBase_RemoveFormats_TO (base::)
#define COM_FORWARD_IDnDBase_TO(smth) COM_FORWARD_IDnDBase_GETTER_Formats_TO (smth) COM_FORWARD_IDnDBase_IsFormatSupported_TO (smth) COM_FORWARD_IDnDBase_AddFormats_TO (smth) COM_FORWARD_IDnDBase_RemoveFormats_TO (smth) 
#define COM_FORWARD_IDnDBase_TO_OBJ(obj) COM_FORWARD_IDnDBase_TO ((obj)->)
#define COM_FORWARD_IDnDBase_TO_BASE(base) COM_FORWARD_IDnDBase_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0048_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0048_v0_0_s_ifspec;

#ifndef __IDnDSource_INTERFACE_DEFINED__
#define __IDnDSource_INTERFACE_DEFINED__

/* interface IDnDSource */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDnDSource;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d23a9ca3-42da-c94b-8aec-21968e08355d")
    IDnDSource : public IDnDBase
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDnDSource( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDnDSource( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DragIsPending( 
            /* [in] */ ULONG aScreenId,
            /* [out] */ SAFEARRAY * *aFormats,
            /* [out] */ SAFEARRAY * *aAllowedActions,
            /* [retval][out] */ DnDAction *aDefaultAction) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Drop( 
            /* [in] */ BSTR aFormat,
            /* [in] */ DnDAction aAction,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReceiveData( 
            /* [retval][out] */ SAFEARRAY * *aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IDnDSource( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDnDSourceVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDnDSource * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDnDSource * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDnDSource * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDnDSource * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDnDSource * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDnDSource * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDnDSource * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_Formats)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Formats )( 
            IDnDSource * This,
            /* [retval][out] */ SAFEARRAY * *aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_InternalAndReservedAttribute1IDnDBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDnDBase )( 
            IDnDSource * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_InternalAndReservedAttribute2IDnDBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDnDBase )( 
            IDnDSource * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDBase, IsFormatSupported)
        HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
            IDnDSource * This,
            /* [in] */ BSTR aFormat,
            /* [retval][out] */ BOOL *aSupported);
        
        DECLSPEC_XFGVIRT(IDnDBase, AddFormats)
        HRESULT ( STDMETHODCALLTYPE *AddFormats )( 
            IDnDSource * This,
            /* [in] */ SAFEARRAY * aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, RemoveFormats)
        HRESULT ( STDMETHODCALLTYPE *RemoveFormats )( 
            IDnDSource * This,
            /* [in] */ SAFEARRAY * aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, InternalAndReservedMethod1IDnDBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDnDBase )( 
            IDnDSource * This);
        
        DECLSPEC_XFGVIRT(IDnDSource, get_InternalAndReservedAttribute1IDnDSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDnDSource )( 
            IDnDSource * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDSource, get_InternalAndReservedAttribute2IDnDSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDnDSource )( 
            IDnDSource * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDSource, DragIsPending)
        HRESULT ( STDMETHODCALLTYPE *DragIsPending )( 
            IDnDSource * This,
            /* [in] */ ULONG aScreenId,
            /* [out] */ SAFEARRAY * *aFormats,
            /* [out] */ SAFEARRAY * *aAllowedActions,
            /* [retval][out] */ DnDAction *aDefaultAction);
        
        DECLSPEC_XFGVIRT(IDnDSource, Drop)
        HRESULT ( STDMETHODCALLTYPE *Drop )( 
            IDnDSource * This,
            /* [in] */ BSTR aFormat,
            /* [in] */ DnDAction aAction,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IDnDSource, ReceiveData)
        HRESULT ( STDMETHODCALLTYPE *ReceiveData )( 
            IDnDSource * This,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IDnDSource, InternalAndReservedMethod1IDnDSource)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDnDSource )( 
            IDnDSource * This);
        
        END_INTERFACE
    } IDnDSourceVtbl;

    interface IDnDSource
    {
        CONST_VTBL struct IDnDSourceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDnDSource_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDnDSource_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDnDSource_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDnDSource_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDnDSource_get_Formats(This,aFormats)	\
    ( (This)->lpVtbl -> get_Formats(This,aFormats) ) 

#define IDnDSource_get_InternalAndReservedAttribute1IDnDBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDnDBase(This,aReserved) ) 

#define IDnDSource_get_InternalAndReservedAttribute2IDnDBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDnDBase(This,aReserved) ) 

#define IDnDSource_IsFormatSupported(This,aFormat,aSupported)	\
    ( (This)->lpVtbl -> IsFormatSupported(This,aFormat,aSupported) ) 

#define IDnDSource_AddFormats(This,aFormats)	\
    ( (This)->lpVtbl -> AddFormats(This,aFormats) ) 

#define IDnDSource_RemoveFormats(This,aFormats)	\
    ( (This)->lpVtbl -> RemoveFormats(This,aFormats) ) 

#define IDnDSource_InternalAndReservedMethod1IDnDBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDnDBase(This) ) 


#define IDnDSource_get_InternalAndReservedAttribute1IDnDSource(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDnDSource(This,aReserved) ) 

#define IDnDSource_get_InternalAndReservedAttribute2IDnDSource(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDnDSource(This,aReserved) ) 

#define IDnDSource_DragIsPending(This,aScreenId,aFormats,aAllowedActions,aDefaultAction)	\
    ( (This)->lpVtbl -> DragIsPending(This,aScreenId,aFormats,aAllowedActions,aDefaultAction) ) 

#define IDnDSource_Drop(This,aFormat,aAction,aProgress)	\
    ( (This)->lpVtbl -> Drop(This,aFormat,aAction,aProgress) ) 

#define IDnDSource_ReceiveData(This,aData)	\
    ( (This)->lpVtbl -> ReceiveData(This,aData) ) 

#define IDnDSource_InternalAndReservedMethod1IDnDSource(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDnDSource(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDnDSource_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0049 */
/* [local] */ 

#define COM_FORWARD_IDnDSource_DragIsPending_TO(smth) HRESULT STDMETHODCALLTYPE DragIsPending (ULONG aScreenId, SAFEARRAY * * aFormats, SAFEARRAY * * aAllowedActions, DnDAction * aDefaultAction) { return smth DragIsPending (aScreenId, aFormats, aAllowedActions, aDefaultAction); }
#define COM_FORWARD_IDnDSource_DragIsPending_TO_OBJ(obj) COM_FORWARD_IDnDSource_DragIsPending_TO ((obj)->)
#define COM_FORWARD_IDnDSource_DragIsPending_TO_BASE(base) COM_FORWARD_IDnDSource_DragIsPending_TO (base::)
#define COM_FORWARD_IDnDSource_Drop_TO(smth) HRESULT STDMETHODCALLTYPE Drop (BSTR aFormat, DnDAction aAction, IProgress * * aProgress) { return smth Drop (aFormat, aAction, aProgress); }
#define COM_FORWARD_IDnDSource_Drop_TO_OBJ(obj) COM_FORWARD_IDnDSource_Drop_TO ((obj)->)
#define COM_FORWARD_IDnDSource_Drop_TO_BASE(base) COM_FORWARD_IDnDSource_Drop_TO (base::)
#define COM_FORWARD_IDnDSource_ReceiveData_TO(smth) HRESULT STDMETHODCALLTYPE ReceiveData (SAFEARRAY * * aData) { return smth ReceiveData (aData); }
#define COM_FORWARD_IDnDSource_ReceiveData_TO_OBJ(obj) COM_FORWARD_IDnDSource_ReceiveData_TO ((obj)->)
#define COM_FORWARD_IDnDSource_ReceiveData_TO_BASE(base) COM_FORWARD_IDnDSource_ReceiveData_TO (base::)
#define COM_FORWARD_IDnDSource_TO(smth) COM_FORWARD_IDnDSource_DragIsPending_TO (smth) COM_FORWARD_IDnDSource_Drop_TO (smth) COM_FORWARD_IDnDSource_ReceiveData_TO (smth) 
#define COM_FORWARD_IDnDSource_TO_OBJ(obj) COM_FORWARD_IDnDSource_TO ((obj)->)
#define COM_FORWARD_IDnDSource_TO_BASE(base) COM_FORWARD_IDnDSource_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0049_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0049_v0_0_s_ifspec;

#ifndef __IGuestDnDSource_INTERFACE_DEFINED__
#define __IGuestDnDSource_INTERFACE_DEFINED__

/* interface IGuestDnDSource */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestDnDSource;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("dedfb5d9-4c1b-edf7-fdf3-c1be6827dc28")
    IGuestDnDSource : public IDnDSource
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestDnDSourceVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestDnDSource * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestDnDSource * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestDnDSource * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestDnDSource * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestDnDSource * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestDnDSource * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestDnDSource * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_Formats)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Formats )( 
            IGuestDnDSource * This,
            /* [retval][out] */ SAFEARRAY * *aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_InternalAndReservedAttribute1IDnDBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDnDBase )( 
            IGuestDnDSource * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_InternalAndReservedAttribute2IDnDBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDnDBase )( 
            IGuestDnDSource * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDBase, IsFormatSupported)
        HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
            IGuestDnDSource * This,
            /* [in] */ BSTR aFormat,
            /* [retval][out] */ BOOL *aSupported);
        
        DECLSPEC_XFGVIRT(IDnDBase, AddFormats)
        HRESULT ( STDMETHODCALLTYPE *AddFormats )( 
            IGuestDnDSource * This,
            /* [in] */ SAFEARRAY * aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, RemoveFormats)
        HRESULT ( STDMETHODCALLTYPE *RemoveFormats )( 
            IGuestDnDSource * This,
            /* [in] */ SAFEARRAY * aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, InternalAndReservedMethod1IDnDBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDnDBase )( 
            IGuestDnDSource * This);
        
        DECLSPEC_XFGVIRT(IDnDSource, get_InternalAndReservedAttribute1IDnDSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDnDSource )( 
            IGuestDnDSource * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDSource, get_InternalAndReservedAttribute2IDnDSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDnDSource )( 
            IGuestDnDSource * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDSource, DragIsPending)
        HRESULT ( STDMETHODCALLTYPE *DragIsPending )( 
            IGuestDnDSource * This,
            /* [in] */ ULONG aScreenId,
            /* [out] */ SAFEARRAY * *aFormats,
            /* [out] */ SAFEARRAY * *aAllowedActions,
            /* [retval][out] */ DnDAction *aDefaultAction);
        
        DECLSPEC_XFGVIRT(IDnDSource, Drop)
        HRESULT ( STDMETHODCALLTYPE *Drop )( 
            IGuestDnDSource * This,
            /* [in] */ BSTR aFormat,
            /* [in] */ DnDAction aAction,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IDnDSource, ReceiveData)
        HRESULT ( STDMETHODCALLTYPE *ReceiveData )( 
            IGuestDnDSource * This,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IDnDSource, InternalAndReservedMethod1IDnDSource)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDnDSource )( 
            IGuestDnDSource * This);
        
        DECLSPEC_XFGVIRT(IGuestDnDSource, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IGuestDnDSource * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IGuestDnDSourceVtbl;

    interface IGuestDnDSource
    {
        CONST_VTBL struct IGuestDnDSourceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestDnDSource_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestDnDSource_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestDnDSource_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestDnDSource_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestDnDSource_get_Formats(This,aFormats)	\
    ( (This)->lpVtbl -> get_Formats(This,aFormats) ) 

#define IGuestDnDSource_get_InternalAndReservedAttribute1IDnDBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDnDBase(This,aReserved) ) 

#define IGuestDnDSource_get_InternalAndReservedAttribute2IDnDBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDnDBase(This,aReserved) ) 

#define IGuestDnDSource_IsFormatSupported(This,aFormat,aSupported)	\
    ( (This)->lpVtbl -> IsFormatSupported(This,aFormat,aSupported) ) 

#define IGuestDnDSource_AddFormats(This,aFormats)	\
    ( (This)->lpVtbl -> AddFormats(This,aFormats) ) 

#define IGuestDnDSource_RemoveFormats(This,aFormats)	\
    ( (This)->lpVtbl -> RemoveFormats(This,aFormats) ) 

#define IGuestDnDSource_InternalAndReservedMethod1IDnDBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDnDBase(This) ) 


#define IGuestDnDSource_get_InternalAndReservedAttribute1IDnDSource(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDnDSource(This,aReserved) ) 

#define IGuestDnDSource_get_InternalAndReservedAttribute2IDnDSource(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDnDSource(This,aReserved) ) 

#define IGuestDnDSource_DragIsPending(This,aScreenId,aFormats,aAllowedActions,aDefaultAction)	\
    ( (This)->lpVtbl -> DragIsPending(This,aScreenId,aFormats,aAllowedActions,aDefaultAction) ) 

#define IGuestDnDSource_Drop(This,aFormat,aAction,aProgress)	\
    ( (This)->lpVtbl -> Drop(This,aFormat,aAction,aProgress) ) 

#define IGuestDnDSource_ReceiveData(This,aData)	\
    ( (This)->lpVtbl -> ReceiveData(This,aData) ) 

#define IGuestDnDSource_InternalAndReservedMethod1IDnDSource(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDnDSource(This) ) 


#define IGuestDnDSource_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestDnDSource_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0050 */
/* [local] */ 

#define COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IGuestDnDSource_TO(smth) COM_FORWARD_IGuestDnDSource_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IGuestDnDSource_TO_OBJ(obj) COM_FORWARD_IGuestDnDSource_TO ((obj)->)
#define COM_FORWARD_IGuestDnDSource_TO_BASE(base) COM_FORWARD_IGuestDnDSource_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0050_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0050_v0_0_s_ifspec;

#ifndef __IDnDTarget_INTERFACE_DEFINED__
#define __IDnDTarget_INTERFACE_DEFINED__

/* interface IDnDTarget */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDnDTarget;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ff5befc3-4ba3-7903-2aa4-43988ba11554")
    IDnDTarget : public IDnDBase
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDnDTarget( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDnDTarget( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Enter( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aX,
            /* [in] */ DnDAction aDefaultAction,
            /* [in] */ SAFEARRAY * aAllowedActions,
            /* [in] */ SAFEARRAY * aFormats,
            /* [retval][out] */ DnDAction *aResultAction) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ DnDAction aDefaultAction,
            /* [in] */ SAFEARRAY * aAllowedActions,
            /* [in] */ SAFEARRAY * aFormats,
            /* [retval][out] */ DnDAction *aResultAction) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Leave( 
            /* [in] */ ULONG aScreenId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Drop( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ DnDAction aDefaultAction,
            /* [in] */ SAFEARRAY * aAllowedActions,
            /* [in] */ SAFEARRAY * aFormats,
            /* [out] */ BSTR *aFormat,
            /* [retval][out] */ DnDAction *aResultAction) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SendData( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ BSTR aFormat,
            /* [in] */ SAFEARRAY * aData,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Cancel( 
            /* [retval][out] */ BOOL *aVeto) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IDnDTarget( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDnDTargetVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDnDTarget * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDnDTarget * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDnDTarget * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDnDTarget * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDnDTarget * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDnDTarget * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDnDTarget * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_Formats)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Formats )( 
            IDnDTarget * This,
            /* [retval][out] */ SAFEARRAY * *aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_InternalAndReservedAttribute1IDnDBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDnDBase )( 
            IDnDTarget * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_InternalAndReservedAttribute2IDnDBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDnDBase )( 
            IDnDTarget * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDBase, IsFormatSupported)
        HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
            IDnDTarget * This,
            /* [in] */ BSTR aFormat,
            /* [retval][out] */ BOOL *aSupported);
        
        DECLSPEC_XFGVIRT(IDnDBase, AddFormats)
        HRESULT ( STDMETHODCALLTYPE *AddFormats )( 
            IDnDTarget * This,
            /* [in] */ SAFEARRAY * aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, RemoveFormats)
        HRESULT ( STDMETHODCALLTYPE *RemoveFormats )( 
            IDnDTarget * This,
            /* [in] */ SAFEARRAY * aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, InternalAndReservedMethod1IDnDBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDnDBase )( 
            IDnDTarget * This);
        
        DECLSPEC_XFGVIRT(IDnDTarget, get_InternalAndReservedAttribute1IDnDTarget)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDnDTarget )( 
            IDnDTarget * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDTarget, get_InternalAndReservedAttribute2IDnDTarget)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDnDTarget )( 
            IDnDTarget * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDTarget, Enter)
        HRESULT ( STDMETHODCALLTYPE *Enter )( 
            IDnDTarget * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aX,
            /* [in] */ DnDAction aDefaultAction,
            /* [in] */ SAFEARRAY * aAllowedActions,
            /* [in] */ SAFEARRAY * aFormats,
            /* [retval][out] */ DnDAction *aResultAction);
        
        DECLSPEC_XFGVIRT(IDnDTarget, Move)
        HRESULT ( STDMETHODCALLTYPE *Move )( 
            IDnDTarget * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ DnDAction aDefaultAction,
            /* [in] */ SAFEARRAY * aAllowedActions,
            /* [in] */ SAFEARRAY * aFormats,
            /* [retval][out] */ DnDAction *aResultAction);
        
        DECLSPEC_XFGVIRT(IDnDTarget, Leave)
        HRESULT ( STDMETHODCALLTYPE *Leave )( 
            IDnDTarget * This,
            /* [in] */ ULONG aScreenId);
        
        DECLSPEC_XFGVIRT(IDnDTarget, Drop)
        HRESULT ( STDMETHODCALLTYPE *Drop )( 
            IDnDTarget * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ DnDAction aDefaultAction,
            /* [in] */ SAFEARRAY * aAllowedActions,
            /* [in] */ SAFEARRAY * aFormats,
            /* [out] */ BSTR *aFormat,
            /* [retval][out] */ DnDAction *aResultAction);
        
        DECLSPEC_XFGVIRT(IDnDTarget, SendData)
        HRESULT ( STDMETHODCALLTYPE *SendData )( 
            IDnDTarget * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ BSTR aFormat,
            /* [in] */ SAFEARRAY * aData,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IDnDTarget, Cancel)
        HRESULT ( STDMETHODCALLTYPE *Cancel )( 
            IDnDTarget * This,
            /* [retval][out] */ BOOL *aVeto);
        
        DECLSPEC_XFGVIRT(IDnDTarget, InternalAndReservedMethod1IDnDTarget)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDnDTarget )( 
            IDnDTarget * This);
        
        END_INTERFACE
    } IDnDTargetVtbl;

    interface IDnDTarget
    {
        CONST_VTBL struct IDnDTargetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDnDTarget_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDnDTarget_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDnDTarget_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDnDTarget_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDnDTarget_get_Formats(This,aFormats)	\
    ( (This)->lpVtbl -> get_Formats(This,aFormats) ) 

#define IDnDTarget_get_InternalAndReservedAttribute1IDnDBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDnDBase(This,aReserved) ) 

#define IDnDTarget_get_InternalAndReservedAttribute2IDnDBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDnDBase(This,aReserved) ) 

#define IDnDTarget_IsFormatSupported(This,aFormat,aSupported)	\
    ( (This)->lpVtbl -> IsFormatSupported(This,aFormat,aSupported) ) 

#define IDnDTarget_AddFormats(This,aFormats)	\
    ( (This)->lpVtbl -> AddFormats(This,aFormats) ) 

#define IDnDTarget_RemoveFormats(This,aFormats)	\
    ( (This)->lpVtbl -> RemoveFormats(This,aFormats) ) 

#define IDnDTarget_InternalAndReservedMethod1IDnDBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDnDBase(This) ) 


#define IDnDTarget_get_InternalAndReservedAttribute1IDnDTarget(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDnDTarget(This,aReserved) ) 

#define IDnDTarget_get_InternalAndReservedAttribute2IDnDTarget(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDnDTarget(This,aReserved) ) 

#define IDnDTarget_Enter(This,aScreenId,aY,aX,aDefaultAction,aAllowedActions,aFormats,aResultAction)	\
    ( (This)->lpVtbl -> Enter(This,aScreenId,aY,aX,aDefaultAction,aAllowedActions,aFormats,aResultAction) ) 

#define IDnDTarget_Move(This,aScreenId,aX,aY,aDefaultAction,aAllowedActions,aFormats,aResultAction)	\
    ( (This)->lpVtbl -> Move(This,aScreenId,aX,aY,aDefaultAction,aAllowedActions,aFormats,aResultAction) ) 

#define IDnDTarget_Leave(This,aScreenId)	\
    ( (This)->lpVtbl -> Leave(This,aScreenId) ) 

#define IDnDTarget_Drop(This,aScreenId,aX,aY,aDefaultAction,aAllowedActions,aFormats,aFormat,aResultAction)	\
    ( (This)->lpVtbl -> Drop(This,aScreenId,aX,aY,aDefaultAction,aAllowedActions,aFormats,aFormat,aResultAction) ) 

#define IDnDTarget_SendData(This,aScreenId,aFormat,aData,aProgress)	\
    ( (This)->lpVtbl -> SendData(This,aScreenId,aFormat,aData,aProgress) ) 

#define IDnDTarget_Cancel(This,aVeto)	\
    ( (This)->lpVtbl -> Cancel(This,aVeto) ) 

#define IDnDTarget_InternalAndReservedMethod1IDnDTarget(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDnDTarget(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDnDTarget_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0051 */
/* [local] */ 

#define COM_FORWARD_IDnDTarget_Enter_TO(smth) HRESULT STDMETHODCALLTYPE Enter (ULONG aScreenId, ULONG aY, ULONG aX, DnDAction aDefaultAction, SAFEARRAY * * aAllowedActions, SAFEARRAY * * aFormats, DnDAction * aResultAction) { return smth Enter (aScreenId, aY, aX, aDefaultAction, aAllowedActions, aFormats, aResultAction); }
#define COM_FORWARD_IDnDTarget_Enter_TO_OBJ(obj) COM_FORWARD_IDnDTarget_Enter_TO ((obj)->)
#define COM_FORWARD_IDnDTarget_Enter_TO_BASE(base) COM_FORWARD_IDnDTarget_Enter_TO (base::)
#define COM_FORWARD_IDnDTarget_Move_TO(smth) HRESULT STDMETHODCALLTYPE Move (ULONG aScreenId, ULONG aX, ULONG aY, DnDAction aDefaultAction, SAFEARRAY * * aAllowedActions, SAFEARRAY * * aFormats, DnDAction * aResultAction) { return smth Move (aScreenId, aX, aY, aDefaultAction, aAllowedActions, aFormats, aResultAction); }
#define COM_FORWARD_IDnDTarget_Move_TO_OBJ(obj) COM_FORWARD_IDnDTarget_Move_TO ((obj)->)
#define COM_FORWARD_IDnDTarget_Move_TO_BASE(base) COM_FORWARD_IDnDTarget_Move_TO (base::)
#define COM_FORWARD_IDnDTarget_Leave_TO(smth) HRESULT STDMETHODCALLTYPE Leave (ULONG aScreenId) { return smth Leave (aScreenId); }
#define COM_FORWARD_IDnDTarget_Leave_TO_OBJ(obj) COM_FORWARD_IDnDTarget_Leave_TO ((obj)->)
#define COM_FORWARD_IDnDTarget_Leave_TO_BASE(base) COM_FORWARD_IDnDTarget_Leave_TO (base::)
#define COM_FORWARD_IDnDTarget_Drop_TO(smth) HRESULT STDMETHODCALLTYPE Drop (ULONG aScreenId, ULONG aX, ULONG aY, DnDAction aDefaultAction, SAFEARRAY * * aAllowedActions, SAFEARRAY * * aFormats, BSTR * aFormat, DnDAction * aResultAction) { return smth Drop (aScreenId, aX, aY, aDefaultAction, aAllowedActions, aFormats, aFormat, aResultAction); }
#define COM_FORWARD_IDnDTarget_Drop_TO_OBJ(obj) COM_FORWARD_IDnDTarget_Drop_TO ((obj)->)
#define COM_FORWARD_IDnDTarget_Drop_TO_BASE(base) COM_FORWARD_IDnDTarget_Drop_TO (base::)
#define COM_FORWARD_IDnDTarget_SendData_TO(smth) HRESULT STDMETHODCALLTYPE SendData (ULONG aScreenId, BSTR aFormat, SAFEARRAY * * aData, IProgress * * aProgress) { return smth SendData (aScreenId, aFormat, aData, aProgress); }
#define COM_FORWARD_IDnDTarget_SendData_TO_OBJ(obj) COM_FORWARD_IDnDTarget_SendData_TO ((obj)->)
#define COM_FORWARD_IDnDTarget_SendData_TO_BASE(base) COM_FORWARD_IDnDTarget_SendData_TO (base::)
#define COM_FORWARD_IDnDTarget_Cancel_TO(smth) HRESULT STDMETHODCALLTYPE Cancel (BOOL * aVeto) { return smth Cancel (aVeto); }
#define COM_FORWARD_IDnDTarget_Cancel_TO_OBJ(obj) COM_FORWARD_IDnDTarget_Cancel_TO ((obj)->)
#define COM_FORWARD_IDnDTarget_Cancel_TO_BASE(base) COM_FORWARD_IDnDTarget_Cancel_TO (base::)
#define COM_FORWARD_IDnDTarget_TO(smth) COM_FORWARD_IDnDTarget_Enter_TO (smth) COM_FORWARD_IDnDTarget_Move_TO (smth) COM_FORWARD_IDnDTarget_Leave_TO (smth) COM_FORWARD_IDnDTarget_Drop_TO (smth) COM_FORWARD_IDnDTarget_SendData_TO (smth) COM_FORWARD_IDnDTarget_Cancel_TO (smth) 
#define COM_FORWARD_IDnDTarget_TO_OBJ(obj) COM_FORWARD_IDnDTarget_TO ((obj)->)
#define COM_FORWARD_IDnDTarget_TO_BASE(base) COM_FORWARD_IDnDTarget_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0051_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0051_v0_0_s_ifspec;

#ifndef __IGuestDnDTarget_INTERFACE_DEFINED__
#define __IGuestDnDTarget_INTERFACE_DEFINED__

/* interface IGuestDnDTarget */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestDnDTarget;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("50ce4b51-0ff7-46b7-a138-3c6e5ac946b4")
    IGuestDnDTarget : public IDnDTarget
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestDnDTargetVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestDnDTarget * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestDnDTarget * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestDnDTarget * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestDnDTarget * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestDnDTarget * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestDnDTarget * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestDnDTarget * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_Formats)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Formats )( 
            IGuestDnDTarget * This,
            /* [retval][out] */ SAFEARRAY * *aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_InternalAndReservedAttribute1IDnDBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDnDBase )( 
            IGuestDnDTarget * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDBase, get_InternalAndReservedAttribute2IDnDBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDnDBase )( 
            IGuestDnDTarget * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDBase, IsFormatSupported)
        HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
            IGuestDnDTarget * This,
            /* [in] */ BSTR aFormat,
            /* [retval][out] */ BOOL *aSupported);
        
        DECLSPEC_XFGVIRT(IDnDBase, AddFormats)
        HRESULT ( STDMETHODCALLTYPE *AddFormats )( 
            IGuestDnDTarget * This,
            /* [in] */ SAFEARRAY * aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, RemoveFormats)
        HRESULT ( STDMETHODCALLTYPE *RemoveFormats )( 
            IGuestDnDTarget * This,
            /* [in] */ SAFEARRAY * aFormats);
        
        DECLSPEC_XFGVIRT(IDnDBase, InternalAndReservedMethod1IDnDBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDnDBase )( 
            IGuestDnDTarget * This);
        
        DECLSPEC_XFGVIRT(IDnDTarget, get_InternalAndReservedAttribute1IDnDTarget)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDnDTarget )( 
            IGuestDnDTarget * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDTarget, get_InternalAndReservedAttribute2IDnDTarget)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDnDTarget )( 
            IGuestDnDTarget * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDnDTarget, Enter)
        HRESULT ( STDMETHODCALLTYPE *Enter )( 
            IGuestDnDTarget * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aX,
            /* [in] */ DnDAction aDefaultAction,
            /* [in] */ SAFEARRAY * aAllowedActions,
            /* [in] */ SAFEARRAY * aFormats,
            /* [retval][out] */ DnDAction *aResultAction);
        
        DECLSPEC_XFGVIRT(IDnDTarget, Move)
        HRESULT ( STDMETHODCALLTYPE *Move )( 
            IGuestDnDTarget * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ DnDAction aDefaultAction,
            /* [in] */ SAFEARRAY * aAllowedActions,
            /* [in] */ SAFEARRAY * aFormats,
            /* [retval][out] */ DnDAction *aResultAction);
        
        DECLSPEC_XFGVIRT(IDnDTarget, Leave)
        HRESULT ( STDMETHODCALLTYPE *Leave )( 
            IGuestDnDTarget * This,
            /* [in] */ ULONG aScreenId);
        
        DECLSPEC_XFGVIRT(IDnDTarget, Drop)
        HRESULT ( STDMETHODCALLTYPE *Drop )( 
            IGuestDnDTarget * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ DnDAction aDefaultAction,
            /* [in] */ SAFEARRAY * aAllowedActions,
            /* [in] */ SAFEARRAY * aFormats,
            /* [out] */ BSTR *aFormat,
            /* [retval][out] */ DnDAction *aResultAction);
        
        DECLSPEC_XFGVIRT(IDnDTarget, SendData)
        HRESULT ( STDMETHODCALLTYPE *SendData )( 
            IGuestDnDTarget * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ BSTR aFormat,
            /* [in] */ SAFEARRAY * aData,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IDnDTarget, Cancel)
        HRESULT ( STDMETHODCALLTYPE *Cancel )( 
            IGuestDnDTarget * This,
            /* [retval][out] */ BOOL *aVeto);
        
        DECLSPEC_XFGVIRT(IDnDTarget, InternalAndReservedMethod1IDnDTarget)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDnDTarget )( 
            IGuestDnDTarget * This);
        
        DECLSPEC_XFGVIRT(IGuestDnDTarget, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IGuestDnDTarget * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IGuestDnDTargetVtbl;

    interface IGuestDnDTarget
    {
        CONST_VTBL struct IGuestDnDTargetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestDnDTarget_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestDnDTarget_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestDnDTarget_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestDnDTarget_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestDnDTarget_get_Formats(This,aFormats)	\
    ( (This)->lpVtbl -> get_Formats(This,aFormats) ) 

#define IGuestDnDTarget_get_InternalAndReservedAttribute1IDnDBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDnDBase(This,aReserved) ) 

#define IGuestDnDTarget_get_InternalAndReservedAttribute2IDnDBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDnDBase(This,aReserved) ) 

#define IGuestDnDTarget_IsFormatSupported(This,aFormat,aSupported)	\
    ( (This)->lpVtbl -> IsFormatSupported(This,aFormat,aSupported) ) 

#define IGuestDnDTarget_AddFormats(This,aFormats)	\
    ( (This)->lpVtbl -> AddFormats(This,aFormats) ) 

#define IGuestDnDTarget_RemoveFormats(This,aFormats)	\
    ( (This)->lpVtbl -> RemoveFormats(This,aFormats) ) 

#define IGuestDnDTarget_InternalAndReservedMethod1IDnDBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDnDBase(This) ) 


#define IGuestDnDTarget_get_InternalAndReservedAttribute1IDnDTarget(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDnDTarget(This,aReserved) ) 

#define IGuestDnDTarget_get_InternalAndReservedAttribute2IDnDTarget(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDnDTarget(This,aReserved) ) 

#define IGuestDnDTarget_Enter(This,aScreenId,aY,aX,aDefaultAction,aAllowedActions,aFormats,aResultAction)	\
    ( (This)->lpVtbl -> Enter(This,aScreenId,aY,aX,aDefaultAction,aAllowedActions,aFormats,aResultAction) ) 

#define IGuestDnDTarget_Move(This,aScreenId,aX,aY,aDefaultAction,aAllowedActions,aFormats,aResultAction)	\
    ( (This)->lpVtbl -> Move(This,aScreenId,aX,aY,aDefaultAction,aAllowedActions,aFormats,aResultAction) ) 

#define IGuestDnDTarget_Leave(This,aScreenId)	\
    ( (This)->lpVtbl -> Leave(This,aScreenId) ) 

#define IGuestDnDTarget_Drop(This,aScreenId,aX,aY,aDefaultAction,aAllowedActions,aFormats,aFormat,aResultAction)	\
    ( (This)->lpVtbl -> Drop(This,aScreenId,aX,aY,aDefaultAction,aAllowedActions,aFormats,aFormat,aResultAction) ) 

#define IGuestDnDTarget_SendData(This,aScreenId,aFormat,aData,aProgress)	\
    ( (This)->lpVtbl -> SendData(This,aScreenId,aFormat,aData,aProgress) ) 

#define IGuestDnDTarget_Cancel(This,aVeto)	\
    ( (This)->lpVtbl -> Cancel(This,aVeto) ) 

#define IGuestDnDTarget_InternalAndReservedMethod1IDnDTarget(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDnDTarget(This) ) 


#define IGuestDnDTarget_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestDnDTarget_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0052 */
/* [local] */ 

#define COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IGuestDnDTarget_TO(smth) COM_FORWARD_IGuestDnDTarget_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IGuestDnDTarget_TO_OBJ(obj) COM_FORWARD_IGuestDnDTarget_TO ((obj)->)
#define COM_FORWARD_IGuestDnDTarget_TO_BASE(base) COM_FORWARD_IGuestDnDTarget_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0052_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0052_v0_0_s_ifspec;

#ifndef __IGuestSession_INTERFACE_DEFINED__
#define __IGuestSession_INTERFACE_DEFINED__

/* interface IGuestSession */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestSession;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8b2b6773-8b5a-4cd2-95f8-38faf73913e1")
    IGuestSession : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_User( 
            /* [retval][out] */ BSTR *aUser) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Domain( 
            /* [retval][out] */ BSTR *aDomain) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ ULONG *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Timeout( 
            /* [retval][out] */ ULONG *aTimeout) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Timeout( 
            /* [in] */ ULONG aTimeout) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProtocolVersion( 
            /* [retval][out] */ ULONG *aProtocolVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ GuestSessionStatus *aStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnvironmentChanges( 
            /* [retval][out] */ SAFEARRAY * *aEnvironmentChanges) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnvironmentChanges( 
            /* [in] */ SAFEARRAY * aEnvironmentChanges) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnvironmentBase( 
            /* [retval][out] */ SAFEARRAY * *aEnvironmentBase) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Processes( 
            /* [retval][out] */ SAFEARRAY * *aProcesses) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PathStyle( 
            /* [retval][out] */ PathStyle *aPathStyle) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CurrentDirectory( 
            /* [retval][out] */ BSTR *aCurrentDirectory) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CurrentDirectory( 
            /* [in] */ BSTR aCurrentDirectory) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UserHome( 
            /* [retval][out] */ BSTR *aUserHome) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UserDocuments( 
            /* [retval][out] */ BSTR *aUserDocuments) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MountPoints( 
            /* [retval][out] */ SAFEARRAY * *aMountPoints) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Directories( 
            /* [retval][out] */ SAFEARRAY * *aDirectories) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Files( 
            /* [retval][out] */ SAFEARRAY * *aFiles) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IGuestSession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CopyFromGuest( 
            /* [in] */ SAFEARRAY * aSources,
            /* [in] */ SAFEARRAY * aFilters,
            /* [in] */ SAFEARRAY * aFlags,
            /* [in] */ BSTR aDestination,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CopyToGuest( 
            /* [in] */ SAFEARRAY * aSources,
            /* [in] */ SAFEARRAY * aFilters,
            /* [in] */ SAFEARRAY * aFlags,
            /* [in] */ BSTR aDestination,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DirectoryCopy( 
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DirectoryCopyFromGuest( 
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DirectoryCopyToGuest( 
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DirectoryCreate( 
            /* [in] */ BSTR aPath,
            /* [in] */ ULONG aMode,
            /* [in] */ SAFEARRAY * aFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DirectoryCreateTemp( 
            /* [in] */ BSTR aTemplateName,
            /* [in] */ ULONG aMode,
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aSecure,
            /* [retval][out] */ BSTR *aDirectory) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DirectoryExists( 
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [retval][out] */ BOOL *aExists) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DirectoryOpen( 
            /* [in] */ BSTR aPath,
            /* [in] */ BSTR aFilter,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IGuestDirectory **aDirectory) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DirectoryRemove( 
            /* [in] */ BSTR aPath) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DirectoryRemoveRecursive( 
            /* [in] */ BSTR aPath,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnvironmentScheduleSet( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnvironmentScheduleUnset( 
            /* [in] */ BSTR aName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnvironmentGetBaseVariable( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnvironmentDoesBaseVariableExist( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ BOOL *aExists) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FileCopy( 
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FileCopyFromGuest( 
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FileCopyToGuest( 
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FileCreateTemp( 
            /* [in] */ BSTR aTemplateName,
            /* [in] */ ULONG aMode,
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aSecure,
            /* [retval][out] */ IGuestFile **aFile) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FileExists( 
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [retval][out] */ BOOL *aExists) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FileOpen( 
            /* [in] */ BSTR aPath,
            /* [in] */ FileAccessMode aAccessMode,
            /* [in] */ FileOpenAction aOpenAction,
            /* [in] */ ULONG aCreationMode,
            /* [retval][out] */ IGuestFile **aFile) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FileOpenEx( 
            /* [in] */ BSTR aPath,
            /* [in] */ FileAccessMode aAccessMode,
            /* [in] */ FileOpenAction aOpenAction,
            /* [in] */ FileSharingMode aSharingMode,
            /* [in] */ ULONG aCreationMode,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IGuestFile **aFile) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FileQuerySize( 
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [retval][out] */ LONG64 *aSize) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FsObjExists( 
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [retval][out] */ BOOL *aExists) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FsObjQueryInfo( 
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [retval][out] */ IGuestFsObjInfo **aInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FsObjRemove( 
            /* [in] */ BSTR aPath) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FsObjRemoveArray( 
            /* [in] */ SAFEARRAY * aPath,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FsObjRename( 
            /* [in] */ BSTR aOldPath,
            /* [in] */ BSTR aNewPath,
            /* [in] */ SAFEARRAY * aFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FsObjMove( 
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FsObjMoveArray( 
            /* [in] */ SAFEARRAY * aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FsObjCopyArray( 
            /* [in] */ SAFEARRAY * aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FsObjSetACL( 
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [in] */ BSTR aAcl,
            /* [in] */ ULONG aMode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FsQueryFreeSpace( 
            /* [in] */ BSTR aPath,
            /* [retval][out] */ LONG64 *aFreeSpace) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FsQueryInfo( 
            /* [in] */ BSTR aPath,
            /* [retval][out] */ IGuestFsInfo **aInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ProcessCreate( 
            /* [in] */ BSTR aExecutable,
            /* [in] */ SAFEARRAY * aArguments,
            /* [in] */ BSTR aCwd,
            /* [in] */ SAFEARRAY * aEnvironmentChanges,
            /* [in] */ SAFEARRAY * aFlags,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ IGuestProcess **aGuestProcess) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ProcessCreateEx( 
            /* [in] */ BSTR aExecutable,
            /* [in] */ SAFEARRAY * aArguments,
            /* [in] */ BSTR aCwd,
            /* [in] */ SAFEARRAY * aEnvironmentChanges,
            /* [in] */ SAFEARRAY * aFlags,
            /* [in] */ ULONG aTimeoutMS,
            /* [in] */ ProcessPriority aPriority,
            /* [in] */ SAFEARRAY * aAffinity,
            /* [retval][out] */ IGuestProcess **aGuestProcess) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ProcessGet( 
            /* [in] */ ULONG aPid,
            /* [retval][out] */ IGuestProcess **aGuestProcess) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SymlinkCreate( 
            /* [in] */ BSTR aSymlink,
            /* [in] */ BSTR aTarget,
            /* [in] */ SymlinkType aType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SymlinkExists( 
            /* [in] */ BSTR aSymlink,
            /* [retval][out] */ BOOL *aExists) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SymlinkRead( 
            /* [in] */ BSTR aSymlink,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ BSTR *aTarget) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WaitFor( 
            /* [in] */ ULONG aWaitFor,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ GuestSessionWaitResult *aReason) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WaitForArray( 
            /* [in] */ SAFEARRAY * aWaitFor,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ GuestSessionWaitResult *aReason) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IGuestSession( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IGuestSession( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IGuestSession( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IGuestSession( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IGuestSession( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IGuestSession( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IGuestSession( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IGuestSession( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestSessionVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestSession * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestSession * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestSession * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestSession * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestSession * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestSession * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestSession * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_User)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_User )( 
            IGuestSession * This,
            /* [retval][out] */ BSTR *aUser);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_Domain)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( 
            IGuestSession * This,
            /* [retval][out] */ BSTR *aDomain);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IGuestSession * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aId);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_Timeout)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Timeout )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aTimeout);
        
        DECLSPEC_XFGVIRT(IGuestSession, put_Timeout)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Timeout )( 
            IGuestSession * This,
            /* [in] */ ULONG aTimeout);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_ProtocolVersion)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProtocolVersion )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aProtocolVersion);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IGuestSession * This,
            /* [retval][out] */ GuestSessionStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_EnvironmentChanges)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnvironmentChanges )( 
            IGuestSession * This,
            /* [retval][out] */ SAFEARRAY * *aEnvironmentChanges);
        
        DECLSPEC_XFGVIRT(IGuestSession, put_EnvironmentChanges)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnvironmentChanges )( 
            IGuestSession * This,
            /* [in] */ SAFEARRAY * aEnvironmentChanges);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_EnvironmentBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnvironmentBase )( 
            IGuestSession * This,
            /* [retval][out] */ SAFEARRAY * *aEnvironmentBase);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_Processes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Processes )( 
            IGuestSession * This,
            /* [retval][out] */ SAFEARRAY * *aProcesses);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_PathStyle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PathStyle )( 
            IGuestSession * This,
            /* [retval][out] */ PathStyle *aPathStyle);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_CurrentDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentDirectory )( 
            IGuestSession * This,
            /* [retval][out] */ BSTR *aCurrentDirectory);
        
        DECLSPEC_XFGVIRT(IGuestSession, put_CurrentDirectory)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentDirectory )( 
            IGuestSession * This,
            /* [in] */ BSTR aCurrentDirectory);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_UserHome)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserHome )( 
            IGuestSession * This,
            /* [retval][out] */ BSTR *aUserHome);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_UserDocuments)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserDocuments )( 
            IGuestSession * This,
            /* [retval][out] */ BSTR *aUserDocuments);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_MountPoints)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MountPoints )( 
            IGuestSession * This,
            /* [retval][out] */ SAFEARRAY * *aMountPoints);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_Directories)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Directories )( 
            IGuestSession * This,
            /* [retval][out] */ SAFEARRAY * *aDirectories);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_Files)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Files )( 
            IGuestSession * This,
            /* [retval][out] */ SAFEARRAY * *aFiles);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IGuestSession * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute1IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute2IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute3IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute4IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute5IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute6IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute7IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute8IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute9IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute10IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute11IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, get_InternalAndReservedAttribute12IGuestSession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IGuestSession )( 
            IGuestSession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestSession, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            IGuestSession * This);
        
        DECLSPEC_XFGVIRT(IGuestSession, CopyFromGuest)
        HRESULT ( STDMETHODCALLTYPE *CopyFromGuest )( 
            IGuestSession * This,
            /* [in] */ SAFEARRAY * aSources,
            /* [in] */ SAFEARRAY * aFilters,
            /* [in] */ SAFEARRAY * aFlags,
            /* [in] */ BSTR aDestination,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, CopyToGuest)
        HRESULT ( STDMETHODCALLTYPE *CopyToGuest )( 
            IGuestSession * This,
            /* [in] */ SAFEARRAY * aSources,
            /* [in] */ SAFEARRAY * aFilters,
            /* [in] */ SAFEARRAY * aFlags,
            /* [in] */ BSTR aDestination,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, DirectoryCopy)
        HRESULT ( STDMETHODCALLTYPE *DirectoryCopy )( 
            IGuestSession * This,
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, DirectoryCopyFromGuest)
        HRESULT ( STDMETHODCALLTYPE *DirectoryCopyFromGuest )( 
            IGuestSession * This,
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, DirectoryCopyToGuest)
        HRESULT ( STDMETHODCALLTYPE *DirectoryCopyToGuest )( 
            IGuestSession * This,
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, DirectoryCreate)
        HRESULT ( STDMETHODCALLTYPE *DirectoryCreate )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [in] */ ULONG aMode,
            /* [in] */ SAFEARRAY * aFlags);
        
        DECLSPEC_XFGVIRT(IGuestSession, DirectoryCreateTemp)
        HRESULT ( STDMETHODCALLTYPE *DirectoryCreateTemp )( 
            IGuestSession * This,
            /* [in] */ BSTR aTemplateName,
            /* [in] */ ULONG aMode,
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aSecure,
            /* [retval][out] */ BSTR *aDirectory);
        
        DECLSPEC_XFGVIRT(IGuestSession, DirectoryExists)
        HRESULT ( STDMETHODCALLTYPE *DirectoryExists )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [retval][out] */ BOOL *aExists);
        
        DECLSPEC_XFGVIRT(IGuestSession, DirectoryOpen)
        HRESULT ( STDMETHODCALLTYPE *DirectoryOpen )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [in] */ BSTR aFilter,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IGuestDirectory **aDirectory);
        
        DECLSPEC_XFGVIRT(IGuestSession, DirectoryRemove)
        HRESULT ( STDMETHODCALLTYPE *DirectoryRemove )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath);
        
        DECLSPEC_XFGVIRT(IGuestSession, DirectoryRemoveRecursive)
        HRESULT ( STDMETHODCALLTYPE *DirectoryRemoveRecursive )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, EnvironmentScheduleSet)
        HRESULT ( STDMETHODCALLTYPE *EnvironmentScheduleSet )( 
            IGuestSession * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IGuestSession, EnvironmentScheduleUnset)
        HRESULT ( STDMETHODCALLTYPE *EnvironmentScheduleUnset )( 
            IGuestSession * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IGuestSession, EnvironmentGetBaseVariable)
        HRESULT ( STDMETHODCALLTYPE *EnvironmentGetBaseVariable )( 
            IGuestSession * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IGuestSession, EnvironmentDoesBaseVariableExist)
        HRESULT ( STDMETHODCALLTYPE *EnvironmentDoesBaseVariableExist )( 
            IGuestSession * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ BOOL *aExists);
        
        DECLSPEC_XFGVIRT(IGuestSession, FileCopy)
        HRESULT ( STDMETHODCALLTYPE *FileCopy )( 
            IGuestSession * This,
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, FileCopyFromGuest)
        HRESULT ( STDMETHODCALLTYPE *FileCopyFromGuest )( 
            IGuestSession * This,
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, FileCopyToGuest)
        HRESULT ( STDMETHODCALLTYPE *FileCopyToGuest )( 
            IGuestSession * This,
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, FileCreateTemp)
        HRESULT ( STDMETHODCALLTYPE *FileCreateTemp )( 
            IGuestSession * This,
            /* [in] */ BSTR aTemplateName,
            /* [in] */ ULONG aMode,
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aSecure,
            /* [retval][out] */ IGuestFile **aFile);
        
        DECLSPEC_XFGVIRT(IGuestSession, FileExists)
        HRESULT ( STDMETHODCALLTYPE *FileExists )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [retval][out] */ BOOL *aExists);
        
        DECLSPEC_XFGVIRT(IGuestSession, FileOpen)
        HRESULT ( STDMETHODCALLTYPE *FileOpen )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [in] */ FileAccessMode aAccessMode,
            /* [in] */ FileOpenAction aOpenAction,
            /* [in] */ ULONG aCreationMode,
            /* [retval][out] */ IGuestFile **aFile);
        
        DECLSPEC_XFGVIRT(IGuestSession, FileOpenEx)
        HRESULT ( STDMETHODCALLTYPE *FileOpenEx )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [in] */ FileAccessMode aAccessMode,
            /* [in] */ FileOpenAction aOpenAction,
            /* [in] */ FileSharingMode aSharingMode,
            /* [in] */ ULONG aCreationMode,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IGuestFile **aFile);
        
        DECLSPEC_XFGVIRT(IGuestSession, FileQuerySize)
        HRESULT ( STDMETHODCALLTYPE *FileQuerySize )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [retval][out] */ LONG64 *aSize);
        
        DECLSPEC_XFGVIRT(IGuestSession, FsObjExists)
        HRESULT ( STDMETHODCALLTYPE *FsObjExists )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [retval][out] */ BOOL *aExists);
        
        DECLSPEC_XFGVIRT(IGuestSession, FsObjQueryInfo)
        HRESULT ( STDMETHODCALLTYPE *FsObjQueryInfo )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [retval][out] */ IGuestFsObjInfo **aInfo);
        
        DECLSPEC_XFGVIRT(IGuestSession, FsObjRemove)
        HRESULT ( STDMETHODCALLTYPE *FsObjRemove )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath);
        
        DECLSPEC_XFGVIRT(IGuestSession, FsObjRemoveArray)
        HRESULT ( STDMETHODCALLTYPE *FsObjRemoveArray )( 
            IGuestSession * This,
            /* [in] */ SAFEARRAY * aPath,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, FsObjRename)
        HRESULT ( STDMETHODCALLTYPE *FsObjRename )( 
            IGuestSession * This,
            /* [in] */ BSTR aOldPath,
            /* [in] */ BSTR aNewPath,
            /* [in] */ SAFEARRAY * aFlags);
        
        DECLSPEC_XFGVIRT(IGuestSession, FsObjMove)
        HRESULT ( STDMETHODCALLTYPE *FsObjMove )( 
            IGuestSession * This,
            /* [in] */ BSTR aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, FsObjMoveArray)
        HRESULT ( STDMETHODCALLTYPE *FsObjMoveArray )( 
            IGuestSession * This,
            /* [in] */ SAFEARRAY * aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, FsObjCopyArray)
        HRESULT ( STDMETHODCALLTYPE *FsObjCopyArray )( 
            IGuestSession * This,
            /* [in] */ SAFEARRAY * aSource,
            /* [in] */ BSTR aDestination,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuestSession, FsObjSetACL)
        HRESULT ( STDMETHODCALLTYPE *FsObjSetACL )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [in] */ BOOL aFollowSymlinks,
            /* [in] */ BSTR aAcl,
            /* [in] */ ULONG aMode);
        
        DECLSPEC_XFGVIRT(IGuestSession, FsQueryFreeSpace)
        HRESULT ( STDMETHODCALLTYPE *FsQueryFreeSpace )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [retval][out] */ LONG64 *aFreeSpace);
        
        DECLSPEC_XFGVIRT(IGuestSession, FsQueryInfo)
        HRESULT ( STDMETHODCALLTYPE *FsQueryInfo )( 
            IGuestSession * This,
            /* [in] */ BSTR aPath,
            /* [retval][out] */ IGuestFsInfo **aInfo);
        
        DECLSPEC_XFGVIRT(IGuestSession, ProcessCreate)
        HRESULT ( STDMETHODCALLTYPE *ProcessCreate )( 
            IGuestSession * This,
            /* [in] */ BSTR aExecutable,
            /* [in] */ SAFEARRAY * aArguments,
            /* [in] */ BSTR aCwd,
            /* [in] */ SAFEARRAY * aEnvironmentChanges,
            /* [in] */ SAFEARRAY * aFlags,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ IGuestProcess **aGuestProcess);
        
        DECLSPEC_XFGVIRT(IGuestSession, ProcessCreateEx)
        HRESULT ( STDMETHODCALLTYPE *ProcessCreateEx )( 
            IGuestSession * This,
            /* [in] */ BSTR aExecutable,
            /* [in] */ SAFEARRAY * aArguments,
            /* [in] */ BSTR aCwd,
            /* [in] */ SAFEARRAY * aEnvironmentChanges,
            /* [in] */ SAFEARRAY * aFlags,
            /* [in] */ ULONG aTimeoutMS,
            /* [in] */ ProcessPriority aPriority,
            /* [in] */ SAFEARRAY * aAffinity,
            /* [retval][out] */ IGuestProcess **aGuestProcess);
        
        DECLSPEC_XFGVIRT(IGuestSession, ProcessGet)
        HRESULT ( STDMETHODCALLTYPE *ProcessGet )( 
            IGuestSession * This,
            /* [in] */ ULONG aPid,
            /* [retval][out] */ IGuestProcess **aGuestProcess);
        
        DECLSPEC_XFGVIRT(IGuestSession, SymlinkCreate)
        HRESULT ( STDMETHODCALLTYPE *SymlinkCreate )( 
            IGuestSession * This,
            /* [in] */ BSTR aSymlink,
            /* [in] */ BSTR aTarget,
            /* [in] */ SymlinkType aType);
        
        DECLSPEC_XFGVIRT(IGuestSession, SymlinkExists)
        HRESULT ( STDMETHODCALLTYPE *SymlinkExists )( 
            IGuestSession * This,
            /* [in] */ BSTR aSymlink,
            /* [retval][out] */ BOOL *aExists);
        
        DECLSPEC_XFGVIRT(IGuestSession, SymlinkRead)
        HRESULT ( STDMETHODCALLTYPE *SymlinkRead )( 
            IGuestSession * This,
            /* [in] */ BSTR aSymlink,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ BSTR *aTarget);
        
        DECLSPEC_XFGVIRT(IGuestSession, WaitFor)
        HRESULT ( STDMETHODCALLTYPE *WaitFor )( 
            IGuestSession * This,
            /* [in] */ ULONG aWaitFor,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ GuestSessionWaitResult *aReason);
        
        DECLSPEC_XFGVIRT(IGuestSession, WaitForArray)
        HRESULT ( STDMETHODCALLTYPE *WaitForArray )( 
            IGuestSession * This,
            /* [in] */ SAFEARRAY * aWaitFor,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ GuestSessionWaitResult *aReason);
        
        DECLSPEC_XFGVIRT(IGuestSession, InternalAndReservedMethod1IGuestSession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IGuestSession )( 
            IGuestSession * This);
        
        DECLSPEC_XFGVIRT(IGuestSession, InternalAndReservedMethod2IGuestSession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IGuestSession )( 
            IGuestSession * This);
        
        DECLSPEC_XFGVIRT(IGuestSession, InternalAndReservedMethod3IGuestSession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IGuestSession )( 
            IGuestSession * This);
        
        DECLSPEC_XFGVIRT(IGuestSession, InternalAndReservedMethod4IGuestSession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IGuestSession )( 
            IGuestSession * This);
        
        DECLSPEC_XFGVIRT(IGuestSession, InternalAndReservedMethod5IGuestSession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IGuestSession )( 
            IGuestSession * This);
        
        DECLSPEC_XFGVIRT(IGuestSession, InternalAndReservedMethod6IGuestSession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IGuestSession )( 
            IGuestSession * This);
        
        DECLSPEC_XFGVIRT(IGuestSession, InternalAndReservedMethod7IGuestSession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IGuestSession )( 
            IGuestSession * This);
        
        DECLSPEC_XFGVIRT(IGuestSession, InternalAndReservedMethod8IGuestSession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IGuestSession )( 
            IGuestSession * This);
        
        END_INTERFACE
    } IGuestSessionVtbl;

    interface IGuestSession
    {
        CONST_VTBL struct IGuestSessionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestSession_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestSession_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestSession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestSession_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestSession_get_User(This,aUser)	\
    ( (This)->lpVtbl -> get_User(This,aUser) ) 

#define IGuestSession_get_Domain(This,aDomain)	\
    ( (This)->lpVtbl -> get_Domain(This,aDomain) ) 

#define IGuestSession_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IGuestSession_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IGuestSession_get_Timeout(This,aTimeout)	\
    ( (This)->lpVtbl -> get_Timeout(This,aTimeout) ) 

#define IGuestSession_put_Timeout(This,aTimeout)	\
    ( (This)->lpVtbl -> put_Timeout(This,aTimeout) ) 

#define IGuestSession_get_ProtocolVersion(This,aProtocolVersion)	\
    ( (This)->lpVtbl -> get_ProtocolVersion(This,aProtocolVersion) ) 

#define IGuestSession_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IGuestSession_get_EnvironmentChanges(This,aEnvironmentChanges)	\
    ( (This)->lpVtbl -> get_EnvironmentChanges(This,aEnvironmentChanges) ) 

#define IGuestSession_put_EnvironmentChanges(This,aEnvironmentChanges)	\
    ( (This)->lpVtbl -> put_EnvironmentChanges(This,aEnvironmentChanges) ) 

#define IGuestSession_get_EnvironmentBase(This,aEnvironmentBase)	\
    ( (This)->lpVtbl -> get_EnvironmentBase(This,aEnvironmentBase) ) 

#define IGuestSession_get_Processes(This,aProcesses)	\
    ( (This)->lpVtbl -> get_Processes(This,aProcesses) ) 

#define IGuestSession_get_PathStyle(This,aPathStyle)	\
    ( (This)->lpVtbl -> get_PathStyle(This,aPathStyle) ) 

#define IGuestSession_get_CurrentDirectory(This,aCurrentDirectory)	\
    ( (This)->lpVtbl -> get_CurrentDirectory(This,aCurrentDirectory) ) 

#define IGuestSession_put_CurrentDirectory(This,aCurrentDirectory)	\
    ( (This)->lpVtbl -> put_CurrentDirectory(This,aCurrentDirectory) ) 

#define IGuestSession_get_UserHome(This,aUserHome)	\
    ( (This)->lpVtbl -> get_UserHome(This,aUserHome) ) 

#define IGuestSession_get_UserDocuments(This,aUserDocuments)	\
    ( (This)->lpVtbl -> get_UserDocuments(This,aUserDocuments) ) 

#define IGuestSession_get_MountPoints(This,aMountPoints)	\
    ( (This)->lpVtbl -> get_MountPoints(This,aMountPoints) ) 

#define IGuestSession_get_Directories(This,aDirectories)	\
    ( (This)->lpVtbl -> get_Directories(This,aDirectories) ) 

#define IGuestSession_get_Files(This,aFiles)	\
    ( (This)->lpVtbl -> get_Files(This,aFiles) ) 

#define IGuestSession_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IGuestSession_get_InternalAndReservedAttribute1IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IGuestSession(This,aReserved) ) 

#define IGuestSession_get_InternalAndReservedAttribute2IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IGuestSession(This,aReserved) ) 

#define IGuestSession_get_InternalAndReservedAttribute3IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IGuestSession(This,aReserved) ) 

#define IGuestSession_get_InternalAndReservedAttribute4IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IGuestSession(This,aReserved) ) 

#define IGuestSession_get_InternalAndReservedAttribute5IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IGuestSession(This,aReserved) ) 

#define IGuestSession_get_InternalAndReservedAttribute6IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IGuestSession(This,aReserved) ) 

#define IGuestSession_get_InternalAndReservedAttribute7IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IGuestSession(This,aReserved) ) 

#define IGuestSession_get_InternalAndReservedAttribute8IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IGuestSession(This,aReserved) ) 

#define IGuestSession_get_InternalAndReservedAttribute9IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IGuestSession(This,aReserved) ) 

#define IGuestSession_get_InternalAndReservedAttribute10IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IGuestSession(This,aReserved) ) 

#define IGuestSession_get_InternalAndReservedAttribute11IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IGuestSession(This,aReserved) ) 

#define IGuestSession_get_InternalAndReservedAttribute12IGuestSession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IGuestSession(This,aReserved) ) 

#define IGuestSession_Close(This)	\
    ( (This)->lpVtbl -> Close(This) ) 

#define IGuestSession_CopyFromGuest(This,aSources,aFilters,aFlags,aDestination,aProgress)	\
    ( (This)->lpVtbl -> CopyFromGuest(This,aSources,aFilters,aFlags,aDestination,aProgress) ) 

#define IGuestSession_CopyToGuest(This,aSources,aFilters,aFlags,aDestination,aProgress)	\
    ( (This)->lpVtbl -> CopyToGuest(This,aSources,aFilters,aFlags,aDestination,aProgress) ) 

#define IGuestSession_DirectoryCopy(This,aSource,aDestination,aFlags,aProgress)	\
    ( (This)->lpVtbl -> DirectoryCopy(This,aSource,aDestination,aFlags,aProgress) ) 

#define IGuestSession_DirectoryCopyFromGuest(This,aSource,aDestination,aFlags,aProgress)	\
    ( (This)->lpVtbl -> DirectoryCopyFromGuest(This,aSource,aDestination,aFlags,aProgress) ) 

#define IGuestSession_DirectoryCopyToGuest(This,aSource,aDestination,aFlags,aProgress)	\
    ( (This)->lpVtbl -> DirectoryCopyToGuest(This,aSource,aDestination,aFlags,aProgress) ) 

#define IGuestSession_DirectoryCreate(This,aPath,aMode,aFlags)	\
    ( (This)->lpVtbl -> DirectoryCreate(This,aPath,aMode,aFlags) ) 

#define IGuestSession_DirectoryCreateTemp(This,aTemplateName,aMode,aPath,aSecure,aDirectory)	\
    ( (This)->lpVtbl -> DirectoryCreateTemp(This,aTemplateName,aMode,aPath,aSecure,aDirectory) ) 

#define IGuestSession_DirectoryExists(This,aPath,aFollowSymlinks,aExists)	\
    ( (This)->lpVtbl -> DirectoryExists(This,aPath,aFollowSymlinks,aExists) ) 

#define IGuestSession_DirectoryOpen(This,aPath,aFilter,aFlags,aDirectory)	\
    ( (This)->lpVtbl -> DirectoryOpen(This,aPath,aFilter,aFlags,aDirectory) ) 

#define IGuestSession_DirectoryRemove(This,aPath)	\
    ( (This)->lpVtbl -> DirectoryRemove(This,aPath) ) 

#define IGuestSession_DirectoryRemoveRecursive(This,aPath,aFlags,aProgress)	\
    ( (This)->lpVtbl -> DirectoryRemoveRecursive(This,aPath,aFlags,aProgress) ) 

#define IGuestSession_EnvironmentScheduleSet(This,aName,aValue)	\
    ( (This)->lpVtbl -> EnvironmentScheduleSet(This,aName,aValue) ) 

#define IGuestSession_EnvironmentScheduleUnset(This,aName)	\
    ( (This)->lpVtbl -> EnvironmentScheduleUnset(This,aName) ) 

#define IGuestSession_EnvironmentGetBaseVariable(This,aName,aValue)	\
    ( (This)->lpVtbl -> EnvironmentGetBaseVariable(This,aName,aValue) ) 

#define IGuestSession_EnvironmentDoesBaseVariableExist(This,aName,aExists)	\
    ( (This)->lpVtbl -> EnvironmentDoesBaseVariableExist(This,aName,aExists) ) 

#define IGuestSession_FileCopy(This,aSource,aDestination,aFlags,aProgress)	\
    ( (This)->lpVtbl -> FileCopy(This,aSource,aDestination,aFlags,aProgress) ) 

#define IGuestSession_FileCopyFromGuest(This,aSource,aDestination,aFlags,aProgress)	\
    ( (This)->lpVtbl -> FileCopyFromGuest(This,aSource,aDestination,aFlags,aProgress) ) 

#define IGuestSession_FileCopyToGuest(This,aSource,aDestination,aFlags,aProgress)	\
    ( (This)->lpVtbl -> FileCopyToGuest(This,aSource,aDestination,aFlags,aProgress) ) 

#define IGuestSession_FileCreateTemp(This,aTemplateName,aMode,aPath,aSecure,aFile)	\
    ( (This)->lpVtbl -> FileCreateTemp(This,aTemplateName,aMode,aPath,aSecure,aFile) ) 

#define IGuestSession_FileExists(This,aPath,aFollowSymlinks,aExists)	\
    ( (This)->lpVtbl -> FileExists(This,aPath,aFollowSymlinks,aExists) ) 

#define IGuestSession_FileOpen(This,aPath,aAccessMode,aOpenAction,aCreationMode,aFile)	\
    ( (This)->lpVtbl -> FileOpen(This,aPath,aAccessMode,aOpenAction,aCreationMode,aFile) ) 

#define IGuestSession_FileOpenEx(This,aPath,aAccessMode,aOpenAction,aSharingMode,aCreationMode,aFlags,aFile)	\
    ( (This)->lpVtbl -> FileOpenEx(This,aPath,aAccessMode,aOpenAction,aSharingMode,aCreationMode,aFlags,aFile) ) 

#define IGuestSession_FileQuerySize(This,aPath,aFollowSymlinks,aSize)	\
    ( (This)->lpVtbl -> FileQuerySize(This,aPath,aFollowSymlinks,aSize) ) 

#define IGuestSession_FsObjExists(This,aPath,aFollowSymlinks,aExists)	\
    ( (This)->lpVtbl -> FsObjExists(This,aPath,aFollowSymlinks,aExists) ) 

#define IGuestSession_FsObjQueryInfo(This,aPath,aFollowSymlinks,aInfo)	\
    ( (This)->lpVtbl -> FsObjQueryInfo(This,aPath,aFollowSymlinks,aInfo) ) 

#define IGuestSession_FsObjRemove(This,aPath)	\
    ( (This)->lpVtbl -> FsObjRemove(This,aPath) ) 

#define IGuestSession_FsObjRemoveArray(This,aPath,aProgress)	\
    ( (This)->lpVtbl -> FsObjRemoveArray(This,aPath,aProgress) ) 

#define IGuestSession_FsObjRename(This,aOldPath,aNewPath,aFlags)	\
    ( (This)->lpVtbl -> FsObjRename(This,aOldPath,aNewPath,aFlags) ) 

#define IGuestSession_FsObjMove(This,aSource,aDestination,aFlags,aProgress)	\
    ( (This)->lpVtbl -> FsObjMove(This,aSource,aDestination,aFlags,aProgress) ) 

#define IGuestSession_FsObjMoveArray(This,aSource,aDestination,aFlags,aProgress)	\
    ( (This)->lpVtbl -> FsObjMoveArray(This,aSource,aDestination,aFlags,aProgress) ) 

#define IGuestSession_FsObjCopyArray(This,aSource,aDestination,aFlags,aProgress)	\
    ( (This)->lpVtbl -> FsObjCopyArray(This,aSource,aDestination,aFlags,aProgress) ) 

#define IGuestSession_FsObjSetACL(This,aPath,aFollowSymlinks,aAcl,aMode)	\
    ( (This)->lpVtbl -> FsObjSetACL(This,aPath,aFollowSymlinks,aAcl,aMode) ) 

#define IGuestSession_FsQueryFreeSpace(This,aPath,aFreeSpace)	\
    ( (This)->lpVtbl -> FsQueryFreeSpace(This,aPath,aFreeSpace) ) 

#define IGuestSession_FsQueryInfo(This,aPath,aInfo)	\
    ( (This)->lpVtbl -> FsQueryInfo(This,aPath,aInfo) ) 

#define IGuestSession_ProcessCreate(This,aExecutable,aArguments,aCwd,aEnvironmentChanges,aFlags,aTimeoutMS,aGuestProcess)	\
    ( (This)->lpVtbl -> ProcessCreate(This,aExecutable,aArguments,aCwd,aEnvironmentChanges,aFlags,aTimeoutMS,aGuestProcess) ) 

#define IGuestSession_ProcessCreateEx(This,aExecutable,aArguments,aCwd,aEnvironmentChanges,aFlags,aTimeoutMS,aPriority,aAffinity,aGuestProcess)	\
    ( (This)->lpVtbl -> ProcessCreateEx(This,aExecutable,aArguments,aCwd,aEnvironmentChanges,aFlags,aTimeoutMS,aPriority,aAffinity,aGuestProcess) ) 

#define IGuestSession_ProcessGet(This,aPid,aGuestProcess)	\
    ( (This)->lpVtbl -> ProcessGet(This,aPid,aGuestProcess) ) 

#define IGuestSession_SymlinkCreate(This,aSymlink,aTarget,aType)	\
    ( (This)->lpVtbl -> SymlinkCreate(This,aSymlink,aTarget,aType) ) 

#define IGuestSession_SymlinkExists(This,aSymlink,aExists)	\
    ( (This)->lpVtbl -> SymlinkExists(This,aSymlink,aExists) ) 

#define IGuestSession_SymlinkRead(This,aSymlink,aFlags,aTarget)	\
    ( (This)->lpVtbl -> SymlinkRead(This,aSymlink,aFlags,aTarget) ) 

#define IGuestSession_WaitFor(This,aWaitFor,aTimeoutMS,aReason)	\
    ( (This)->lpVtbl -> WaitFor(This,aWaitFor,aTimeoutMS,aReason) ) 

#define IGuestSession_WaitForArray(This,aWaitFor,aTimeoutMS,aReason)	\
    ( (This)->lpVtbl -> WaitForArray(This,aWaitFor,aTimeoutMS,aReason) ) 

#define IGuestSession_InternalAndReservedMethod1IGuestSession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IGuestSession(This) ) 

#define IGuestSession_InternalAndReservedMethod2IGuestSession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IGuestSession(This) ) 

#define IGuestSession_InternalAndReservedMethod3IGuestSession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IGuestSession(This) ) 

#define IGuestSession_InternalAndReservedMethod4IGuestSession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IGuestSession(This) ) 

#define IGuestSession_InternalAndReservedMethod5IGuestSession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IGuestSession(This) ) 

#define IGuestSession_InternalAndReservedMethod6IGuestSession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IGuestSession(This) ) 

#define IGuestSession_InternalAndReservedMethod7IGuestSession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IGuestSession(This) ) 

#define IGuestSession_InternalAndReservedMethod8IGuestSession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IGuestSession(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestSession_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0053 */
/* [local] */ 

#define COM_FORWARD_IGuestSession_GETTER_User_TO(smth) HRESULT STDMETHODCALLTYPE get_User (BSTR * aUser) { return smth get_User (aUser); }
#define COM_FORWARD_IGuestSession_GETTER_User_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_User_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_User_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_User_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_Domain_TO(smth) HRESULT STDMETHODCALLTYPE get_Domain (BSTR * aDomain) { return smth get_Domain (aDomain); }
#define COM_FORWARD_IGuestSession_GETTER_Domain_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Domain_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_Domain_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Domain_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IGuestSession_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_Name_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Name_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (ULONG * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IGuestSession_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_Id_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Id_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_Timeout_TO(smth) HRESULT STDMETHODCALLTYPE get_Timeout (ULONG * aTimeout) { return smth get_Timeout (aTimeout); }
#define COM_FORWARD_IGuestSession_GETTER_Timeout_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Timeout_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_Timeout_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Timeout_TO (base::)
#define COM_FORWARD_IGuestSession_SETTER_Timeout_TO(smth) HRESULT STDMETHODCALLTYPE put_Timeout (ULONG aTimeout) { return smth put_Timeout (aTimeout); }
#define COM_FORWARD_IGuestSession_SETTER_Timeout_TO_OBJ(obj) COM_FORWARD_IGuestSession_SETTER_Timeout_TO ((obj)->)
#define COM_FORWARD_IGuestSession_SETTER_Timeout_TO_BASE(base) COM_FORWARD_IGuestSession_SETTER_Timeout_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_ProtocolVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_ProtocolVersion (ULONG * aProtocolVersion) { return smth get_ProtocolVersion (aProtocolVersion); }
#define COM_FORWARD_IGuestSession_GETTER_ProtocolVersion_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_ProtocolVersion_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_ProtocolVersion_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_ProtocolVersion_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (GuestSessionStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IGuestSession_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Status_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_EnvironmentChanges_TO(smth) HRESULT STDMETHODCALLTYPE get_EnvironmentChanges (SAFEARRAY * * aEnvironmentChanges) { return smth get_EnvironmentChanges (aEnvironmentChanges); }
#define COM_FORWARD_IGuestSession_GETTER_EnvironmentChanges_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_EnvironmentChanges_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_EnvironmentChanges_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_EnvironmentChanges_TO (base::)
#define COM_FORWARD_IGuestSession_SETTER_EnvironmentChanges_TO(smth) HRESULT STDMETHODCALLTYPE put_EnvironmentChanges (SAFEARRAY * aEnvironmentChanges) { return smth put_EnvironmentChanges (aEnvironmentChanges); }
#define COM_FORWARD_IGuestSession_SETTER_EnvironmentChanges_TO_OBJ(obj) COM_FORWARD_IGuestSession_SETTER_EnvironmentChanges_TO ((obj)->)
#define COM_FORWARD_IGuestSession_SETTER_EnvironmentChanges_TO_BASE(base) COM_FORWARD_IGuestSession_SETTER_EnvironmentChanges_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_EnvironmentBase_TO(smth) HRESULT STDMETHODCALLTYPE get_EnvironmentBase (SAFEARRAY * * aEnvironmentBase) { return smth get_EnvironmentBase (aEnvironmentBase); }
#define COM_FORWARD_IGuestSession_GETTER_EnvironmentBase_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_EnvironmentBase_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_EnvironmentBase_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_EnvironmentBase_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_Processes_TO(smth) HRESULT STDMETHODCALLTYPE get_Processes (SAFEARRAY * * aProcesses) { return smth get_Processes (aProcesses); }
#define COM_FORWARD_IGuestSession_GETTER_Processes_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Processes_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_Processes_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Processes_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_PathStyle_TO(smth) HRESULT STDMETHODCALLTYPE get_PathStyle (PathStyle * aPathStyle) { return smth get_PathStyle (aPathStyle); }
#define COM_FORWARD_IGuestSession_GETTER_PathStyle_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_PathStyle_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_PathStyle_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_PathStyle_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_CurrentDirectory_TO(smth) HRESULT STDMETHODCALLTYPE get_CurrentDirectory (BSTR * aCurrentDirectory) { return smth get_CurrentDirectory (aCurrentDirectory); }
#define COM_FORWARD_IGuestSession_GETTER_CurrentDirectory_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_CurrentDirectory_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_CurrentDirectory_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_CurrentDirectory_TO (base::)
#define COM_FORWARD_IGuestSession_SETTER_CurrentDirectory_TO(smth) HRESULT STDMETHODCALLTYPE put_CurrentDirectory (BSTR aCurrentDirectory) { return smth put_CurrentDirectory (aCurrentDirectory); }
#define COM_FORWARD_IGuestSession_SETTER_CurrentDirectory_TO_OBJ(obj) COM_FORWARD_IGuestSession_SETTER_CurrentDirectory_TO ((obj)->)
#define COM_FORWARD_IGuestSession_SETTER_CurrentDirectory_TO_BASE(base) COM_FORWARD_IGuestSession_SETTER_CurrentDirectory_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_UserHome_TO(smth) HRESULT STDMETHODCALLTYPE get_UserHome (BSTR * aUserHome) { return smth get_UserHome (aUserHome); }
#define COM_FORWARD_IGuestSession_GETTER_UserHome_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_UserHome_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_UserHome_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_UserHome_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_UserDocuments_TO(smth) HRESULT STDMETHODCALLTYPE get_UserDocuments (BSTR * aUserDocuments) { return smth get_UserDocuments (aUserDocuments); }
#define COM_FORWARD_IGuestSession_GETTER_UserDocuments_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_UserDocuments_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_UserDocuments_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_UserDocuments_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_MountPoints_TO(smth) HRESULT STDMETHODCALLTYPE get_MountPoints (SAFEARRAY * * aMountPoints) { return smth get_MountPoints (aMountPoints); }
#define COM_FORWARD_IGuestSession_GETTER_MountPoints_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_MountPoints_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_MountPoints_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_MountPoints_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_Directories_TO(smth) HRESULT STDMETHODCALLTYPE get_Directories (SAFEARRAY * * aDirectories) { return smth get_Directories (aDirectories); }
#define COM_FORWARD_IGuestSession_GETTER_Directories_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Directories_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_Directories_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Directories_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_Files_TO(smth) HRESULT STDMETHODCALLTYPE get_Files (SAFEARRAY * * aFiles) { return smth get_Files (aFiles); }
#define COM_FORWARD_IGuestSession_GETTER_Files_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_Files_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_Files_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_Files_TO (base::)
#define COM_FORWARD_IGuestSession_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IGuestSession_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IGuestSession_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IGuestSession_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IGuestSession_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IGuestSession_Close_TO(smth) HRESULT STDMETHODCALLTYPE Close() { return smth Close(); }
#define COM_FORWARD_IGuestSession_Close_TO_OBJ(obj) COM_FORWARD_IGuestSession_Close_TO ((obj)->)
#define COM_FORWARD_IGuestSession_Close_TO_BASE(base) COM_FORWARD_IGuestSession_Close_TO (base::)
#define COM_FORWARD_IGuestSession_CopyFromGuest_TO(smth) HRESULT STDMETHODCALLTYPE CopyFromGuest (SAFEARRAY * * aSources, SAFEARRAY * * aFilters, SAFEARRAY * * aFlags, BSTR aDestination, IProgress * * aProgress) { return smth CopyFromGuest (aSources, aFilters, aFlags, aDestination, aProgress); }
#define COM_FORWARD_IGuestSession_CopyFromGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_CopyFromGuest_TO ((obj)->)
#define COM_FORWARD_IGuestSession_CopyFromGuest_TO_BASE(base) COM_FORWARD_IGuestSession_CopyFromGuest_TO (base::)
#define COM_FORWARD_IGuestSession_CopyToGuest_TO(smth) HRESULT STDMETHODCALLTYPE CopyToGuest (SAFEARRAY * * aSources, SAFEARRAY * * aFilters, SAFEARRAY * * aFlags, BSTR aDestination, IProgress * * aProgress) { return smth CopyToGuest (aSources, aFilters, aFlags, aDestination, aProgress); }
#define COM_FORWARD_IGuestSession_CopyToGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_CopyToGuest_TO ((obj)->)
#define COM_FORWARD_IGuestSession_CopyToGuest_TO_BASE(base) COM_FORWARD_IGuestSession_CopyToGuest_TO (base::)
#define COM_FORWARD_IGuestSession_DirectoryCopy_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryCopy (BSTR aSource, BSTR aDestination, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth DirectoryCopy (aSource, aDestination, aFlags, aProgress); }
#define COM_FORWARD_IGuestSession_DirectoryCopy_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryCopy_TO ((obj)->)
#define COM_FORWARD_IGuestSession_DirectoryCopy_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryCopy_TO (base::)
#define COM_FORWARD_IGuestSession_DirectoryCopyFromGuest_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryCopyFromGuest (BSTR aSource, BSTR aDestination, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth DirectoryCopyFromGuest (aSource, aDestination, aFlags, aProgress); }
#define COM_FORWARD_IGuestSession_DirectoryCopyFromGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryCopyFromGuest_TO ((obj)->)
#define COM_FORWARD_IGuestSession_DirectoryCopyFromGuest_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryCopyFromGuest_TO (base::)
#define COM_FORWARD_IGuestSession_DirectoryCopyToGuest_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryCopyToGuest (BSTR aSource, BSTR aDestination, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth DirectoryCopyToGuest (aSource, aDestination, aFlags, aProgress); }
#define COM_FORWARD_IGuestSession_DirectoryCopyToGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryCopyToGuest_TO ((obj)->)
#define COM_FORWARD_IGuestSession_DirectoryCopyToGuest_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryCopyToGuest_TO (base::)
#define COM_FORWARD_IGuestSession_DirectoryCreate_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryCreate (BSTR aPath, ULONG aMode, SAFEARRAY * * aFlags) { return smth DirectoryCreate (aPath, aMode, aFlags); }
#define COM_FORWARD_IGuestSession_DirectoryCreate_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryCreate_TO ((obj)->)
#define COM_FORWARD_IGuestSession_DirectoryCreate_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryCreate_TO (base::)
#define COM_FORWARD_IGuestSession_DirectoryCreateTemp_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryCreateTemp (BSTR aTemplateName, ULONG aMode, BSTR aPath, BOOL aSecure, BSTR * aDirectory) { return smth DirectoryCreateTemp (aTemplateName, aMode, aPath, aSecure, aDirectory); }
#define COM_FORWARD_IGuestSession_DirectoryCreateTemp_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryCreateTemp_TO ((obj)->)
#define COM_FORWARD_IGuestSession_DirectoryCreateTemp_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryCreateTemp_TO (base::)
#define COM_FORWARD_IGuestSession_DirectoryExists_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryExists (BSTR aPath, BOOL aFollowSymlinks, BOOL * aExists) { return smth DirectoryExists (aPath, aFollowSymlinks, aExists); }
#define COM_FORWARD_IGuestSession_DirectoryExists_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryExists_TO ((obj)->)
#define COM_FORWARD_IGuestSession_DirectoryExists_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryExists_TO (base::)
#define COM_FORWARD_IGuestSession_DirectoryOpen_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryOpen (BSTR aPath, BSTR aFilter, SAFEARRAY * * aFlags, IGuestDirectory * * aDirectory) { return smth DirectoryOpen (aPath, aFilter, aFlags, aDirectory); }
#define COM_FORWARD_IGuestSession_DirectoryOpen_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryOpen_TO ((obj)->)
#define COM_FORWARD_IGuestSession_DirectoryOpen_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryOpen_TO (base::)
#define COM_FORWARD_IGuestSession_DirectoryRemove_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryRemove (BSTR aPath) { return smth DirectoryRemove (aPath); }
#define COM_FORWARD_IGuestSession_DirectoryRemove_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryRemove_TO ((obj)->)
#define COM_FORWARD_IGuestSession_DirectoryRemove_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryRemove_TO (base::)
#define COM_FORWARD_IGuestSession_DirectoryRemoveRecursive_TO(smth) HRESULT STDMETHODCALLTYPE DirectoryRemoveRecursive (BSTR aPath, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth DirectoryRemoveRecursive (aPath, aFlags, aProgress); }
#define COM_FORWARD_IGuestSession_DirectoryRemoveRecursive_TO_OBJ(obj) COM_FORWARD_IGuestSession_DirectoryRemoveRecursive_TO ((obj)->)
#define COM_FORWARD_IGuestSession_DirectoryRemoveRecursive_TO_BASE(base) COM_FORWARD_IGuestSession_DirectoryRemoveRecursive_TO (base::)
#define COM_FORWARD_IGuestSession_EnvironmentScheduleSet_TO(smth) HRESULT STDMETHODCALLTYPE EnvironmentScheduleSet (BSTR aName, BSTR aValue) { return smth EnvironmentScheduleSet (aName, aValue); }
#define COM_FORWARD_IGuestSession_EnvironmentScheduleSet_TO_OBJ(obj) COM_FORWARD_IGuestSession_EnvironmentScheduleSet_TO ((obj)->)
#define COM_FORWARD_IGuestSession_EnvironmentScheduleSet_TO_BASE(base) COM_FORWARD_IGuestSession_EnvironmentScheduleSet_TO (base::)
#define COM_FORWARD_IGuestSession_EnvironmentScheduleUnset_TO(smth) HRESULT STDMETHODCALLTYPE EnvironmentScheduleUnset (BSTR aName) { return smth EnvironmentScheduleUnset (aName); }
#define COM_FORWARD_IGuestSession_EnvironmentScheduleUnset_TO_OBJ(obj) COM_FORWARD_IGuestSession_EnvironmentScheduleUnset_TO ((obj)->)
#define COM_FORWARD_IGuestSession_EnvironmentScheduleUnset_TO_BASE(base) COM_FORWARD_IGuestSession_EnvironmentScheduleUnset_TO (base::)
#define COM_FORWARD_IGuestSession_EnvironmentGetBaseVariable_TO(smth) HRESULT STDMETHODCALLTYPE EnvironmentGetBaseVariable (BSTR aName, BSTR * aValue) { return smth EnvironmentGetBaseVariable (aName, aValue); }
#define COM_FORWARD_IGuestSession_EnvironmentGetBaseVariable_TO_OBJ(obj) COM_FORWARD_IGuestSession_EnvironmentGetBaseVariable_TO ((obj)->)
#define COM_FORWARD_IGuestSession_EnvironmentGetBaseVariable_TO_BASE(base) COM_FORWARD_IGuestSession_EnvironmentGetBaseVariable_TO (base::)
#define COM_FORWARD_IGuestSession_EnvironmentDoesBaseVariableExist_TO(smth) HRESULT STDMETHODCALLTYPE EnvironmentDoesBaseVariableExist (BSTR aName, BOOL * aExists) { return smth EnvironmentDoesBaseVariableExist (aName, aExists); }
#define COM_FORWARD_IGuestSession_EnvironmentDoesBaseVariableExist_TO_OBJ(obj) COM_FORWARD_IGuestSession_EnvironmentDoesBaseVariableExist_TO ((obj)->)
#define COM_FORWARD_IGuestSession_EnvironmentDoesBaseVariableExist_TO_BASE(base) COM_FORWARD_IGuestSession_EnvironmentDoesBaseVariableExist_TO (base::)
#define COM_FORWARD_IGuestSession_FileCopy_TO(smth) HRESULT STDMETHODCALLTYPE FileCopy (BSTR aSource, BSTR aDestination, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth FileCopy (aSource, aDestination, aFlags, aProgress); }
#define COM_FORWARD_IGuestSession_FileCopy_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileCopy_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FileCopy_TO_BASE(base) COM_FORWARD_IGuestSession_FileCopy_TO (base::)
#define COM_FORWARD_IGuestSession_FileCopyFromGuest_TO(smth) HRESULT STDMETHODCALLTYPE FileCopyFromGuest (BSTR aSource, BSTR aDestination, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth FileCopyFromGuest (aSource, aDestination, aFlags, aProgress); }
#define COM_FORWARD_IGuestSession_FileCopyFromGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileCopyFromGuest_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FileCopyFromGuest_TO_BASE(base) COM_FORWARD_IGuestSession_FileCopyFromGuest_TO (base::)
#define COM_FORWARD_IGuestSession_FileCopyToGuest_TO(smth) HRESULT STDMETHODCALLTYPE FileCopyToGuest (BSTR aSource, BSTR aDestination, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth FileCopyToGuest (aSource, aDestination, aFlags, aProgress); }
#define COM_FORWARD_IGuestSession_FileCopyToGuest_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileCopyToGuest_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FileCopyToGuest_TO_BASE(base) COM_FORWARD_IGuestSession_FileCopyToGuest_TO (base::)
#define COM_FORWARD_IGuestSession_FileCreateTemp_TO(smth) HRESULT STDMETHODCALLTYPE FileCreateTemp (BSTR aTemplateName, ULONG aMode, BSTR aPath, BOOL aSecure, IGuestFile * * aFile) { return smth FileCreateTemp (aTemplateName, aMode, aPath, aSecure, aFile); }
#define COM_FORWARD_IGuestSession_FileCreateTemp_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileCreateTemp_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FileCreateTemp_TO_BASE(base) COM_FORWARD_IGuestSession_FileCreateTemp_TO (base::)
#define COM_FORWARD_IGuestSession_FileExists_TO(smth) HRESULT STDMETHODCALLTYPE FileExists (BSTR aPath, BOOL aFollowSymlinks, BOOL * aExists) { return smth FileExists (aPath, aFollowSymlinks, aExists); }
#define COM_FORWARD_IGuestSession_FileExists_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileExists_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FileExists_TO_BASE(base) COM_FORWARD_IGuestSession_FileExists_TO (base::)
#define COM_FORWARD_IGuestSession_FileOpen_TO(smth) HRESULT STDMETHODCALLTYPE FileOpen (BSTR aPath, FileAccessMode aAccessMode, FileOpenAction aOpenAction, ULONG aCreationMode, IGuestFile * * aFile) { return smth FileOpen (aPath, aAccessMode, aOpenAction, aCreationMode, aFile); }
#define COM_FORWARD_IGuestSession_FileOpen_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileOpen_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FileOpen_TO_BASE(base) COM_FORWARD_IGuestSession_FileOpen_TO (base::)
#define COM_FORWARD_IGuestSession_FileOpenEx_TO(smth) HRESULT STDMETHODCALLTYPE FileOpenEx (BSTR aPath, FileAccessMode aAccessMode, FileOpenAction aOpenAction, FileSharingMode aSharingMode, ULONG aCreationMode, SAFEARRAY * * aFlags, IGuestFile * * aFile) { return smth FileOpenEx (aPath, aAccessMode, aOpenAction, aSharingMode, aCreationMode, aFlags, aFile); }
#define COM_FORWARD_IGuestSession_FileOpenEx_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileOpenEx_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FileOpenEx_TO_BASE(base) COM_FORWARD_IGuestSession_FileOpenEx_TO (base::)
#define COM_FORWARD_IGuestSession_FileQuerySize_TO(smth) HRESULT STDMETHODCALLTYPE FileQuerySize (BSTR aPath, BOOL aFollowSymlinks, LONG64 * aSize) { return smth FileQuerySize (aPath, aFollowSymlinks, aSize); }
#define COM_FORWARD_IGuestSession_FileQuerySize_TO_OBJ(obj) COM_FORWARD_IGuestSession_FileQuerySize_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FileQuerySize_TO_BASE(base) COM_FORWARD_IGuestSession_FileQuerySize_TO (base::)
#define COM_FORWARD_IGuestSession_FsObjExists_TO(smth) HRESULT STDMETHODCALLTYPE FsObjExists (BSTR aPath, BOOL aFollowSymlinks, BOOL * aExists) { return smth FsObjExists (aPath, aFollowSymlinks, aExists); }
#define COM_FORWARD_IGuestSession_FsObjExists_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjExists_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FsObjExists_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjExists_TO (base::)
#define COM_FORWARD_IGuestSession_FsObjQueryInfo_TO(smth) HRESULT STDMETHODCALLTYPE FsObjQueryInfo (BSTR aPath, BOOL aFollowSymlinks, IGuestFsObjInfo * * aInfo) { return smth FsObjQueryInfo (aPath, aFollowSymlinks, aInfo); }
#define COM_FORWARD_IGuestSession_FsObjQueryInfo_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjQueryInfo_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FsObjQueryInfo_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjQueryInfo_TO (base::)
#define COM_FORWARD_IGuestSession_FsObjRemove_TO(smth) HRESULT STDMETHODCALLTYPE FsObjRemove (BSTR aPath) { return smth FsObjRemove (aPath); }
#define COM_FORWARD_IGuestSession_FsObjRemove_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjRemove_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FsObjRemove_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjRemove_TO (base::)
#define COM_FORWARD_IGuestSession_FsObjRemoveArray_TO(smth) HRESULT STDMETHODCALLTYPE FsObjRemoveArray (SAFEARRAY * * aPath, IProgress * * aProgress) { return smth FsObjRemoveArray (aPath, aProgress); }
#define COM_FORWARD_IGuestSession_FsObjRemoveArray_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjRemoveArray_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FsObjRemoveArray_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjRemoveArray_TO (base::)
#define COM_FORWARD_IGuestSession_FsObjRename_TO(smth) HRESULT STDMETHODCALLTYPE FsObjRename (BSTR aOldPath, BSTR aNewPath, SAFEARRAY * * aFlags) { return smth FsObjRename (aOldPath, aNewPath, aFlags); }
#define COM_FORWARD_IGuestSession_FsObjRename_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjRename_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FsObjRename_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjRename_TO (base::)
#define COM_FORWARD_IGuestSession_FsObjMove_TO(smth) HRESULT STDMETHODCALLTYPE FsObjMove (BSTR aSource, BSTR aDestination, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth FsObjMove (aSource, aDestination, aFlags, aProgress); }
#define COM_FORWARD_IGuestSession_FsObjMove_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjMove_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FsObjMove_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjMove_TO (base::)
#define COM_FORWARD_IGuestSession_FsObjMoveArray_TO(smth) HRESULT STDMETHODCALLTYPE FsObjMoveArray (SAFEARRAY * * aSource, BSTR aDestination, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth FsObjMoveArray (aSource, aDestination, aFlags, aProgress); }
#define COM_FORWARD_IGuestSession_FsObjMoveArray_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjMoveArray_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FsObjMoveArray_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjMoveArray_TO (base::)
#define COM_FORWARD_IGuestSession_FsObjCopyArray_TO(smth) HRESULT STDMETHODCALLTYPE FsObjCopyArray (SAFEARRAY * * aSource, BSTR aDestination, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth FsObjCopyArray (aSource, aDestination, aFlags, aProgress); }
#define COM_FORWARD_IGuestSession_FsObjCopyArray_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjCopyArray_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FsObjCopyArray_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjCopyArray_TO (base::)
#define COM_FORWARD_IGuestSession_FsObjSetACL_TO(smth) HRESULT STDMETHODCALLTYPE FsObjSetACL (BSTR aPath, BOOL aFollowSymlinks, BSTR aAcl, ULONG aMode) { return smth FsObjSetACL (aPath, aFollowSymlinks, aAcl, aMode); }
#define COM_FORWARD_IGuestSession_FsObjSetACL_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsObjSetACL_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FsObjSetACL_TO_BASE(base) COM_FORWARD_IGuestSession_FsObjSetACL_TO (base::)
#define COM_FORWARD_IGuestSession_FsQueryFreeSpace_TO(smth) HRESULT STDMETHODCALLTYPE FsQueryFreeSpace (BSTR aPath, LONG64 * aFreeSpace) { return smth FsQueryFreeSpace (aPath, aFreeSpace); }
#define COM_FORWARD_IGuestSession_FsQueryFreeSpace_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsQueryFreeSpace_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FsQueryFreeSpace_TO_BASE(base) COM_FORWARD_IGuestSession_FsQueryFreeSpace_TO (base::)
#define COM_FORWARD_IGuestSession_FsQueryInfo_TO(smth) HRESULT STDMETHODCALLTYPE FsQueryInfo (BSTR aPath, IGuestFsInfo * * aInfo) { return smth FsQueryInfo (aPath, aInfo); }
#define COM_FORWARD_IGuestSession_FsQueryInfo_TO_OBJ(obj) COM_FORWARD_IGuestSession_FsQueryInfo_TO ((obj)->)
#define COM_FORWARD_IGuestSession_FsQueryInfo_TO_BASE(base) COM_FORWARD_IGuestSession_FsQueryInfo_TO (base::)
#define COM_FORWARD_IGuestSession_ProcessCreate_TO(smth) HRESULT STDMETHODCALLTYPE ProcessCreate (BSTR aExecutable, SAFEARRAY * * aArguments, BSTR aCwd, SAFEARRAY * * aEnvironmentChanges, SAFEARRAY * * aFlags, ULONG aTimeoutMS, IGuestProcess * * aGuestProcess) { return smth ProcessCreate (aExecutable, aArguments, aCwd, aEnvironmentChanges, aFlags, aTimeoutMS, aGuestProcess); }
#define COM_FORWARD_IGuestSession_ProcessCreate_TO_OBJ(obj) COM_FORWARD_IGuestSession_ProcessCreate_TO ((obj)->)
#define COM_FORWARD_IGuestSession_ProcessCreate_TO_BASE(base) COM_FORWARD_IGuestSession_ProcessCreate_TO (base::)
#define COM_FORWARD_IGuestSession_ProcessCreateEx_TO(smth) HRESULT STDMETHODCALLTYPE ProcessCreateEx (BSTR aExecutable, SAFEARRAY * * aArguments, BSTR aCwd, SAFEARRAY * * aEnvironmentChanges, SAFEARRAY * * aFlags, ULONG aTimeoutMS, ProcessPriority aPriority, SAFEARRAY * * aAffinity, IGuestProcess * * aGuestProcess) { return smth ProcessCreateEx (aExecutable, aArguments, aCwd, aEnvironmentChanges, aFlags, aTimeoutMS, aPriority, aAffinity, aGuestProcess); }
#define COM_FORWARD_IGuestSession_ProcessCreateEx_TO_OBJ(obj) COM_FORWARD_IGuestSession_ProcessCreateEx_TO ((obj)->)
#define COM_FORWARD_IGuestSession_ProcessCreateEx_TO_BASE(base) COM_FORWARD_IGuestSession_ProcessCreateEx_TO (base::)
#define COM_FORWARD_IGuestSession_ProcessGet_TO(smth) HRESULT STDMETHODCALLTYPE ProcessGet (ULONG aPid, IGuestProcess * * aGuestProcess) { return smth ProcessGet (aPid, aGuestProcess); }
#define COM_FORWARD_IGuestSession_ProcessGet_TO_OBJ(obj) COM_FORWARD_IGuestSession_ProcessGet_TO ((obj)->)
#define COM_FORWARD_IGuestSession_ProcessGet_TO_BASE(base) COM_FORWARD_IGuestSession_ProcessGet_TO (base::)
#define COM_FORWARD_IGuestSession_SymlinkCreate_TO(smth) HRESULT STDMETHODCALLTYPE SymlinkCreate (BSTR aSymlink, BSTR aTarget, SymlinkType aType) { return smth SymlinkCreate (aSymlink, aTarget, aType); }
#define COM_FORWARD_IGuestSession_SymlinkCreate_TO_OBJ(obj) COM_FORWARD_IGuestSession_SymlinkCreate_TO ((obj)->)
#define COM_FORWARD_IGuestSession_SymlinkCreate_TO_BASE(base) COM_FORWARD_IGuestSession_SymlinkCreate_TO (base::)
#define COM_FORWARD_IGuestSession_SymlinkExists_TO(smth) HRESULT STDMETHODCALLTYPE SymlinkExists (BSTR aSymlink, BOOL * aExists) { return smth SymlinkExists (aSymlink, aExists); }
#define COM_FORWARD_IGuestSession_SymlinkExists_TO_OBJ(obj) COM_FORWARD_IGuestSession_SymlinkExists_TO ((obj)->)
#define COM_FORWARD_IGuestSession_SymlinkExists_TO_BASE(base) COM_FORWARD_IGuestSession_SymlinkExists_TO (base::)
#define COM_FORWARD_IGuestSession_SymlinkRead_TO(smth) HRESULT STDMETHODCALLTYPE SymlinkRead (BSTR aSymlink, SAFEARRAY * * aFlags, BSTR * aTarget) { return smth SymlinkRead (aSymlink, aFlags, aTarget); }
#define COM_FORWARD_IGuestSession_SymlinkRead_TO_OBJ(obj) COM_FORWARD_IGuestSession_SymlinkRead_TO ((obj)->)
#define COM_FORWARD_IGuestSession_SymlinkRead_TO_BASE(base) COM_FORWARD_IGuestSession_SymlinkRead_TO (base::)
#define COM_FORWARD_IGuestSession_WaitFor_TO(smth) HRESULT STDMETHODCALLTYPE WaitFor (ULONG aWaitFor, ULONG aTimeoutMS, GuestSessionWaitResult * aReason) { return smth WaitFor (aWaitFor, aTimeoutMS, aReason); }
#define COM_FORWARD_IGuestSession_WaitFor_TO_OBJ(obj) COM_FORWARD_IGuestSession_WaitFor_TO ((obj)->)
#define COM_FORWARD_IGuestSession_WaitFor_TO_BASE(base) COM_FORWARD_IGuestSession_WaitFor_TO (base::)
#define COM_FORWARD_IGuestSession_WaitForArray_TO(smth) HRESULT STDMETHODCALLTYPE WaitForArray (SAFEARRAY * * aWaitFor, ULONG aTimeoutMS, GuestSessionWaitResult * aReason) { return smth WaitForArray (aWaitFor, aTimeoutMS, aReason); }
#define COM_FORWARD_IGuestSession_WaitForArray_TO_OBJ(obj) COM_FORWARD_IGuestSession_WaitForArray_TO ((obj)->)
#define COM_FORWARD_IGuestSession_WaitForArray_TO_BASE(base) COM_FORWARD_IGuestSession_WaitForArray_TO (base::)
#define COM_FORWARD_IGuestSession_TO(smth) COM_FORWARD_IGuestSession_GETTER_User_TO (smth) COM_FORWARD_IGuestSession_GETTER_Domain_TO (smth) COM_FORWARD_IGuestSession_GETTER_Name_TO (smth) COM_FORWARD_IGuestSession_GETTER_Id_TO (smth) COM_FORWARD_IGuestSession_GETTER_Timeout_TO (smth) COM_FORWARD_IGuestSession_SETTER_Timeout_TO (smth) COM_FORWARD_IGuestSession_GETTER_ProtocolVersion_TO (smth) COM_FORWARD_IGuestSession_GETTER_Status_TO (smth) COM_FORWARD_IGuestSession_GETTER_EnvironmentChanges_TO (smth) COM_FORWARD_IGuestSession_SETTER_EnvironmentChanges_TO (smth) COM_FORWARD_IGuestSession_GETTER_EnvironmentBase_TO (smth) COM_FORWARD_IGuestSession_GETTER_Processes_TO (smth) COM_FORWARD_IGuestSession_GETTER_PathStyle_TO (smth) COM_FORWARD_IGuestSession_GETTER_CurrentDirectory_TO (smth) COM_FORWARD_IGuestSession_SETTER_CurrentDirectory_TO (smth) COM_FORWARD_IGuestSession_GETTER_UserHome_TO (smth) COM_FORWARD_IGuestSession_GETTER_UserDocuments_TO (smth) COM_FORWARD_IGuestSession_GETTER_MountPoints_TO (smth) COM_FORWARD_IGuestSession_GETTER_Directories_TO (smth) COM_FORWARD_IGuestSession_GETTER_Files_TO (smth) COM_FORWARD_IGuestSession_GETTER_EventSource_TO (smth) COM_FORWARD_IGuestSession_Close_TO (smth) COM_FORWARD_IGuestSession_CopyFromGuest_TO (smth) COM_FORWARD_IGuestSession_CopyToGuest_TO (smth) COM_FORWARD_IGuestSession_DirectoryCopy_TO (smth) COM_FORWARD_IGuestSession_DirectoryCopyFromGuest_TO (smth) COM_FORWARD_IGuestSession_DirectoryCopyToGuest_TO (smth) COM_FORWARD_IGuestSession_DirectoryCreate_TO (smth) COM_FORWARD_IGuestSession_DirectoryCreateTemp_TO (smth) COM_FORWARD_IGuestSession_DirectoryExists_TO (smth) COM_FORWARD_IGuestSession_DirectoryOpen_TO (smth) COM_FORWARD_IGuestSession_DirectoryRemove_TO (smth) COM_FORWARD_IGuestSession_DirectoryRemoveRecursive_TO (smth) COM_FORWARD_IGuestSession_EnvironmentScheduleSet_TO (smth) COM_FORWARD_IGuestSession_EnvironmentScheduleUnset_TO (smth) COM_FORWARD_IGuestSession_EnvironmentGetBaseVariable_TO (smth) COM_FORWARD_IGuestSession_EnvironmentDoesBaseVariableExist_TO (smth) COM_FORWARD_IGuestSession_FileCopy_TO (smth) COM_FORWARD_IGuestSession_FileCopyFromGuest_TO (smth) COM_FORWARD_IGuestSession_FileCopyToGuest_TO (smth) COM_FORWARD_IGuestSession_FileCreateTemp_TO (smth) COM_FORWARD_IGuestSession_FileExists_TO (smth) COM_FORWARD_IGuestSession_FileOpen_TO (smth) COM_FORWARD_IGuestSession_FileOpenEx_TO (smth) COM_FORWARD_IGuestSession_FileQuerySize_TO (smth) COM_FORWARD_IGuestSession_FsObjExists_TO (smth) COM_FORWARD_IGuestSession_FsObjQueryInfo_TO (smth) COM_FORWARD_IGuestSession_FsObjRemove_TO (smth) COM_FORWARD_IGuestSession_FsObjRemoveArray_TO (smth) COM_FORWARD_IGuestSession_FsObjRename_TO (smth) COM_FORWARD_IGuestSession_FsObjMove_TO (smth) COM_FORWARD_IGuestSession_FsObjMoveArray_TO (smth) COM_FORWARD_IGuestSession_FsObjCopyArray_TO (smth) COM_FORWARD_IGuestSession_FsObjSetACL_TO (smth) COM_FORWARD_IGuestSession_FsQueryFreeSpace_TO (smth) COM_FORWARD_IGuestSession_FsQueryInfo_TO (smth) COM_FORWARD_IGuestSession_ProcessCreate_TO (smth) COM_FORWARD_IGuestSession_ProcessCreateEx_TO (smth) COM_FORWARD_IGuestSession_ProcessGet_TO (smth) COM_FORWARD_IGuestSession_SymlinkCreate_TO (smth) COM_FORWARD_IGuestSession_SymlinkExists_TO (smth) COM_FORWARD_IGuestSession_SymlinkRead_TO (smth) COM_FORWARD_IGuestSession_WaitFor_TO (smth) COM_FORWARD_IGuestSession_WaitForArray_TO (smth) 
#define COM_FORWARD_IGuestSession_TO_OBJ(obj) COM_FORWARD_IGuestSession_TO ((obj)->)
#define COM_FORWARD_IGuestSession_TO_BASE(base) COM_FORWARD_IGuestSession_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0053_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0053_v0_0_s_ifspec;

#ifndef __IProcess_INTERFACE_DEFINED__
#define __IProcess_INTERFACE_DEFINED__

/* interface IProcess */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IProcess;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("bc68370c-8a02-45f3-a07d-a67aa72756aa")
    IProcess : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Arguments( 
            /* [retval][out] */ SAFEARRAY * *aArguments) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Environment( 
            /* [retval][out] */ SAFEARRAY * *aEnvironment) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExecutablePath( 
            /* [retval][out] */ BSTR *aExecutablePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExitCode( 
            /* [retval][out] */ LONG *aExitCode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PID( 
            /* [retval][out] */ ULONG *aPID) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ ProcessStatus *aStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IProcess( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IProcess( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IProcess( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IProcess( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IProcess( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IProcess( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IProcess( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IProcess( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WaitFor( 
            /* [in] */ ULONG aWaitFor,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ProcessWaitResult *aReason) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WaitForArray( 
            /* [in] */ SAFEARRAY * aWaitFor,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ProcessWaitResult *aReason) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Read( 
            /* [in] */ ULONG aHandle,
            /* [in] */ ULONG aToRead,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ SAFEARRAY * *aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Write( 
            /* [in] */ ULONG aHandle,
            /* [in] */ ULONG aFlags,
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WriteArray( 
            /* [in] */ ULONG aHandle,
            /* [in] */ SAFEARRAY * aFlags,
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Terminate( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IProcess( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IProcess( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IProcess( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IProcess( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IProcessVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IProcess * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IProcess * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IProcess * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IProcess * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IProcess * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IProcess * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IProcess * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IProcess, get_Arguments)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arguments )( 
            IProcess * This,
            /* [retval][out] */ SAFEARRAY * *aArguments);
        
        DECLSPEC_XFGVIRT(IProcess, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            IProcess * This,
            /* [retval][out] */ SAFEARRAY * *aEnvironment);
        
        DECLSPEC_XFGVIRT(IProcess, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IProcess * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IProcess, get_ExecutablePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExecutablePath )( 
            IProcess * This,
            /* [retval][out] */ BSTR *aExecutablePath);
        
        DECLSPEC_XFGVIRT(IProcess, get_ExitCode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExitCode )( 
            IProcess * This,
            /* [retval][out] */ LONG *aExitCode);
        
        DECLSPEC_XFGVIRT(IProcess, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IProcess * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IProcess, get_PID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PID )( 
            IProcess * This,
            /* [retval][out] */ ULONG *aPID);
        
        DECLSPEC_XFGVIRT(IProcess, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IProcess * This,
            /* [retval][out] */ ProcessStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute1IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IProcess )( 
            IProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute2IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IProcess )( 
            IProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute3IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IProcess )( 
            IProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute4IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IProcess )( 
            IProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute5IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IProcess )( 
            IProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute6IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IProcess )( 
            IProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute7IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IProcess )( 
            IProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute8IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IProcess )( 
            IProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, WaitFor)
        HRESULT ( STDMETHODCALLTYPE *WaitFor )( 
            IProcess * This,
            /* [in] */ ULONG aWaitFor,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ProcessWaitResult *aReason);
        
        DECLSPEC_XFGVIRT(IProcess, WaitForArray)
        HRESULT ( STDMETHODCALLTYPE *WaitForArray )( 
            IProcess * This,
            /* [in] */ SAFEARRAY * aWaitFor,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ProcessWaitResult *aReason);
        
        DECLSPEC_XFGVIRT(IProcess, Read)
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IProcess * This,
            /* [in] */ ULONG aHandle,
            /* [in] */ ULONG aToRead,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IProcess, Write)
        HRESULT ( STDMETHODCALLTYPE *Write )( 
            IProcess * This,
            /* [in] */ ULONG aHandle,
            /* [in] */ ULONG aFlags,
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten);
        
        DECLSPEC_XFGVIRT(IProcess, WriteArray)
        HRESULT ( STDMETHODCALLTYPE *WriteArray )( 
            IProcess * This,
            /* [in] */ ULONG aHandle,
            /* [in] */ SAFEARRAY * aFlags,
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten);
        
        DECLSPEC_XFGVIRT(IProcess, Terminate)
        HRESULT ( STDMETHODCALLTYPE *Terminate )( 
            IProcess * This);
        
        DECLSPEC_XFGVIRT(IProcess, InternalAndReservedMethod1IProcess)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IProcess )( 
            IProcess * This);
        
        DECLSPEC_XFGVIRT(IProcess, InternalAndReservedMethod2IProcess)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IProcess )( 
            IProcess * This);
        
        DECLSPEC_XFGVIRT(IProcess, InternalAndReservedMethod3IProcess)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IProcess )( 
            IProcess * This);
        
        DECLSPEC_XFGVIRT(IProcess, InternalAndReservedMethod4IProcess)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IProcess )( 
            IProcess * This);
        
        END_INTERFACE
    } IProcessVtbl;

    interface IProcess
    {
        CONST_VTBL struct IProcessVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IProcess_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IProcess_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IProcess_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IProcess_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IProcess_get_Arguments(This,aArguments)	\
    ( (This)->lpVtbl -> get_Arguments(This,aArguments) ) 

#define IProcess_get_Environment(This,aEnvironment)	\
    ( (This)->lpVtbl -> get_Environment(This,aEnvironment) ) 

#define IProcess_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IProcess_get_ExecutablePath(This,aExecutablePath)	\
    ( (This)->lpVtbl -> get_ExecutablePath(This,aExecutablePath) ) 

#define IProcess_get_ExitCode(This,aExitCode)	\
    ( (This)->lpVtbl -> get_ExitCode(This,aExitCode) ) 

#define IProcess_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IProcess_get_PID(This,aPID)	\
    ( (This)->lpVtbl -> get_PID(This,aPID) ) 

#define IProcess_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IProcess_get_InternalAndReservedAttribute1IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IProcess(This,aReserved) ) 

#define IProcess_get_InternalAndReservedAttribute2IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IProcess(This,aReserved) ) 

#define IProcess_get_InternalAndReservedAttribute3IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IProcess(This,aReserved) ) 

#define IProcess_get_InternalAndReservedAttribute4IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IProcess(This,aReserved) ) 

#define IProcess_get_InternalAndReservedAttribute5IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IProcess(This,aReserved) ) 

#define IProcess_get_InternalAndReservedAttribute6IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IProcess(This,aReserved) ) 

#define IProcess_get_InternalAndReservedAttribute7IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IProcess(This,aReserved) ) 

#define IProcess_get_InternalAndReservedAttribute8IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IProcess(This,aReserved) ) 

#define IProcess_WaitFor(This,aWaitFor,aTimeoutMS,aReason)	\
    ( (This)->lpVtbl -> WaitFor(This,aWaitFor,aTimeoutMS,aReason) ) 

#define IProcess_WaitForArray(This,aWaitFor,aTimeoutMS,aReason)	\
    ( (This)->lpVtbl -> WaitForArray(This,aWaitFor,aTimeoutMS,aReason) ) 

#define IProcess_Read(This,aHandle,aToRead,aTimeoutMS,aData)	\
    ( (This)->lpVtbl -> Read(This,aHandle,aToRead,aTimeoutMS,aData) ) 

#define IProcess_Write(This,aHandle,aFlags,aData,aTimeoutMS,aWritten)	\
    ( (This)->lpVtbl -> Write(This,aHandle,aFlags,aData,aTimeoutMS,aWritten) ) 

#define IProcess_WriteArray(This,aHandle,aFlags,aData,aTimeoutMS,aWritten)	\
    ( (This)->lpVtbl -> WriteArray(This,aHandle,aFlags,aData,aTimeoutMS,aWritten) ) 

#define IProcess_Terminate(This)	\
    ( (This)->lpVtbl -> Terminate(This) ) 

#define IProcess_InternalAndReservedMethod1IProcess(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IProcess(This) ) 

#define IProcess_InternalAndReservedMethod2IProcess(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IProcess(This) ) 

#define IProcess_InternalAndReservedMethod3IProcess(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IProcess(This) ) 

#define IProcess_InternalAndReservedMethod4IProcess(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IProcess(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IProcess_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0054 */
/* [local] */ 

#define COM_FORWARD_IProcess_GETTER_Arguments_TO(smth) HRESULT STDMETHODCALLTYPE get_Arguments (SAFEARRAY * * aArguments) { return smth get_Arguments (aArguments); }
#define COM_FORWARD_IProcess_GETTER_Arguments_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_Arguments_TO ((obj)->)
#define COM_FORWARD_IProcess_GETTER_Arguments_TO_BASE(base) COM_FORWARD_IProcess_GETTER_Arguments_TO (base::)
#define COM_FORWARD_IProcess_GETTER_Environment_TO(smth) HRESULT STDMETHODCALLTYPE get_Environment (SAFEARRAY * * aEnvironment) { return smth get_Environment (aEnvironment); }
#define COM_FORWARD_IProcess_GETTER_Environment_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_Environment_TO ((obj)->)
#define COM_FORWARD_IProcess_GETTER_Environment_TO_BASE(base) COM_FORWARD_IProcess_GETTER_Environment_TO (base::)
#define COM_FORWARD_IProcess_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IProcess_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IProcess_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IProcess_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IProcess_GETTER_ExecutablePath_TO(smth) HRESULT STDMETHODCALLTYPE get_ExecutablePath (BSTR * aExecutablePath) { return smth get_ExecutablePath (aExecutablePath); }
#define COM_FORWARD_IProcess_GETTER_ExecutablePath_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_ExecutablePath_TO ((obj)->)
#define COM_FORWARD_IProcess_GETTER_ExecutablePath_TO_BASE(base) COM_FORWARD_IProcess_GETTER_ExecutablePath_TO (base::)
#define COM_FORWARD_IProcess_GETTER_ExitCode_TO(smth) HRESULT STDMETHODCALLTYPE get_ExitCode (LONG * aExitCode) { return smth get_ExitCode (aExitCode); }
#define COM_FORWARD_IProcess_GETTER_ExitCode_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_ExitCode_TO ((obj)->)
#define COM_FORWARD_IProcess_GETTER_ExitCode_TO_BASE(base) COM_FORWARD_IProcess_GETTER_ExitCode_TO (base::)
#define COM_FORWARD_IProcess_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IProcess_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IProcess_GETTER_Name_TO_BASE(base) COM_FORWARD_IProcess_GETTER_Name_TO (base::)
#define COM_FORWARD_IProcess_GETTER_PID_TO(smth) HRESULT STDMETHODCALLTYPE get_PID (ULONG * aPID) { return smth get_PID (aPID); }
#define COM_FORWARD_IProcess_GETTER_PID_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_PID_TO ((obj)->)
#define COM_FORWARD_IProcess_GETTER_PID_TO_BASE(base) COM_FORWARD_IProcess_GETTER_PID_TO (base::)
#define COM_FORWARD_IProcess_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (ProcessStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IProcess_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IProcess_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IProcess_GETTER_Status_TO_BASE(base) COM_FORWARD_IProcess_GETTER_Status_TO (base::)
#define COM_FORWARD_IProcess_WaitFor_TO(smth) HRESULT STDMETHODCALLTYPE WaitFor (ULONG aWaitFor, ULONG aTimeoutMS, ProcessWaitResult * aReason) { return smth WaitFor (aWaitFor, aTimeoutMS, aReason); }
#define COM_FORWARD_IProcess_WaitFor_TO_OBJ(obj) COM_FORWARD_IProcess_WaitFor_TO ((obj)->)
#define COM_FORWARD_IProcess_WaitFor_TO_BASE(base) COM_FORWARD_IProcess_WaitFor_TO (base::)
#define COM_FORWARD_IProcess_WaitForArray_TO(smth) HRESULT STDMETHODCALLTYPE WaitForArray (SAFEARRAY * * aWaitFor, ULONG aTimeoutMS, ProcessWaitResult * aReason) { return smth WaitForArray (aWaitFor, aTimeoutMS, aReason); }
#define COM_FORWARD_IProcess_WaitForArray_TO_OBJ(obj) COM_FORWARD_IProcess_WaitForArray_TO ((obj)->)
#define COM_FORWARD_IProcess_WaitForArray_TO_BASE(base) COM_FORWARD_IProcess_WaitForArray_TO (base::)
#define COM_FORWARD_IProcess_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (ULONG aHandle, ULONG aToRead, ULONG aTimeoutMS, SAFEARRAY * * aData) { return smth Read (aHandle, aToRead, aTimeoutMS, aData); }
#define COM_FORWARD_IProcess_Read_TO_OBJ(obj) COM_FORWARD_IProcess_Read_TO ((obj)->)
#define COM_FORWARD_IProcess_Read_TO_BASE(base) COM_FORWARD_IProcess_Read_TO (base::)
#define COM_FORWARD_IProcess_Write_TO(smth) HRESULT STDMETHODCALLTYPE Write (ULONG aHandle, ULONG aFlags, SAFEARRAY * * aData, ULONG aTimeoutMS, ULONG * aWritten) { return smth Write (aHandle, aFlags, aData, aTimeoutMS, aWritten); }
#define COM_FORWARD_IProcess_Write_TO_OBJ(obj) COM_FORWARD_IProcess_Write_TO ((obj)->)
#define COM_FORWARD_IProcess_Write_TO_BASE(base) COM_FORWARD_IProcess_Write_TO (base::)
#define COM_FORWARD_IProcess_WriteArray_TO(smth) HRESULT STDMETHODCALLTYPE WriteArray (ULONG aHandle, SAFEARRAY * * aFlags, SAFEARRAY * * aData, ULONG aTimeoutMS, ULONG * aWritten) { return smth WriteArray (aHandle, aFlags, aData, aTimeoutMS, aWritten); }
#define COM_FORWARD_IProcess_WriteArray_TO_OBJ(obj) COM_FORWARD_IProcess_WriteArray_TO ((obj)->)
#define COM_FORWARD_IProcess_WriteArray_TO_BASE(base) COM_FORWARD_IProcess_WriteArray_TO (base::)
#define COM_FORWARD_IProcess_Terminate_TO(smth) HRESULT STDMETHODCALLTYPE Terminate() { return smth Terminate(); }
#define COM_FORWARD_IProcess_Terminate_TO_OBJ(obj) COM_FORWARD_IProcess_Terminate_TO ((obj)->)
#define COM_FORWARD_IProcess_Terminate_TO_BASE(base) COM_FORWARD_IProcess_Terminate_TO (base::)
#define COM_FORWARD_IProcess_TO(smth) COM_FORWARD_IProcess_GETTER_Arguments_TO (smth) COM_FORWARD_IProcess_GETTER_Environment_TO (smth) COM_FORWARD_IProcess_GETTER_EventSource_TO (smth) COM_FORWARD_IProcess_GETTER_ExecutablePath_TO (smth) COM_FORWARD_IProcess_GETTER_ExitCode_TO (smth) COM_FORWARD_IProcess_GETTER_Name_TO (smth) COM_FORWARD_IProcess_GETTER_PID_TO (smth) COM_FORWARD_IProcess_GETTER_Status_TO (smth) COM_FORWARD_IProcess_WaitFor_TO (smth) COM_FORWARD_IProcess_WaitForArray_TO (smth) COM_FORWARD_IProcess_Read_TO (smth) COM_FORWARD_IProcess_Write_TO (smth) COM_FORWARD_IProcess_WriteArray_TO (smth) COM_FORWARD_IProcess_Terminate_TO (smth) 
#define COM_FORWARD_IProcess_TO_OBJ(obj) COM_FORWARD_IProcess_TO ((obj)->)
#define COM_FORWARD_IProcess_TO_BASE(base) COM_FORWARD_IProcess_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0054_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0054_v0_0_s_ifspec;

#ifndef __IGuestProcess_INTERFACE_DEFINED__
#define __IGuestProcess_INTERFACE_DEFINED__

/* interface IGuestProcess */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestProcess;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("35cf4b3f-4453-4f3e-c9b8-5686939c80b6")
    IGuestProcess : public IProcess
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestProcessVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestProcess * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestProcess * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestProcess * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestProcess * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestProcess * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestProcess * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestProcess * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IProcess, get_Arguments)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arguments )( 
            IGuestProcess * This,
            /* [retval][out] */ SAFEARRAY * *aArguments);
        
        DECLSPEC_XFGVIRT(IProcess, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            IGuestProcess * This,
            /* [retval][out] */ SAFEARRAY * *aEnvironment);
        
        DECLSPEC_XFGVIRT(IProcess, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IGuestProcess * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IProcess, get_ExecutablePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExecutablePath )( 
            IGuestProcess * This,
            /* [retval][out] */ BSTR *aExecutablePath);
        
        DECLSPEC_XFGVIRT(IProcess, get_ExitCode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExitCode )( 
            IGuestProcess * This,
            /* [retval][out] */ LONG *aExitCode);
        
        DECLSPEC_XFGVIRT(IProcess, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IGuestProcess * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IProcess, get_PID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PID )( 
            IGuestProcess * This,
            /* [retval][out] */ ULONG *aPID);
        
        DECLSPEC_XFGVIRT(IProcess, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IGuestProcess * This,
            /* [retval][out] */ ProcessStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute1IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IProcess )( 
            IGuestProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute2IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IProcess )( 
            IGuestProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute3IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IProcess )( 
            IGuestProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute4IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IProcess )( 
            IGuestProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute5IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IProcess )( 
            IGuestProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute6IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IProcess )( 
            IGuestProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute7IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IProcess )( 
            IGuestProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, get_InternalAndReservedAttribute8IProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IProcess )( 
            IGuestProcess * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProcess, WaitFor)
        HRESULT ( STDMETHODCALLTYPE *WaitFor )( 
            IGuestProcess * This,
            /* [in] */ ULONG aWaitFor,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ProcessWaitResult *aReason);
        
        DECLSPEC_XFGVIRT(IProcess, WaitForArray)
        HRESULT ( STDMETHODCALLTYPE *WaitForArray )( 
            IGuestProcess * This,
            /* [in] */ SAFEARRAY * aWaitFor,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ProcessWaitResult *aReason);
        
        DECLSPEC_XFGVIRT(IProcess, Read)
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IGuestProcess * This,
            /* [in] */ ULONG aHandle,
            /* [in] */ ULONG aToRead,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IProcess, Write)
        HRESULT ( STDMETHODCALLTYPE *Write )( 
            IGuestProcess * This,
            /* [in] */ ULONG aHandle,
            /* [in] */ ULONG aFlags,
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten);
        
        DECLSPEC_XFGVIRT(IProcess, WriteArray)
        HRESULT ( STDMETHODCALLTYPE *WriteArray )( 
            IGuestProcess * This,
            /* [in] */ ULONG aHandle,
            /* [in] */ SAFEARRAY * aFlags,
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten);
        
        DECLSPEC_XFGVIRT(IProcess, Terminate)
        HRESULT ( STDMETHODCALLTYPE *Terminate )( 
            IGuestProcess * This);
        
        DECLSPEC_XFGVIRT(IProcess, InternalAndReservedMethod1IProcess)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IProcess )( 
            IGuestProcess * This);
        
        DECLSPEC_XFGVIRT(IProcess, InternalAndReservedMethod2IProcess)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IProcess )( 
            IGuestProcess * This);
        
        DECLSPEC_XFGVIRT(IProcess, InternalAndReservedMethod3IProcess)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IProcess )( 
            IGuestProcess * This);
        
        DECLSPEC_XFGVIRT(IProcess, InternalAndReservedMethod4IProcess)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IProcess )( 
            IGuestProcess * This);
        
        DECLSPEC_XFGVIRT(IGuestProcess, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IGuestProcess * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IGuestProcessVtbl;

    interface IGuestProcess
    {
        CONST_VTBL struct IGuestProcessVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestProcess_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestProcess_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestProcess_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestProcess_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestProcess_get_Arguments(This,aArguments)	\
    ( (This)->lpVtbl -> get_Arguments(This,aArguments) ) 

#define IGuestProcess_get_Environment(This,aEnvironment)	\
    ( (This)->lpVtbl -> get_Environment(This,aEnvironment) ) 

#define IGuestProcess_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IGuestProcess_get_ExecutablePath(This,aExecutablePath)	\
    ( (This)->lpVtbl -> get_ExecutablePath(This,aExecutablePath) ) 

#define IGuestProcess_get_ExitCode(This,aExitCode)	\
    ( (This)->lpVtbl -> get_ExitCode(This,aExitCode) ) 

#define IGuestProcess_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IGuestProcess_get_PID(This,aPID)	\
    ( (This)->lpVtbl -> get_PID(This,aPID) ) 

#define IGuestProcess_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IGuestProcess_get_InternalAndReservedAttribute1IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IProcess(This,aReserved) ) 

#define IGuestProcess_get_InternalAndReservedAttribute2IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IProcess(This,aReserved) ) 

#define IGuestProcess_get_InternalAndReservedAttribute3IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IProcess(This,aReserved) ) 

#define IGuestProcess_get_InternalAndReservedAttribute4IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IProcess(This,aReserved) ) 

#define IGuestProcess_get_InternalAndReservedAttribute5IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IProcess(This,aReserved) ) 

#define IGuestProcess_get_InternalAndReservedAttribute6IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IProcess(This,aReserved) ) 

#define IGuestProcess_get_InternalAndReservedAttribute7IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IProcess(This,aReserved) ) 

#define IGuestProcess_get_InternalAndReservedAttribute8IProcess(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IProcess(This,aReserved) ) 

#define IGuestProcess_WaitFor(This,aWaitFor,aTimeoutMS,aReason)	\
    ( (This)->lpVtbl -> WaitFor(This,aWaitFor,aTimeoutMS,aReason) ) 

#define IGuestProcess_WaitForArray(This,aWaitFor,aTimeoutMS,aReason)	\
    ( (This)->lpVtbl -> WaitForArray(This,aWaitFor,aTimeoutMS,aReason) ) 

#define IGuestProcess_Read(This,aHandle,aToRead,aTimeoutMS,aData)	\
    ( (This)->lpVtbl -> Read(This,aHandle,aToRead,aTimeoutMS,aData) ) 

#define IGuestProcess_Write(This,aHandle,aFlags,aData,aTimeoutMS,aWritten)	\
    ( (This)->lpVtbl -> Write(This,aHandle,aFlags,aData,aTimeoutMS,aWritten) ) 

#define IGuestProcess_WriteArray(This,aHandle,aFlags,aData,aTimeoutMS,aWritten)	\
    ( (This)->lpVtbl -> WriteArray(This,aHandle,aFlags,aData,aTimeoutMS,aWritten) ) 

#define IGuestProcess_Terminate(This)	\
    ( (This)->lpVtbl -> Terminate(This) ) 

#define IGuestProcess_InternalAndReservedMethod1IProcess(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IProcess(This) ) 

#define IGuestProcess_InternalAndReservedMethod2IProcess(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IProcess(This) ) 

#define IGuestProcess_InternalAndReservedMethod3IProcess(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IProcess(This) ) 

#define IGuestProcess_InternalAndReservedMethod4IProcess(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IProcess(This) ) 


#define IGuestProcess_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestProcess_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0055 */
/* [local] */ 

#define COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IGuestProcess_TO(smth) COM_FORWARD_IGuestProcess_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IGuestProcess_TO_OBJ(obj) COM_FORWARD_IGuestProcess_TO ((obj)->)
#define COM_FORWARD_IGuestProcess_TO_BASE(base) COM_FORWARD_IGuestProcess_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0055_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0055_v0_0_s_ifspec;

#ifndef __IDirectory_INTERFACE_DEFINED__
#define __IDirectory_INTERFACE_DEFINED__

/* interface IDirectory */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDirectory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a508e094-bf24-4eca-80c6-467766a1e4c0")
    IDirectory : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DirectoryName( 
            /* [retval][out] */ BSTR *aDirectoryName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Filter( 
            /* [retval][out] */ BSTR *aFilter) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ ULONG *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ DirectoryStatus *aStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDirectory( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDirectory( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IDirectory( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IDirectory( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IDirectory( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IDirectory( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IDirectory( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IDirectory( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE List( 
            /* [in] */ ULONG aMaxEntries,
            /* [retval][out] */ SAFEARRAY * *aObjInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Read( 
            /* [retval][out] */ IFsObjInfo **aObjInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rewind( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IDirectory( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IDirectory( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IDirectory( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IDirectory( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDirectoryVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDirectory * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDirectory * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDirectory * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDirectory * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDirectory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDirectory * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDirectory * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDirectory, get_DirectoryName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DirectoryName )( 
            IDirectory * This,
            /* [retval][out] */ BSTR *aDirectoryName);
        
        DECLSPEC_XFGVIRT(IDirectory, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IDirectory * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IDirectory, get_Filter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Filter )( 
            IDirectory * This,
            /* [retval][out] */ BSTR *aFilter);
        
        DECLSPEC_XFGVIRT(IDirectory, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IDirectory * This,
            /* [retval][out] */ ULONG *aId);
        
        DECLSPEC_XFGVIRT(IDirectory, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IDirectory * This,
            /* [retval][out] */ DirectoryStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute1IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDirectory )( 
            IDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute2IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDirectory )( 
            IDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute3IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDirectory )( 
            IDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute4IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IDirectory )( 
            IDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute5IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IDirectory )( 
            IDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute6IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IDirectory )( 
            IDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute7IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IDirectory )( 
            IDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute8IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IDirectory )( 
            IDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            IDirectory * This);
        
        DECLSPEC_XFGVIRT(IDirectory, List)
        HRESULT ( STDMETHODCALLTYPE *List )( 
            IDirectory * This,
            /* [in] */ ULONG aMaxEntries,
            /* [retval][out] */ SAFEARRAY * *aObjInfo);
        
        DECLSPEC_XFGVIRT(IDirectory, Read)
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IDirectory * This,
            /* [retval][out] */ IFsObjInfo **aObjInfo);
        
        DECLSPEC_XFGVIRT(IDirectory, Rewind)
        HRESULT ( STDMETHODCALLTYPE *Rewind )( 
            IDirectory * This);
        
        DECLSPEC_XFGVIRT(IDirectory, InternalAndReservedMethod1IDirectory)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDirectory )( 
            IDirectory * This);
        
        DECLSPEC_XFGVIRT(IDirectory, InternalAndReservedMethod2IDirectory)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDirectory )( 
            IDirectory * This);
        
        DECLSPEC_XFGVIRT(IDirectory, InternalAndReservedMethod3IDirectory)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDirectory )( 
            IDirectory * This);
        
        DECLSPEC_XFGVIRT(IDirectory, InternalAndReservedMethod4IDirectory)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IDirectory )( 
            IDirectory * This);
        
        END_INTERFACE
    } IDirectoryVtbl;

    interface IDirectory
    {
        CONST_VTBL struct IDirectoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDirectory_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDirectory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDirectory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDirectory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDirectory_get_DirectoryName(This,aDirectoryName)	\
    ( (This)->lpVtbl -> get_DirectoryName(This,aDirectoryName) ) 

#define IDirectory_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IDirectory_get_Filter(This,aFilter)	\
    ( (This)->lpVtbl -> get_Filter(This,aFilter) ) 

#define IDirectory_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IDirectory_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IDirectory_get_InternalAndReservedAttribute1IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDirectory(This,aReserved) ) 

#define IDirectory_get_InternalAndReservedAttribute2IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDirectory(This,aReserved) ) 

#define IDirectory_get_InternalAndReservedAttribute3IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDirectory(This,aReserved) ) 

#define IDirectory_get_InternalAndReservedAttribute4IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IDirectory(This,aReserved) ) 

#define IDirectory_get_InternalAndReservedAttribute5IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IDirectory(This,aReserved) ) 

#define IDirectory_get_InternalAndReservedAttribute6IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IDirectory(This,aReserved) ) 

#define IDirectory_get_InternalAndReservedAttribute7IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IDirectory(This,aReserved) ) 

#define IDirectory_get_InternalAndReservedAttribute8IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IDirectory(This,aReserved) ) 

#define IDirectory_Close(This)	\
    ( (This)->lpVtbl -> Close(This) ) 

#define IDirectory_List(This,aMaxEntries,aObjInfo)	\
    ( (This)->lpVtbl -> List(This,aMaxEntries,aObjInfo) ) 

#define IDirectory_Read(This,aObjInfo)	\
    ( (This)->lpVtbl -> Read(This,aObjInfo) ) 

#define IDirectory_Rewind(This)	\
    ( (This)->lpVtbl -> Rewind(This) ) 

#define IDirectory_InternalAndReservedMethod1IDirectory(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDirectory(This) ) 

#define IDirectory_InternalAndReservedMethod2IDirectory(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDirectory(This) ) 

#define IDirectory_InternalAndReservedMethod3IDirectory(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDirectory(This) ) 

#define IDirectory_InternalAndReservedMethod4IDirectory(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IDirectory(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDirectory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0056 */
/* [local] */ 

#define COM_FORWARD_IDirectory_GETTER_DirectoryName_TO(smth) HRESULT STDMETHODCALLTYPE get_DirectoryName (BSTR * aDirectoryName) { return smth get_DirectoryName (aDirectoryName); }
#define COM_FORWARD_IDirectory_GETTER_DirectoryName_TO_OBJ(obj) COM_FORWARD_IDirectory_GETTER_DirectoryName_TO ((obj)->)
#define COM_FORWARD_IDirectory_GETTER_DirectoryName_TO_BASE(base) COM_FORWARD_IDirectory_GETTER_DirectoryName_TO (base::)
#define COM_FORWARD_IDirectory_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IDirectory_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IDirectory_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IDirectory_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IDirectory_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IDirectory_GETTER_Filter_TO(smth) HRESULT STDMETHODCALLTYPE get_Filter (BSTR * aFilter) { return smth get_Filter (aFilter); }
#define COM_FORWARD_IDirectory_GETTER_Filter_TO_OBJ(obj) COM_FORWARD_IDirectory_GETTER_Filter_TO ((obj)->)
#define COM_FORWARD_IDirectory_GETTER_Filter_TO_BASE(base) COM_FORWARD_IDirectory_GETTER_Filter_TO (base::)
#define COM_FORWARD_IDirectory_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (ULONG * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IDirectory_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IDirectory_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IDirectory_GETTER_Id_TO_BASE(base) COM_FORWARD_IDirectory_GETTER_Id_TO (base::)
#define COM_FORWARD_IDirectory_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (DirectoryStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IDirectory_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IDirectory_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IDirectory_GETTER_Status_TO_BASE(base) COM_FORWARD_IDirectory_GETTER_Status_TO (base::)
#define COM_FORWARD_IDirectory_Close_TO(smth) HRESULT STDMETHODCALLTYPE Close() { return smth Close(); }
#define COM_FORWARD_IDirectory_Close_TO_OBJ(obj) COM_FORWARD_IDirectory_Close_TO ((obj)->)
#define COM_FORWARD_IDirectory_Close_TO_BASE(base) COM_FORWARD_IDirectory_Close_TO (base::)
#define COM_FORWARD_IDirectory_List_TO(smth) HRESULT STDMETHODCALLTYPE List (ULONG aMaxEntries, SAFEARRAY * * aObjInfo) { return smth List (aMaxEntries, aObjInfo); }
#define COM_FORWARD_IDirectory_List_TO_OBJ(obj) COM_FORWARD_IDirectory_List_TO ((obj)->)
#define COM_FORWARD_IDirectory_List_TO_BASE(base) COM_FORWARD_IDirectory_List_TO (base::)
#define COM_FORWARD_IDirectory_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (IFsObjInfo * * aObjInfo) { return smth Read (aObjInfo); }
#define COM_FORWARD_IDirectory_Read_TO_OBJ(obj) COM_FORWARD_IDirectory_Read_TO ((obj)->)
#define COM_FORWARD_IDirectory_Read_TO_BASE(base) COM_FORWARD_IDirectory_Read_TO (base::)
#define COM_FORWARD_IDirectory_Rewind_TO(smth) HRESULT STDMETHODCALLTYPE Rewind() { return smth Rewind(); }
#define COM_FORWARD_IDirectory_Rewind_TO_OBJ(obj) COM_FORWARD_IDirectory_Rewind_TO ((obj)->)
#define COM_FORWARD_IDirectory_Rewind_TO_BASE(base) COM_FORWARD_IDirectory_Rewind_TO (base::)
#define COM_FORWARD_IDirectory_TO(smth) COM_FORWARD_IDirectory_GETTER_DirectoryName_TO (smth) COM_FORWARD_IDirectory_GETTER_EventSource_TO (smth) COM_FORWARD_IDirectory_GETTER_Filter_TO (smth) COM_FORWARD_IDirectory_GETTER_Id_TO (smth) COM_FORWARD_IDirectory_GETTER_Status_TO (smth) COM_FORWARD_IDirectory_Close_TO (smth) COM_FORWARD_IDirectory_List_TO (smth) COM_FORWARD_IDirectory_Read_TO (smth) COM_FORWARD_IDirectory_Rewind_TO (smth) 
#define COM_FORWARD_IDirectory_TO_OBJ(obj) COM_FORWARD_IDirectory_TO ((obj)->)
#define COM_FORWARD_IDirectory_TO_BASE(base) COM_FORWARD_IDirectory_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0056_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0056_v0_0_s_ifspec;

#ifndef __IGuestDirectory_INTERFACE_DEFINED__
#define __IGuestDirectory_INTERFACE_DEFINED__

/* interface IGuestDirectory */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestDirectory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cc830458-4974-a19c-4dc6-cc98c2269626")
    IGuestDirectory : public IDirectory
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestDirectoryVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestDirectory * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestDirectory * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestDirectory * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestDirectory * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestDirectory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestDirectory * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestDirectory * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDirectory, get_DirectoryName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DirectoryName )( 
            IGuestDirectory * This,
            /* [retval][out] */ BSTR *aDirectoryName);
        
        DECLSPEC_XFGVIRT(IDirectory, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IGuestDirectory * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IDirectory, get_Filter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Filter )( 
            IGuestDirectory * This,
            /* [retval][out] */ BSTR *aFilter);
        
        DECLSPEC_XFGVIRT(IDirectory, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IGuestDirectory * This,
            /* [retval][out] */ ULONG *aId);
        
        DECLSPEC_XFGVIRT(IDirectory, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IGuestDirectory * This,
            /* [retval][out] */ DirectoryStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute1IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDirectory )( 
            IGuestDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute2IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDirectory )( 
            IGuestDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute3IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDirectory )( 
            IGuestDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute4IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IDirectory )( 
            IGuestDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute5IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IDirectory )( 
            IGuestDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute6IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IDirectory )( 
            IGuestDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute7IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IDirectory )( 
            IGuestDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, get_InternalAndReservedAttribute8IDirectory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IDirectory )( 
            IGuestDirectory * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDirectory, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            IGuestDirectory * This);
        
        DECLSPEC_XFGVIRT(IDirectory, List)
        HRESULT ( STDMETHODCALLTYPE *List )( 
            IGuestDirectory * This,
            /* [in] */ ULONG aMaxEntries,
            /* [retval][out] */ SAFEARRAY * *aObjInfo);
        
        DECLSPEC_XFGVIRT(IDirectory, Read)
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IGuestDirectory * This,
            /* [retval][out] */ IFsObjInfo **aObjInfo);
        
        DECLSPEC_XFGVIRT(IDirectory, Rewind)
        HRESULT ( STDMETHODCALLTYPE *Rewind )( 
            IGuestDirectory * This);
        
        DECLSPEC_XFGVIRT(IDirectory, InternalAndReservedMethod1IDirectory)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDirectory )( 
            IGuestDirectory * This);
        
        DECLSPEC_XFGVIRT(IDirectory, InternalAndReservedMethod2IDirectory)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDirectory )( 
            IGuestDirectory * This);
        
        DECLSPEC_XFGVIRT(IDirectory, InternalAndReservedMethod3IDirectory)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDirectory )( 
            IGuestDirectory * This);
        
        DECLSPEC_XFGVIRT(IDirectory, InternalAndReservedMethod4IDirectory)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IDirectory )( 
            IGuestDirectory * This);
        
        DECLSPEC_XFGVIRT(IGuestDirectory, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IGuestDirectory * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IGuestDirectoryVtbl;

    interface IGuestDirectory
    {
        CONST_VTBL struct IGuestDirectoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestDirectory_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestDirectory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestDirectory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestDirectory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestDirectory_get_DirectoryName(This,aDirectoryName)	\
    ( (This)->lpVtbl -> get_DirectoryName(This,aDirectoryName) ) 

#define IGuestDirectory_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IGuestDirectory_get_Filter(This,aFilter)	\
    ( (This)->lpVtbl -> get_Filter(This,aFilter) ) 

#define IGuestDirectory_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IGuestDirectory_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IGuestDirectory_get_InternalAndReservedAttribute1IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDirectory(This,aReserved) ) 

#define IGuestDirectory_get_InternalAndReservedAttribute2IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDirectory(This,aReserved) ) 

#define IGuestDirectory_get_InternalAndReservedAttribute3IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDirectory(This,aReserved) ) 

#define IGuestDirectory_get_InternalAndReservedAttribute4IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IDirectory(This,aReserved) ) 

#define IGuestDirectory_get_InternalAndReservedAttribute5IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IDirectory(This,aReserved) ) 

#define IGuestDirectory_get_InternalAndReservedAttribute6IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IDirectory(This,aReserved) ) 

#define IGuestDirectory_get_InternalAndReservedAttribute7IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IDirectory(This,aReserved) ) 

#define IGuestDirectory_get_InternalAndReservedAttribute8IDirectory(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IDirectory(This,aReserved) ) 

#define IGuestDirectory_Close(This)	\
    ( (This)->lpVtbl -> Close(This) ) 

#define IGuestDirectory_List(This,aMaxEntries,aObjInfo)	\
    ( (This)->lpVtbl -> List(This,aMaxEntries,aObjInfo) ) 

#define IGuestDirectory_Read(This,aObjInfo)	\
    ( (This)->lpVtbl -> Read(This,aObjInfo) ) 

#define IGuestDirectory_Rewind(This)	\
    ( (This)->lpVtbl -> Rewind(This) ) 

#define IGuestDirectory_InternalAndReservedMethod1IDirectory(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDirectory(This) ) 

#define IGuestDirectory_InternalAndReservedMethod2IDirectory(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDirectory(This) ) 

#define IGuestDirectory_InternalAndReservedMethod3IDirectory(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDirectory(This) ) 

#define IGuestDirectory_InternalAndReservedMethod4IDirectory(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IDirectory(This) ) 


#define IGuestDirectory_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestDirectory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0057 */
/* [local] */ 

#define COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IGuestDirectory_TO(smth) COM_FORWARD_IGuestDirectory_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IGuestDirectory_TO_OBJ(obj) COM_FORWARD_IGuestDirectory_TO ((obj)->)
#define COM_FORWARD_IGuestDirectory_TO_BASE(base) COM_FORWARD_IGuestDirectory_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0057_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0057_v0_0_s_ifspec;

#ifndef __IFile_INTERFACE_DEFINED__
#define __IFile_INTERFACE_DEFINED__

/* interface IFile */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IFile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("59a235ac-2f1a-4d6c-81fc-e3fa843f49ae")
    IFile : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ ULONG *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InitialSize( 
            /* [retval][out] */ LONG64 *aInitialSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Offset( 
            /* [retval][out] */ LONG64 *aOffset) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ FileStatus *aStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Filename( 
            /* [retval][out] */ BSTR *aFilename) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CreationMode( 
            /* [retval][out] */ ULONG *aCreationMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OpenAction( 
            /* [retval][out] */ FileOpenAction *aOpenAction) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AccessMode( 
            /* [retval][out] */ FileAccessMode *aAccessMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryInfo( 
            /* [retval][out] */ IFsObjInfo **aObjInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QuerySize( 
            /* [retval][out] */ LONG64 *aSize) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Read( 
            /* [in] */ ULONG aToRead,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ SAFEARRAY * *aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReadAt( 
            /* [in] */ LONG64 aOffset,
            /* [in] */ ULONG aToRead,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ SAFEARRAY * *aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Seek( 
            /* [in] */ LONG64 aOffset,
            /* [in] */ FileSeekOrigin aWhence,
            /* [retval][out] */ LONG64 *aNewOffset) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetACL( 
            /* [in] */ BSTR aAcl,
            /* [in] */ ULONG aMode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSize( 
            /* [in] */ LONG64 aSize) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Write( 
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WriteAt( 
            /* [in] */ LONG64 aOffset,
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IFile( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IFile( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IFile( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IFile( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IFileVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IFile * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IFile * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IFile * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IFile * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IFile * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IFile * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IFile * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFile, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IFile * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IFile, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IFile * This,
            /* [retval][out] */ ULONG *aId);
        
        DECLSPEC_XFGVIRT(IFile, get_InitialSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InitialSize )( 
            IFile * This,
            /* [retval][out] */ LONG64 *aInitialSize);
        
        DECLSPEC_XFGVIRT(IFile, get_Offset)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Offset )( 
            IFile * This,
            /* [retval][out] */ LONG64 *aOffset);
        
        DECLSPEC_XFGVIRT(IFile, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IFile * This,
            /* [retval][out] */ FileStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IFile, get_Filename)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Filename )( 
            IFile * This,
            /* [retval][out] */ BSTR *aFilename);
        
        DECLSPEC_XFGVIRT(IFile, get_CreationMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreationMode )( 
            IFile * This,
            /* [retval][out] */ ULONG *aCreationMode);
        
        DECLSPEC_XFGVIRT(IFile, get_OpenAction)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpenAction )( 
            IFile * This,
            /* [retval][out] */ FileOpenAction *aOpenAction);
        
        DECLSPEC_XFGVIRT(IFile, get_AccessMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AccessMode )( 
            IFile * This,
            /* [retval][out] */ FileAccessMode *aAccessMode);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute1IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFile )( 
            IFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute2IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFile )( 
            IFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute3IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFile )( 
            IFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute4IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFile )( 
            IFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute5IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFile )( 
            IFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute6IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFile )( 
            IFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute7IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFile )( 
            IFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute8IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFile )( 
            IFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            IFile * This);
        
        DECLSPEC_XFGVIRT(IFile, QueryInfo)
        HRESULT ( STDMETHODCALLTYPE *QueryInfo )( 
            IFile * This,
            /* [retval][out] */ IFsObjInfo **aObjInfo);
        
        DECLSPEC_XFGVIRT(IFile, QuerySize)
        HRESULT ( STDMETHODCALLTYPE *QuerySize )( 
            IFile * This,
            /* [retval][out] */ LONG64 *aSize);
        
        DECLSPEC_XFGVIRT(IFile, Read)
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IFile * This,
            /* [in] */ ULONG aToRead,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IFile, ReadAt)
        HRESULT ( STDMETHODCALLTYPE *ReadAt )( 
            IFile * This,
            /* [in] */ LONG64 aOffset,
            /* [in] */ ULONG aToRead,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IFile, Seek)
        HRESULT ( STDMETHODCALLTYPE *Seek )( 
            IFile * This,
            /* [in] */ LONG64 aOffset,
            /* [in] */ FileSeekOrigin aWhence,
            /* [retval][out] */ LONG64 *aNewOffset);
        
        DECLSPEC_XFGVIRT(IFile, SetACL)
        HRESULT ( STDMETHODCALLTYPE *SetACL )( 
            IFile * This,
            /* [in] */ BSTR aAcl,
            /* [in] */ ULONG aMode);
        
        DECLSPEC_XFGVIRT(IFile, SetSize)
        HRESULT ( STDMETHODCALLTYPE *SetSize )( 
            IFile * This,
            /* [in] */ LONG64 aSize);
        
        DECLSPEC_XFGVIRT(IFile, Write)
        HRESULT ( STDMETHODCALLTYPE *Write )( 
            IFile * This,
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten);
        
        DECLSPEC_XFGVIRT(IFile, WriteAt)
        HRESULT ( STDMETHODCALLTYPE *WriteAt )( 
            IFile * This,
            /* [in] */ LONG64 aOffset,
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten);
        
        DECLSPEC_XFGVIRT(IFile, InternalAndReservedMethod1IFile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IFile )( 
            IFile * This);
        
        DECLSPEC_XFGVIRT(IFile, InternalAndReservedMethod2IFile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IFile )( 
            IFile * This);
        
        DECLSPEC_XFGVIRT(IFile, InternalAndReservedMethod3IFile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IFile )( 
            IFile * This);
        
        DECLSPEC_XFGVIRT(IFile, InternalAndReservedMethod4IFile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IFile )( 
            IFile * This);
        
        END_INTERFACE
    } IFileVtbl;

    interface IFile
    {
        CONST_VTBL struct IFileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IFile_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IFile_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IFile_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IFile_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IFile_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IFile_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IFile_get_InitialSize(This,aInitialSize)	\
    ( (This)->lpVtbl -> get_InitialSize(This,aInitialSize) ) 

#define IFile_get_Offset(This,aOffset)	\
    ( (This)->lpVtbl -> get_Offset(This,aOffset) ) 

#define IFile_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IFile_get_Filename(This,aFilename)	\
    ( (This)->lpVtbl -> get_Filename(This,aFilename) ) 

#define IFile_get_CreationMode(This,aCreationMode)	\
    ( (This)->lpVtbl -> get_CreationMode(This,aCreationMode) ) 

#define IFile_get_OpenAction(This,aOpenAction)	\
    ( (This)->lpVtbl -> get_OpenAction(This,aOpenAction) ) 

#define IFile_get_AccessMode(This,aAccessMode)	\
    ( (This)->lpVtbl -> get_AccessMode(This,aAccessMode) ) 

#define IFile_get_InternalAndReservedAttribute1IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFile(This,aReserved) ) 

#define IFile_get_InternalAndReservedAttribute2IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFile(This,aReserved) ) 

#define IFile_get_InternalAndReservedAttribute3IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFile(This,aReserved) ) 

#define IFile_get_InternalAndReservedAttribute4IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFile(This,aReserved) ) 

#define IFile_get_InternalAndReservedAttribute5IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFile(This,aReserved) ) 

#define IFile_get_InternalAndReservedAttribute6IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFile(This,aReserved) ) 

#define IFile_get_InternalAndReservedAttribute7IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFile(This,aReserved) ) 

#define IFile_get_InternalAndReservedAttribute8IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFile(This,aReserved) ) 

#define IFile_Close(This)	\
    ( (This)->lpVtbl -> Close(This) ) 

#define IFile_QueryInfo(This,aObjInfo)	\
    ( (This)->lpVtbl -> QueryInfo(This,aObjInfo) ) 

#define IFile_QuerySize(This,aSize)	\
    ( (This)->lpVtbl -> QuerySize(This,aSize) ) 

#define IFile_Read(This,aToRead,aTimeoutMS,aData)	\
    ( (This)->lpVtbl -> Read(This,aToRead,aTimeoutMS,aData) ) 

#define IFile_ReadAt(This,aOffset,aToRead,aTimeoutMS,aData)	\
    ( (This)->lpVtbl -> ReadAt(This,aOffset,aToRead,aTimeoutMS,aData) ) 

#define IFile_Seek(This,aOffset,aWhence,aNewOffset)	\
    ( (This)->lpVtbl -> Seek(This,aOffset,aWhence,aNewOffset) ) 

#define IFile_SetACL(This,aAcl,aMode)	\
    ( (This)->lpVtbl -> SetACL(This,aAcl,aMode) ) 

#define IFile_SetSize(This,aSize)	\
    ( (This)->lpVtbl -> SetSize(This,aSize) ) 

#define IFile_Write(This,aData,aTimeoutMS,aWritten)	\
    ( (This)->lpVtbl -> Write(This,aData,aTimeoutMS,aWritten) ) 

#define IFile_WriteAt(This,aOffset,aData,aTimeoutMS,aWritten)	\
    ( (This)->lpVtbl -> WriteAt(This,aOffset,aData,aTimeoutMS,aWritten) ) 

#define IFile_InternalAndReservedMethod1IFile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IFile(This) ) 

#define IFile_InternalAndReservedMethod2IFile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IFile(This) ) 

#define IFile_InternalAndReservedMethod3IFile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IFile(This) ) 

#define IFile_InternalAndReservedMethod4IFile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IFile(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IFile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0058 */
/* [local] */ 

#define COM_FORWARD_IFile_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IFile_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IFile_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IFile_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IFile_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (ULONG * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IFile_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IFile_GETTER_Id_TO_BASE(base) COM_FORWARD_IFile_GETTER_Id_TO (base::)
#define COM_FORWARD_IFile_GETTER_InitialSize_TO(smth) HRESULT STDMETHODCALLTYPE get_InitialSize (LONG64 * aInitialSize) { return smth get_InitialSize (aInitialSize); }
#define COM_FORWARD_IFile_GETTER_InitialSize_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_InitialSize_TO ((obj)->)
#define COM_FORWARD_IFile_GETTER_InitialSize_TO_BASE(base) COM_FORWARD_IFile_GETTER_InitialSize_TO (base::)
#define COM_FORWARD_IFile_GETTER_Offset_TO(smth) HRESULT STDMETHODCALLTYPE get_Offset (LONG64 * aOffset) { return smth get_Offset (aOffset); }
#define COM_FORWARD_IFile_GETTER_Offset_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_Offset_TO ((obj)->)
#define COM_FORWARD_IFile_GETTER_Offset_TO_BASE(base) COM_FORWARD_IFile_GETTER_Offset_TO (base::)
#define COM_FORWARD_IFile_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (FileStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IFile_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IFile_GETTER_Status_TO_BASE(base) COM_FORWARD_IFile_GETTER_Status_TO (base::)
#define COM_FORWARD_IFile_GETTER_Filename_TO(smth) HRESULT STDMETHODCALLTYPE get_Filename (BSTR * aFilename) { return smth get_Filename (aFilename); }
#define COM_FORWARD_IFile_GETTER_Filename_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_Filename_TO ((obj)->)
#define COM_FORWARD_IFile_GETTER_Filename_TO_BASE(base) COM_FORWARD_IFile_GETTER_Filename_TO (base::)
#define COM_FORWARD_IFile_GETTER_CreationMode_TO(smth) HRESULT STDMETHODCALLTYPE get_CreationMode (ULONG * aCreationMode) { return smth get_CreationMode (aCreationMode); }
#define COM_FORWARD_IFile_GETTER_CreationMode_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_CreationMode_TO ((obj)->)
#define COM_FORWARD_IFile_GETTER_CreationMode_TO_BASE(base) COM_FORWARD_IFile_GETTER_CreationMode_TO (base::)
#define COM_FORWARD_IFile_GETTER_OpenAction_TO(smth) HRESULT STDMETHODCALLTYPE get_OpenAction (FileOpenAction * aOpenAction) { return smth get_OpenAction (aOpenAction); }
#define COM_FORWARD_IFile_GETTER_OpenAction_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_OpenAction_TO ((obj)->)
#define COM_FORWARD_IFile_GETTER_OpenAction_TO_BASE(base) COM_FORWARD_IFile_GETTER_OpenAction_TO (base::)
#define COM_FORWARD_IFile_GETTER_AccessMode_TO(smth) HRESULT STDMETHODCALLTYPE get_AccessMode (FileAccessMode * aAccessMode) { return smth get_AccessMode (aAccessMode); }
#define COM_FORWARD_IFile_GETTER_AccessMode_TO_OBJ(obj) COM_FORWARD_IFile_GETTER_AccessMode_TO ((obj)->)
#define COM_FORWARD_IFile_GETTER_AccessMode_TO_BASE(base) COM_FORWARD_IFile_GETTER_AccessMode_TO (base::)
#define COM_FORWARD_IFile_Close_TO(smth) HRESULT STDMETHODCALLTYPE Close() { return smth Close(); }
#define COM_FORWARD_IFile_Close_TO_OBJ(obj) COM_FORWARD_IFile_Close_TO ((obj)->)
#define COM_FORWARD_IFile_Close_TO_BASE(base) COM_FORWARD_IFile_Close_TO (base::)
#define COM_FORWARD_IFile_QueryInfo_TO(smth) HRESULT STDMETHODCALLTYPE QueryInfo (IFsObjInfo * * aObjInfo) { return smth QueryInfo (aObjInfo); }
#define COM_FORWARD_IFile_QueryInfo_TO_OBJ(obj) COM_FORWARD_IFile_QueryInfo_TO ((obj)->)
#define COM_FORWARD_IFile_QueryInfo_TO_BASE(base) COM_FORWARD_IFile_QueryInfo_TO (base::)
#define COM_FORWARD_IFile_QuerySize_TO(smth) HRESULT STDMETHODCALLTYPE QuerySize (LONG64 * aSize) { return smth QuerySize (aSize); }
#define COM_FORWARD_IFile_QuerySize_TO_OBJ(obj) COM_FORWARD_IFile_QuerySize_TO ((obj)->)
#define COM_FORWARD_IFile_QuerySize_TO_BASE(base) COM_FORWARD_IFile_QuerySize_TO (base::)
#define COM_FORWARD_IFile_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (ULONG aToRead, ULONG aTimeoutMS, SAFEARRAY * * aData) { return smth Read (aToRead, aTimeoutMS, aData); }
#define COM_FORWARD_IFile_Read_TO_OBJ(obj) COM_FORWARD_IFile_Read_TO ((obj)->)
#define COM_FORWARD_IFile_Read_TO_BASE(base) COM_FORWARD_IFile_Read_TO (base::)
#define COM_FORWARD_IFile_ReadAt_TO(smth) HRESULT STDMETHODCALLTYPE ReadAt (LONG64 aOffset, ULONG aToRead, ULONG aTimeoutMS, SAFEARRAY * * aData) { return smth ReadAt (aOffset, aToRead, aTimeoutMS, aData); }
#define COM_FORWARD_IFile_ReadAt_TO_OBJ(obj) COM_FORWARD_IFile_ReadAt_TO ((obj)->)
#define COM_FORWARD_IFile_ReadAt_TO_BASE(base) COM_FORWARD_IFile_ReadAt_TO (base::)
#define COM_FORWARD_IFile_Seek_TO(smth) HRESULT STDMETHODCALLTYPE Seek (LONG64 aOffset, FileSeekOrigin aWhence, LONG64 * aNewOffset) { return smth Seek (aOffset, aWhence, aNewOffset); }
#define COM_FORWARD_IFile_Seek_TO_OBJ(obj) COM_FORWARD_IFile_Seek_TO ((obj)->)
#define COM_FORWARD_IFile_Seek_TO_BASE(base) COM_FORWARD_IFile_Seek_TO (base::)
#define COM_FORWARD_IFile_SetACL_TO(smth) HRESULT STDMETHODCALLTYPE SetACL (BSTR aAcl, ULONG aMode) { return smth SetACL (aAcl, aMode); }
#define COM_FORWARD_IFile_SetACL_TO_OBJ(obj) COM_FORWARD_IFile_SetACL_TO ((obj)->)
#define COM_FORWARD_IFile_SetACL_TO_BASE(base) COM_FORWARD_IFile_SetACL_TO (base::)
#define COM_FORWARD_IFile_SetSize_TO(smth) HRESULT STDMETHODCALLTYPE SetSize (LONG64 aSize) { return smth SetSize (aSize); }
#define COM_FORWARD_IFile_SetSize_TO_OBJ(obj) COM_FORWARD_IFile_SetSize_TO ((obj)->)
#define COM_FORWARD_IFile_SetSize_TO_BASE(base) COM_FORWARD_IFile_SetSize_TO (base::)
#define COM_FORWARD_IFile_Write_TO(smth) HRESULT STDMETHODCALLTYPE Write (SAFEARRAY * * aData, ULONG aTimeoutMS, ULONG * aWritten) { return smth Write (aData, aTimeoutMS, aWritten); }
#define COM_FORWARD_IFile_Write_TO_OBJ(obj) COM_FORWARD_IFile_Write_TO ((obj)->)
#define COM_FORWARD_IFile_Write_TO_BASE(base) COM_FORWARD_IFile_Write_TO (base::)
#define COM_FORWARD_IFile_WriteAt_TO(smth) HRESULT STDMETHODCALLTYPE WriteAt (LONG64 aOffset, SAFEARRAY * * aData, ULONG aTimeoutMS, ULONG * aWritten) { return smth WriteAt (aOffset, aData, aTimeoutMS, aWritten); }
#define COM_FORWARD_IFile_WriteAt_TO_OBJ(obj) COM_FORWARD_IFile_WriteAt_TO ((obj)->)
#define COM_FORWARD_IFile_WriteAt_TO_BASE(base) COM_FORWARD_IFile_WriteAt_TO (base::)
#define COM_FORWARD_IFile_TO(smth) COM_FORWARD_IFile_GETTER_EventSource_TO (smth) COM_FORWARD_IFile_GETTER_Id_TO (smth) COM_FORWARD_IFile_GETTER_InitialSize_TO (smth) COM_FORWARD_IFile_GETTER_Offset_TO (smth) COM_FORWARD_IFile_GETTER_Status_TO (smth) COM_FORWARD_IFile_GETTER_Filename_TO (smth) COM_FORWARD_IFile_GETTER_CreationMode_TO (smth) COM_FORWARD_IFile_GETTER_OpenAction_TO (smth) COM_FORWARD_IFile_GETTER_AccessMode_TO (smth) COM_FORWARD_IFile_Close_TO (smth) COM_FORWARD_IFile_QueryInfo_TO (smth) COM_FORWARD_IFile_QuerySize_TO (smth) COM_FORWARD_IFile_Read_TO (smth) COM_FORWARD_IFile_ReadAt_TO (smth) COM_FORWARD_IFile_Seek_TO (smth) COM_FORWARD_IFile_SetACL_TO (smth) COM_FORWARD_IFile_SetSize_TO (smth) COM_FORWARD_IFile_Write_TO (smth) COM_FORWARD_IFile_WriteAt_TO (smth) 
#define COM_FORWARD_IFile_TO_OBJ(obj) COM_FORWARD_IFile_TO ((obj)->)
#define COM_FORWARD_IFile_TO_BASE(base) COM_FORWARD_IFile_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0058_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0058_v0_0_s_ifspec;

#ifndef __IGuestFile_INTERFACE_DEFINED__
#define __IGuestFile_INTERFACE_DEFINED__

/* interface IGuestFile */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestFile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("92f21dc0-44de-1653-b717-2ebf0ca9b664")
    IGuestFile : public IFile
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestFileVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestFile * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestFile * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestFile * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestFile * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestFile * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestFile * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestFile * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFile, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IGuestFile * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IFile, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IGuestFile * This,
            /* [retval][out] */ ULONG *aId);
        
        DECLSPEC_XFGVIRT(IFile, get_InitialSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InitialSize )( 
            IGuestFile * This,
            /* [retval][out] */ LONG64 *aInitialSize);
        
        DECLSPEC_XFGVIRT(IFile, get_Offset)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Offset )( 
            IGuestFile * This,
            /* [retval][out] */ LONG64 *aOffset);
        
        DECLSPEC_XFGVIRT(IFile, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IGuestFile * This,
            /* [retval][out] */ FileStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IFile, get_Filename)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Filename )( 
            IGuestFile * This,
            /* [retval][out] */ BSTR *aFilename);
        
        DECLSPEC_XFGVIRT(IFile, get_CreationMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreationMode )( 
            IGuestFile * This,
            /* [retval][out] */ ULONG *aCreationMode);
        
        DECLSPEC_XFGVIRT(IFile, get_OpenAction)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpenAction )( 
            IGuestFile * This,
            /* [retval][out] */ FileOpenAction *aOpenAction);
        
        DECLSPEC_XFGVIRT(IFile, get_AccessMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AccessMode )( 
            IGuestFile * This,
            /* [retval][out] */ FileAccessMode *aAccessMode);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute1IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFile )( 
            IGuestFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute2IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFile )( 
            IGuestFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute3IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFile )( 
            IGuestFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute4IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFile )( 
            IGuestFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute5IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFile )( 
            IGuestFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute6IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFile )( 
            IGuestFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute7IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFile )( 
            IGuestFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, get_InternalAndReservedAttribute8IFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFile )( 
            IGuestFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFile, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            IGuestFile * This);
        
        DECLSPEC_XFGVIRT(IFile, QueryInfo)
        HRESULT ( STDMETHODCALLTYPE *QueryInfo )( 
            IGuestFile * This,
            /* [retval][out] */ IFsObjInfo **aObjInfo);
        
        DECLSPEC_XFGVIRT(IFile, QuerySize)
        HRESULT ( STDMETHODCALLTYPE *QuerySize )( 
            IGuestFile * This,
            /* [retval][out] */ LONG64 *aSize);
        
        DECLSPEC_XFGVIRT(IFile, Read)
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IGuestFile * This,
            /* [in] */ ULONG aToRead,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IFile, ReadAt)
        HRESULT ( STDMETHODCALLTYPE *ReadAt )( 
            IGuestFile * This,
            /* [in] */ LONG64 aOffset,
            /* [in] */ ULONG aToRead,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IFile, Seek)
        HRESULT ( STDMETHODCALLTYPE *Seek )( 
            IGuestFile * This,
            /* [in] */ LONG64 aOffset,
            /* [in] */ FileSeekOrigin aWhence,
            /* [retval][out] */ LONG64 *aNewOffset);
        
        DECLSPEC_XFGVIRT(IFile, SetACL)
        HRESULT ( STDMETHODCALLTYPE *SetACL )( 
            IGuestFile * This,
            /* [in] */ BSTR aAcl,
            /* [in] */ ULONG aMode);
        
        DECLSPEC_XFGVIRT(IFile, SetSize)
        HRESULT ( STDMETHODCALLTYPE *SetSize )( 
            IGuestFile * This,
            /* [in] */ LONG64 aSize);
        
        DECLSPEC_XFGVIRT(IFile, Write)
        HRESULT ( STDMETHODCALLTYPE *Write )( 
            IGuestFile * This,
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten);
        
        DECLSPEC_XFGVIRT(IFile, WriteAt)
        HRESULT ( STDMETHODCALLTYPE *WriteAt )( 
            IGuestFile * This,
            /* [in] */ LONG64 aOffset,
            /* [in] */ SAFEARRAY * aData,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ ULONG *aWritten);
        
        DECLSPEC_XFGVIRT(IFile, InternalAndReservedMethod1IFile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IFile )( 
            IGuestFile * This);
        
        DECLSPEC_XFGVIRT(IFile, InternalAndReservedMethod2IFile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IFile )( 
            IGuestFile * This);
        
        DECLSPEC_XFGVIRT(IFile, InternalAndReservedMethod3IFile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IFile )( 
            IGuestFile * This);
        
        DECLSPEC_XFGVIRT(IFile, InternalAndReservedMethod4IFile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IFile )( 
            IGuestFile * This);
        
        DECLSPEC_XFGVIRT(IGuestFile, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IGuestFile * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IGuestFileVtbl;

    interface IGuestFile
    {
        CONST_VTBL struct IGuestFileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestFile_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestFile_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestFile_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestFile_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestFile_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IGuestFile_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IGuestFile_get_InitialSize(This,aInitialSize)	\
    ( (This)->lpVtbl -> get_InitialSize(This,aInitialSize) ) 

#define IGuestFile_get_Offset(This,aOffset)	\
    ( (This)->lpVtbl -> get_Offset(This,aOffset) ) 

#define IGuestFile_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IGuestFile_get_Filename(This,aFilename)	\
    ( (This)->lpVtbl -> get_Filename(This,aFilename) ) 

#define IGuestFile_get_CreationMode(This,aCreationMode)	\
    ( (This)->lpVtbl -> get_CreationMode(This,aCreationMode) ) 

#define IGuestFile_get_OpenAction(This,aOpenAction)	\
    ( (This)->lpVtbl -> get_OpenAction(This,aOpenAction) ) 

#define IGuestFile_get_AccessMode(This,aAccessMode)	\
    ( (This)->lpVtbl -> get_AccessMode(This,aAccessMode) ) 

#define IGuestFile_get_InternalAndReservedAttribute1IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFile(This,aReserved) ) 

#define IGuestFile_get_InternalAndReservedAttribute2IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFile(This,aReserved) ) 

#define IGuestFile_get_InternalAndReservedAttribute3IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFile(This,aReserved) ) 

#define IGuestFile_get_InternalAndReservedAttribute4IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFile(This,aReserved) ) 

#define IGuestFile_get_InternalAndReservedAttribute5IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFile(This,aReserved) ) 

#define IGuestFile_get_InternalAndReservedAttribute6IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFile(This,aReserved) ) 

#define IGuestFile_get_InternalAndReservedAttribute7IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFile(This,aReserved) ) 

#define IGuestFile_get_InternalAndReservedAttribute8IFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFile(This,aReserved) ) 

#define IGuestFile_Close(This)	\
    ( (This)->lpVtbl -> Close(This) ) 

#define IGuestFile_QueryInfo(This,aObjInfo)	\
    ( (This)->lpVtbl -> QueryInfo(This,aObjInfo) ) 

#define IGuestFile_QuerySize(This,aSize)	\
    ( (This)->lpVtbl -> QuerySize(This,aSize) ) 

#define IGuestFile_Read(This,aToRead,aTimeoutMS,aData)	\
    ( (This)->lpVtbl -> Read(This,aToRead,aTimeoutMS,aData) ) 

#define IGuestFile_ReadAt(This,aOffset,aToRead,aTimeoutMS,aData)	\
    ( (This)->lpVtbl -> ReadAt(This,aOffset,aToRead,aTimeoutMS,aData) ) 

#define IGuestFile_Seek(This,aOffset,aWhence,aNewOffset)	\
    ( (This)->lpVtbl -> Seek(This,aOffset,aWhence,aNewOffset) ) 

#define IGuestFile_SetACL(This,aAcl,aMode)	\
    ( (This)->lpVtbl -> SetACL(This,aAcl,aMode) ) 

#define IGuestFile_SetSize(This,aSize)	\
    ( (This)->lpVtbl -> SetSize(This,aSize) ) 

#define IGuestFile_Write(This,aData,aTimeoutMS,aWritten)	\
    ( (This)->lpVtbl -> Write(This,aData,aTimeoutMS,aWritten) ) 

#define IGuestFile_WriteAt(This,aOffset,aData,aTimeoutMS,aWritten)	\
    ( (This)->lpVtbl -> WriteAt(This,aOffset,aData,aTimeoutMS,aWritten) ) 

#define IGuestFile_InternalAndReservedMethod1IFile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IFile(This) ) 

#define IGuestFile_InternalAndReservedMethod2IFile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IFile(This) ) 

#define IGuestFile_InternalAndReservedMethod3IFile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IFile(This) ) 

#define IGuestFile_InternalAndReservedMethod4IFile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IFile(This) ) 


#define IGuestFile_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestFile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0059 */
/* [local] */ 

#define COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IGuestFile_TO(smth) COM_FORWARD_IGuestFile_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IGuestFile_TO_OBJ(obj) COM_FORWARD_IGuestFile_TO ((obj)->)
#define COM_FORWARD_IGuestFile_TO_BASE(base) COM_FORWARD_IGuestFile_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0059_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0059_v0_0_s_ifspec;

#ifndef __IFsInfo_INTERFACE_DEFINED__
#define __IFsInfo_INTERFACE_DEFINED__

/* interface IFsInfo */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IFsInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3db2ab1a-6cf7-42f1-8bf5-e1c0553e0b30")
    IFsInfo : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FreeSize( 
            /* [retval][out] */ LONG64 *aFreeSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TotalSize( 
            /* [retval][out] */ LONG64 *aTotalSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BlockSize( 
            /* [retval][out] */ ULONG *aBlockSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SectorSize( 
            /* [retval][out] */ ULONG *aSectorSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SerialNumber( 
            /* [retval][out] */ ULONG *aSerialNumber) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsRemote( 
            /* [retval][out] */ BOOL *aIsRemote) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsCaseSensitive( 
            /* [retval][out] */ BOOL *aIsCaseSensitive) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsReadOnly( 
            /* [retval][out] */ BOOL *aIsReadOnly) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsCompressed( 
            /* [retval][out] */ BOOL *aIsCompressed) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportsFileCompression( 
            /* [retval][out] */ BOOL *aSupportsFileCompression) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxComponent( 
            /* [retval][out] */ ULONG *aMaxComponent) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ BSTR *aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Label( 
            /* [retval][out] */ BSTR *aLabel) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MountPoint( 
            /* [retval][out] */ BSTR *aMountPoint) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IFsInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IFsInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IFsInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IFsInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IFsInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IFsInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IFsInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IFsInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IFsInfoVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IFsInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IFsInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IFsInfo * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IFsInfo * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IFsInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IFsInfo * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IFsInfo * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_FreeSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeSize )( 
            IFsInfo * This,
            /* [retval][out] */ LONG64 *aFreeSize);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_TotalSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TotalSize )( 
            IFsInfo * This,
            /* [retval][out] */ LONG64 *aTotalSize);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_BlockSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockSize )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aBlockSize);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_SectorSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SectorSize )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aSectorSize);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_SerialNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialNumber )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aSerialNumber);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_IsRemote)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsRemote )( 
            IFsInfo * This,
            /* [retval][out] */ BOOL *aIsRemote);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_IsCaseSensitive)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCaseSensitive )( 
            IFsInfo * This,
            /* [retval][out] */ BOOL *aIsCaseSensitive);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_IsReadOnly)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsReadOnly )( 
            IFsInfo * This,
            /* [retval][out] */ BOOL *aIsReadOnly);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_IsCompressed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCompressed )( 
            IFsInfo * This,
            /* [retval][out] */ BOOL *aIsCompressed);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_SupportsFileCompression)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportsFileCompression )( 
            IFsInfo * This,
            /* [retval][out] */ BOOL *aSupportsFileCompression);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_MaxComponent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxComponent )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aMaxComponent);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IFsInfo * This,
            /* [retval][out] */ BSTR *aType);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_Label)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label )( 
            IFsInfo * This,
            /* [retval][out] */ BSTR *aLabel);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_MountPoint)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MountPoint )( 
            IFsInfo * This,
            /* [retval][out] */ BSTR *aMountPoint);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute1IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFsInfo )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute2IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFsInfo )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute3IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFsInfo )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute4IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFsInfo )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute5IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFsInfo )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute6IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFsInfo )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute7IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFsInfo )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute8IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFsInfo )( 
            IFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IFsInfoVtbl;

    interface IFsInfo
    {
        CONST_VTBL struct IFsInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IFsInfo_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IFsInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IFsInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IFsInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IFsInfo_get_FreeSize(This,aFreeSize)	\
    ( (This)->lpVtbl -> get_FreeSize(This,aFreeSize) ) 

#define IFsInfo_get_TotalSize(This,aTotalSize)	\
    ( (This)->lpVtbl -> get_TotalSize(This,aTotalSize) ) 

#define IFsInfo_get_BlockSize(This,aBlockSize)	\
    ( (This)->lpVtbl -> get_BlockSize(This,aBlockSize) ) 

#define IFsInfo_get_SectorSize(This,aSectorSize)	\
    ( (This)->lpVtbl -> get_SectorSize(This,aSectorSize) ) 

#define IFsInfo_get_SerialNumber(This,aSerialNumber)	\
    ( (This)->lpVtbl -> get_SerialNumber(This,aSerialNumber) ) 

#define IFsInfo_get_IsRemote(This,aIsRemote)	\
    ( (This)->lpVtbl -> get_IsRemote(This,aIsRemote) ) 

#define IFsInfo_get_IsCaseSensitive(This,aIsCaseSensitive)	\
    ( (This)->lpVtbl -> get_IsCaseSensitive(This,aIsCaseSensitive) ) 

#define IFsInfo_get_IsReadOnly(This,aIsReadOnly)	\
    ( (This)->lpVtbl -> get_IsReadOnly(This,aIsReadOnly) ) 

#define IFsInfo_get_IsCompressed(This,aIsCompressed)	\
    ( (This)->lpVtbl -> get_IsCompressed(This,aIsCompressed) ) 

#define IFsInfo_get_SupportsFileCompression(This,aSupportsFileCompression)	\
    ( (This)->lpVtbl -> get_SupportsFileCompression(This,aSupportsFileCompression) ) 

#define IFsInfo_get_MaxComponent(This,aMaxComponent)	\
    ( (This)->lpVtbl -> get_MaxComponent(This,aMaxComponent) ) 

#define IFsInfo_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IFsInfo_get_Label(This,aLabel)	\
    ( (This)->lpVtbl -> get_Label(This,aLabel) ) 

#define IFsInfo_get_MountPoint(This,aMountPoint)	\
    ( (This)->lpVtbl -> get_MountPoint(This,aMountPoint) ) 

#define IFsInfo_get_InternalAndReservedAttribute1IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFsInfo(This,aReserved) ) 

#define IFsInfo_get_InternalAndReservedAttribute2IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFsInfo(This,aReserved) ) 

#define IFsInfo_get_InternalAndReservedAttribute3IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFsInfo(This,aReserved) ) 

#define IFsInfo_get_InternalAndReservedAttribute4IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFsInfo(This,aReserved) ) 

#define IFsInfo_get_InternalAndReservedAttribute5IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFsInfo(This,aReserved) ) 

#define IFsInfo_get_InternalAndReservedAttribute6IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFsInfo(This,aReserved) ) 

#define IFsInfo_get_InternalAndReservedAttribute7IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFsInfo(This,aReserved) ) 

#define IFsInfo_get_InternalAndReservedAttribute8IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFsInfo(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IFsInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0060 */
/* [local] */ 

#define COM_FORWARD_IFsInfo_GETTER_FreeSize_TO(smth) HRESULT STDMETHODCALLTYPE get_FreeSize (LONG64 * aFreeSize) { return smth get_FreeSize (aFreeSize); }
#define COM_FORWARD_IFsInfo_GETTER_FreeSize_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_FreeSize_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_FreeSize_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_FreeSize_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_TotalSize_TO(smth) HRESULT STDMETHODCALLTYPE get_TotalSize (LONG64 * aTotalSize) { return smth get_TotalSize (aTotalSize); }
#define COM_FORWARD_IFsInfo_GETTER_TotalSize_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_TotalSize_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_TotalSize_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_TotalSize_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_BlockSize_TO(smth) HRESULT STDMETHODCALLTYPE get_BlockSize (ULONG * aBlockSize) { return smth get_BlockSize (aBlockSize); }
#define COM_FORWARD_IFsInfo_GETTER_BlockSize_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_BlockSize_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_BlockSize_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_BlockSize_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_SectorSize_TO(smth) HRESULT STDMETHODCALLTYPE get_SectorSize (ULONG * aSectorSize) { return smth get_SectorSize (aSectorSize); }
#define COM_FORWARD_IFsInfo_GETTER_SectorSize_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_SectorSize_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_SectorSize_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_SectorSize_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_SerialNumber_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialNumber (ULONG * aSerialNumber) { return smth get_SerialNumber (aSerialNumber); }
#define COM_FORWARD_IFsInfo_GETTER_SerialNumber_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_SerialNumber_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_SerialNumber_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_SerialNumber_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_IsRemote_TO(smth) HRESULT STDMETHODCALLTYPE get_IsRemote (BOOL * aIsRemote) { return smth get_IsRemote (aIsRemote); }
#define COM_FORWARD_IFsInfo_GETTER_IsRemote_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_IsRemote_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_IsRemote_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_IsRemote_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_IsCaseSensitive_TO(smth) HRESULT STDMETHODCALLTYPE get_IsCaseSensitive (BOOL * aIsCaseSensitive) { return smth get_IsCaseSensitive (aIsCaseSensitive); }
#define COM_FORWARD_IFsInfo_GETTER_IsCaseSensitive_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_IsCaseSensitive_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_IsCaseSensitive_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_IsCaseSensitive_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_IsReadOnly_TO(smth) HRESULT STDMETHODCALLTYPE get_IsReadOnly (BOOL * aIsReadOnly) { return smth get_IsReadOnly (aIsReadOnly); }
#define COM_FORWARD_IFsInfo_GETTER_IsReadOnly_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_IsReadOnly_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_IsReadOnly_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_IsReadOnly_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_IsCompressed_TO(smth) HRESULT STDMETHODCALLTYPE get_IsCompressed (BOOL * aIsCompressed) { return smth get_IsCompressed (aIsCompressed); }
#define COM_FORWARD_IFsInfo_GETTER_IsCompressed_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_IsCompressed_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_IsCompressed_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_IsCompressed_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_SupportsFileCompression_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportsFileCompression (BOOL * aSupportsFileCompression) { return smth get_SupportsFileCompression (aSupportsFileCompression); }
#define COM_FORWARD_IFsInfo_GETTER_SupportsFileCompression_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_SupportsFileCompression_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_SupportsFileCompression_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_SupportsFileCompression_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_MaxComponent_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxComponent (ULONG * aMaxComponent) { return smth get_MaxComponent (aMaxComponent); }
#define COM_FORWARD_IFsInfo_GETTER_MaxComponent_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_MaxComponent_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_MaxComponent_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_MaxComponent_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (BSTR * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IFsInfo_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_Type_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_Type_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_Label_TO(smth) HRESULT STDMETHODCALLTYPE get_Label (BSTR * aLabel) { return smth get_Label (aLabel); }
#define COM_FORWARD_IFsInfo_GETTER_Label_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_Label_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_Label_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_Label_TO (base::)
#define COM_FORWARD_IFsInfo_GETTER_MountPoint_TO(smth) HRESULT STDMETHODCALLTYPE get_MountPoint (BSTR * aMountPoint) { return smth get_MountPoint (aMountPoint); }
#define COM_FORWARD_IFsInfo_GETTER_MountPoint_TO_OBJ(obj) COM_FORWARD_IFsInfo_GETTER_MountPoint_TO ((obj)->)
#define COM_FORWARD_IFsInfo_GETTER_MountPoint_TO_BASE(base) COM_FORWARD_IFsInfo_GETTER_MountPoint_TO (base::)
#define COM_FORWARD_IFsInfo_TO(smth) COM_FORWARD_IFsInfo_GETTER_FreeSize_TO (smth) COM_FORWARD_IFsInfo_GETTER_TotalSize_TO (smth) COM_FORWARD_IFsInfo_GETTER_BlockSize_TO (smth) COM_FORWARD_IFsInfo_GETTER_SectorSize_TO (smth) COM_FORWARD_IFsInfo_GETTER_SerialNumber_TO (smth) COM_FORWARD_IFsInfo_GETTER_IsRemote_TO (smth) COM_FORWARD_IFsInfo_GETTER_IsCaseSensitive_TO (smth) COM_FORWARD_IFsInfo_GETTER_IsReadOnly_TO (smth) COM_FORWARD_IFsInfo_GETTER_IsCompressed_TO (smth) COM_FORWARD_IFsInfo_GETTER_SupportsFileCompression_TO (smth) COM_FORWARD_IFsInfo_GETTER_MaxComponent_TO (smth) COM_FORWARD_IFsInfo_GETTER_Type_TO (smth) COM_FORWARD_IFsInfo_GETTER_Label_TO (smth) COM_FORWARD_IFsInfo_GETTER_MountPoint_TO (smth) 
#define COM_FORWARD_IFsInfo_TO_OBJ(obj) COM_FORWARD_IFsInfo_TO ((obj)->)
#define COM_FORWARD_IFsInfo_TO_BASE(base) COM_FORWARD_IFsInfo_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0060_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0060_v0_0_s_ifspec;

#ifndef __IFsObjInfo_INTERFACE_DEFINED__
#define __IFsObjInfo_INTERFACE_DEFINED__

/* interface IFsObjInfo */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IFsObjInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("081fc833-c6fa-430e-6020-6a505d086387")
    IFsObjInfo : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ FsObjType *aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FileAttributes( 
            /* [retval][out] */ BSTR *aFileAttributes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ObjectSize( 
            /* [retval][out] */ LONG64 *aObjectSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllocatedSize( 
            /* [retval][out] */ LONG64 *aAllocatedSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AccessTime( 
            /* [retval][out] */ LONG64 *aAccessTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BirthTime( 
            /* [retval][out] */ LONG64 *aBirthTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ChangeTime( 
            /* [retval][out] */ LONG64 *aChangeTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ModificationTime( 
            /* [retval][out] */ LONG64 *aModificationTime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UID( 
            /* [retval][out] */ LONG *aUID) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UserName( 
            /* [retval][out] */ BSTR *aUserName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GID( 
            /* [retval][out] */ LONG *aGID) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GroupName( 
            /* [retval][out] */ BSTR *aGroupName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NodeId( 
            /* [retval][out] */ LONG64 *aNodeId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NodeIdDevice( 
            /* [retval][out] */ ULONG *aNodeIdDevice) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HardLinks( 
            /* [retval][out] */ ULONG *aHardLinks) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeviceNumber( 
            /* [retval][out] */ ULONG *aDeviceNumber) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GenerationId( 
            /* [retval][out] */ ULONG *aGenerationId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UserFlags( 
            /* [retval][out] */ ULONG *aUserFlags) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IFsObjInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IFsObjInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IFsObjInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IFsObjInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IFsObjInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IFsObjInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IFsObjInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IFsObjInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IFsObjInfoVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IFsObjInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IFsObjInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IFsObjInfo * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IFsObjInfo * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IFsObjInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IFsObjInfo * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IFsObjInfo * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IFsObjInfo * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IFsObjInfo * This,
            /* [retval][out] */ FsObjType *aType);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_FileAttributes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FileAttributes )( 
            IFsObjInfo * This,
            /* [retval][out] */ BSTR *aFileAttributes);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_ObjectSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectSize )( 
            IFsObjInfo * This,
            /* [retval][out] */ LONG64 *aObjectSize);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_AllocatedSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllocatedSize )( 
            IFsObjInfo * This,
            /* [retval][out] */ LONG64 *aAllocatedSize);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_AccessTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AccessTime )( 
            IFsObjInfo * This,
            /* [retval][out] */ LONG64 *aAccessTime);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_BirthTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BirthTime )( 
            IFsObjInfo * This,
            /* [retval][out] */ LONG64 *aBirthTime);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_ChangeTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChangeTime )( 
            IFsObjInfo * This,
            /* [retval][out] */ LONG64 *aChangeTime);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_ModificationTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModificationTime )( 
            IFsObjInfo * This,
            /* [retval][out] */ LONG64 *aModificationTime);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_UID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UID )( 
            IFsObjInfo * This,
            /* [retval][out] */ LONG *aUID);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_UserName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( 
            IFsObjInfo * This,
            /* [retval][out] */ BSTR *aUserName);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_GID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GID )( 
            IFsObjInfo * This,
            /* [retval][out] */ LONG *aGID);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_GroupName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GroupName )( 
            IFsObjInfo * This,
            /* [retval][out] */ BSTR *aGroupName);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_NodeId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NodeId )( 
            IFsObjInfo * This,
            /* [retval][out] */ LONG64 *aNodeId);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_NodeIdDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NodeIdDevice )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aNodeIdDevice);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_HardLinks)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HardLinks )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aHardLinks);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_DeviceNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceNumber )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aDeviceNumber);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_GenerationId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenerationId )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aGenerationId);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_UserFlags)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserFlags )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aUserFlags);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute1IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFsObjInfo )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute2IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFsObjInfo )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute3IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFsObjInfo )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute4IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFsObjInfo )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute5IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFsObjInfo )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute6IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFsObjInfo )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute7IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFsObjInfo )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute8IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFsObjInfo )( 
            IFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IFsObjInfoVtbl;

    interface IFsObjInfo
    {
        CONST_VTBL struct IFsObjInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IFsObjInfo_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IFsObjInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IFsObjInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IFsObjInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IFsObjInfo_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IFsObjInfo_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IFsObjInfo_get_FileAttributes(This,aFileAttributes)	\
    ( (This)->lpVtbl -> get_FileAttributes(This,aFileAttributes) ) 

#define IFsObjInfo_get_ObjectSize(This,aObjectSize)	\
    ( (This)->lpVtbl -> get_ObjectSize(This,aObjectSize) ) 

#define IFsObjInfo_get_AllocatedSize(This,aAllocatedSize)	\
    ( (This)->lpVtbl -> get_AllocatedSize(This,aAllocatedSize) ) 

#define IFsObjInfo_get_AccessTime(This,aAccessTime)	\
    ( (This)->lpVtbl -> get_AccessTime(This,aAccessTime) ) 

#define IFsObjInfo_get_BirthTime(This,aBirthTime)	\
    ( (This)->lpVtbl -> get_BirthTime(This,aBirthTime) ) 

#define IFsObjInfo_get_ChangeTime(This,aChangeTime)	\
    ( (This)->lpVtbl -> get_ChangeTime(This,aChangeTime) ) 

#define IFsObjInfo_get_ModificationTime(This,aModificationTime)	\
    ( (This)->lpVtbl -> get_ModificationTime(This,aModificationTime) ) 

#define IFsObjInfo_get_UID(This,aUID)	\
    ( (This)->lpVtbl -> get_UID(This,aUID) ) 

#define IFsObjInfo_get_UserName(This,aUserName)	\
    ( (This)->lpVtbl -> get_UserName(This,aUserName) ) 

#define IFsObjInfo_get_GID(This,aGID)	\
    ( (This)->lpVtbl -> get_GID(This,aGID) ) 

#define IFsObjInfo_get_GroupName(This,aGroupName)	\
    ( (This)->lpVtbl -> get_GroupName(This,aGroupName) ) 

#define IFsObjInfo_get_NodeId(This,aNodeId)	\
    ( (This)->lpVtbl -> get_NodeId(This,aNodeId) ) 

#define IFsObjInfo_get_NodeIdDevice(This,aNodeIdDevice)	\
    ( (This)->lpVtbl -> get_NodeIdDevice(This,aNodeIdDevice) ) 

#define IFsObjInfo_get_HardLinks(This,aHardLinks)	\
    ( (This)->lpVtbl -> get_HardLinks(This,aHardLinks) ) 

#define IFsObjInfo_get_DeviceNumber(This,aDeviceNumber)	\
    ( (This)->lpVtbl -> get_DeviceNumber(This,aDeviceNumber) ) 

#define IFsObjInfo_get_GenerationId(This,aGenerationId)	\
    ( (This)->lpVtbl -> get_GenerationId(This,aGenerationId) ) 

#define IFsObjInfo_get_UserFlags(This,aUserFlags)	\
    ( (This)->lpVtbl -> get_UserFlags(This,aUserFlags) ) 

#define IFsObjInfo_get_InternalAndReservedAttribute1IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFsObjInfo(This,aReserved) ) 

#define IFsObjInfo_get_InternalAndReservedAttribute2IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFsObjInfo(This,aReserved) ) 

#define IFsObjInfo_get_InternalAndReservedAttribute3IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFsObjInfo(This,aReserved) ) 

#define IFsObjInfo_get_InternalAndReservedAttribute4IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFsObjInfo(This,aReserved) ) 

#define IFsObjInfo_get_InternalAndReservedAttribute5IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFsObjInfo(This,aReserved) ) 

#define IFsObjInfo_get_InternalAndReservedAttribute6IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFsObjInfo(This,aReserved) ) 

#define IFsObjInfo_get_InternalAndReservedAttribute7IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFsObjInfo(This,aReserved) ) 

#define IFsObjInfo_get_InternalAndReservedAttribute8IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFsObjInfo(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IFsObjInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0061 */
/* [local] */ 

#define COM_FORWARD_IFsObjInfo_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IFsObjInfo_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_Name_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_Name_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (FsObjType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IFsObjInfo_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_Type_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_Type_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_FileAttributes_TO(smth) HRESULT STDMETHODCALLTYPE get_FileAttributes (BSTR * aFileAttributes) { return smth get_FileAttributes (aFileAttributes); }
#define COM_FORWARD_IFsObjInfo_GETTER_FileAttributes_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_FileAttributes_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_FileAttributes_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_FileAttributes_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_ObjectSize_TO(smth) HRESULT STDMETHODCALLTYPE get_ObjectSize (LONG64 * aObjectSize) { return smth get_ObjectSize (aObjectSize); }
#define COM_FORWARD_IFsObjInfo_GETTER_ObjectSize_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_ObjectSize_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_ObjectSize_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_ObjectSize_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_AllocatedSize_TO(smth) HRESULT STDMETHODCALLTYPE get_AllocatedSize (LONG64 * aAllocatedSize) { return smth get_AllocatedSize (aAllocatedSize); }
#define COM_FORWARD_IFsObjInfo_GETTER_AllocatedSize_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_AllocatedSize_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_AllocatedSize_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_AllocatedSize_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_AccessTime_TO(smth) HRESULT STDMETHODCALLTYPE get_AccessTime (LONG64 * aAccessTime) { return smth get_AccessTime (aAccessTime); }
#define COM_FORWARD_IFsObjInfo_GETTER_AccessTime_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_AccessTime_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_AccessTime_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_AccessTime_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_BirthTime_TO(smth) HRESULT STDMETHODCALLTYPE get_BirthTime (LONG64 * aBirthTime) { return smth get_BirthTime (aBirthTime); }
#define COM_FORWARD_IFsObjInfo_GETTER_BirthTime_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_BirthTime_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_BirthTime_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_BirthTime_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_ChangeTime_TO(smth) HRESULT STDMETHODCALLTYPE get_ChangeTime (LONG64 * aChangeTime) { return smth get_ChangeTime (aChangeTime); }
#define COM_FORWARD_IFsObjInfo_GETTER_ChangeTime_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_ChangeTime_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_ChangeTime_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_ChangeTime_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_ModificationTime_TO(smth) HRESULT STDMETHODCALLTYPE get_ModificationTime (LONG64 * aModificationTime) { return smth get_ModificationTime (aModificationTime); }
#define COM_FORWARD_IFsObjInfo_GETTER_ModificationTime_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_ModificationTime_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_ModificationTime_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_ModificationTime_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_UID_TO(smth) HRESULT STDMETHODCALLTYPE get_UID (LONG * aUID) { return smth get_UID (aUID); }
#define COM_FORWARD_IFsObjInfo_GETTER_UID_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_UID_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_UID_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_UID_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_UserName_TO(smth) HRESULT STDMETHODCALLTYPE get_UserName (BSTR * aUserName) { return smth get_UserName (aUserName); }
#define COM_FORWARD_IFsObjInfo_GETTER_UserName_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_UserName_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_UserName_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_UserName_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_GID_TO(smth) HRESULT STDMETHODCALLTYPE get_GID (LONG * aGID) { return smth get_GID (aGID); }
#define COM_FORWARD_IFsObjInfo_GETTER_GID_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_GID_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_GID_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_GID_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_GroupName_TO(smth) HRESULT STDMETHODCALLTYPE get_GroupName (BSTR * aGroupName) { return smth get_GroupName (aGroupName); }
#define COM_FORWARD_IFsObjInfo_GETTER_GroupName_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_GroupName_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_GroupName_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_GroupName_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_NodeId_TO(smth) HRESULT STDMETHODCALLTYPE get_NodeId (LONG64 * aNodeId) { return smth get_NodeId (aNodeId); }
#define COM_FORWARD_IFsObjInfo_GETTER_NodeId_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_NodeId_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_NodeId_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_NodeId_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_NodeIdDevice_TO(smth) HRESULT STDMETHODCALLTYPE get_NodeIdDevice (ULONG * aNodeIdDevice) { return smth get_NodeIdDevice (aNodeIdDevice); }
#define COM_FORWARD_IFsObjInfo_GETTER_NodeIdDevice_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_NodeIdDevice_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_NodeIdDevice_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_NodeIdDevice_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_HardLinks_TO(smth) HRESULT STDMETHODCALLTYPE get_HardLinks (ULONG * aHardLinks) { return smth get_HardLinks (aHardLinks); }
#define COM_FORWARD_IFsObjInfo_GETTER_HardLinks_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_HardLinks_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_HardLinks_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_HardLinks_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_DeviceNumber_TO(smth) HRESULT STDMETHODCALLTYPE get_DeviceNumber (ULONG * aDeviceNumber) { return smth get_DeviceNumber (aDeviceNumber); }
#define COM_FORWARD_IFsObjInfo_GETTER_DeviceNumber_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_DeviceNumber_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_DeviceNumber_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_DeviceNumber_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_GenerationId_TO(smth) HRESULT STDMETHODCALLTYPE get_GenerationId (ULONG * aGenerationId) { return smth get_GenerationId (aGenerationId); }
#define COM_FORWARD_IFsObjInfo_GETTER_GenerationId_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_GenerationId_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_GenerationId_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_GenerationId_TO (base::)
#define COM_FORWARD_IFsObjInfo_GETTER_UserFlags_TO(smth) HRESULT STDMETHODCALLTYPE get_UserFlags (ULONG * aUserFlags) { return smth get_UserFlags (aUserFlags); }
#define COM_FORWARD_IFsObjInfo_GETTER_UserFlags_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_GETTER_UserFlags_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_GETTER_UserFlags_TO_BASE(base) COM_FORWARD_IFsObjInfo_GETTER_UserFlags_TO (base::)
#define COM_FORWARD_IFsObjInfo_TO(smth) COM_FORWARD_IFsObjInfo_GETTER_Name_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_Type_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_FileAttributes_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_ObjectSize_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_AllocatedSize_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_AccessTime_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_BirthTime_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_ChangeTime_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_ModificationTime_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_UID_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_UserName_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_GID_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_GroupName_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_NodeId_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_NodeIdDevice_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_HardLinks_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_DeviceNumber_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_GenerationId_TO (smth) COM_FORWARD_IFsObjInfo_GETTER_UserFlags_TO (smth) 
#define COM_FORWARD_IFsObjInfo_TO_OBJ(obj) COM_FORWARD_IFsObjInfo_TO ((obj)->)
#define COM_FORWARD_IFsObjInfo_TO_BASE(base) COM_FORWARD_IFsObjInfo_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0061_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0061_v0_0_s_ifspec;

#ifndef __IGuestFsInfo_INTERFACE_DEFINED__
#define __IGuestFsInfo_INTERFACE_DEFINED__

/* interface IGuestFsInfo */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestFsInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("726eaca9-091e-41b4-bca6-355efe864107")
    IGuestFsInfo : public IFsInfo
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestFsInfoVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestFsInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestFsInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestFsInfo * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestFsInfo * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestFsInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestFsInfo * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestFsInfo * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_FreeSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeSize )( 
            IGuestFsInfo * This,
            /* [retval][out] */ LONG64 *aFreeSize);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_TotalSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TotalSize )( 
            IGuestFsInfo * This,
            /* [retval][out] */ LONG64 *aTotalSize);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_BlockSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockSize )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aBlockSize);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_SectorSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SectorSize )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aSectorSize);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_SerialNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialNumber )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aSerialNumber);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_IsRemote)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsRemote )( 
            IGuestFsInfo * This,
            /* [retval][out] */ BOOL *aIsRemote);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_IsCaseSensitive)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCaseSensitive )( 
            IGuestFsInfo * This,
            /* [retval][out] */ BOOL *aIsCaseSensitive);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_IsReadOnly)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsReadOnly )( 
            IGuestFsInfo * This,
            /* [retval][out] */ BOOL *aIsReadOnly);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_IsCompressed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCompressed )( 
            IGuestFsInfo * This,
            /* [retval][out] */ BOOL *aIsCompressed);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_SupportsFileCompression)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportsFileCompression )( 
            IGuestFsInfo * This,
            /* [retval][out] */ BOOL *aSupportsFileCompression);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_MaxComponent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxComponent )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aMaxComponent);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestFsInfo * This,
            /* [retval][out] */ BSTR *aType);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_Label)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label )( 
            IGuestFsInfo * This,
            /* [retval][out] */ BSTR *aLabel);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_MountPoint)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MountPoint )( 
            IGuestFsInfo * This,
            /* [retval][out] */ BSTR *aMountPoint);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute1IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFsInfo )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute2IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFsInfo )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute3IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFsInfo )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute4IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFsInfo )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute5IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFsInfo )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute6IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFsInfo )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute7IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFsInfo )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsInfo, get_InternalAndReservedAttribute8IFsInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFsInfo )( 
            IGuestFsInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestFsInfo, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IGuestFsInfo * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IGuestFsInfoVtbl;

    interface IGuestFsInfo
    {
        CONST_VTBL struct IGuestFsInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestFsInfo_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestFsInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestFsInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestFsInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestFsInfo_get_FreeSize(This,aFreeSize)	\
    ( (This)->lpVtbl -> get_FreeSize(This,aFreeSize) ) 

#define IGuestFsInfo_get_TotalSize(This,aTotalSize)	\
    ( (This)->lpVtbl -> get_TotalSize(This,aTotalSize) ) 

#define IGuestFsInfo_get_BlockSize(This,aBlockSize)	\
    ( (This)->lpVtbl -> get_BlockSize(This,aBlockSize) ) 

#define IGuestFsInfo_get_SectorSize(This,aSectorSize)	\
    ( (This)->lpVtbl -> get_SectorSize(This,aSectorSize) ) 

#define IGuestFsInfo_get_SerialNumber(This,aSerialNumber)	\
    ( (This)->lpVtbl -> get_SerialNumber(This,aSerialNumber) ) 

#define IGuestFsInfo_get_IsRemote(This,aIsRemote)	\
    ( (This)->lpVtbl -> get_IsRemote(This,aIsRemote) ) 

#define IGuestFsInfo_get_IsCaseSensitive(This,aIsCaseSensitive)	\
    ( (This)->lpVtbl -> get_IsCaseSensitive(This,aIsCaseSensitive) ) 

#define IGuestFsInfo_get_IsReadOnly(This,aIsReadOnly)	\
    ( (This)->lpVtbl -> get_IsReadOnly(This,aIsReadOnly) ) 

#define IGuestFsInfo_get_IsCompressed(This,aIsCompressed)	\
    ( (This)->lpVtbl -> get_IsCompressed(This,aIsCompressed) ) 

#define IGuestFsInfo_get_SupportsFileCompression(This,aSupportsFileCompression)	\
    ( (This)->lpVtbl -> get_SupportsFileCompression(This,aSupportsFileCompression) ) 

#define IGuestFsInfo_get_MaxComponent(This,aMaxComponent)	\
    ( (This)->lpVtbl -> get_MaxComponent(This,aMaxComponent) ) 

#define IGuestFsInfo_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestFsInfo_get_Label(This,aLabel)	\
    ( (This)->lpVtbl -> get_Label(This,aLabel) ) 

#define IGuestFsInfo_get_MountPoint(This,aMountPoint)	\
    ( (This)->lpVtbl -> get_MountPoint(This,aMountPoint) ) 

#define IGuestFsInfo_get_InternalAndReservedAttribute1IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFsInfo(This,aReserved) ) 

#define IGuestFsInfo_get_InternalAndReservedAttribute2IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFsInfo(This,aReserved) ) 

#define IGuestFsInfo_get_InternalAndReservedAttribute3IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFsInfo(This,aReserved) ) 

#define IGuestFsInfo_get_InternalAndReservedAttribute4IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFsInfo(This,aReserved) ) 

#define IGuestFsInfo_get_InternalAndReservedAttribute5IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFsInfo(This,aReserved) ) 

#define IGuestFsInfo_get_InternalAndReservedAttribute6IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFsInfo(This,aReserved) ) 

#define IGuestFsInfo_get_InternalAndReservedAttribute7IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFsInfo(This,aReserved) ) 

#define IGuestFsInfo_get_InternalAndReservedAttribute8IFsInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFsInfo(This,aReserved) ) 


#define IGuestFsInfo_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestFsInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0062 */
/* [local] */ 

#define COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IGuestFsInfo_TO(smth) COM_FORWARD_IGuestFsInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IGuestFsInfo_TO_OBJ(obj) COM_FORWARD_IGuestFsInfo_TO ((obj)->)
#define COM_FORWARD_IGuestFsInfo_TO_BASE(base) COM_FORWARD_IGuestFsInfo_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0062_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0062_v0_0_s_ifspec;

#ifndef __IGuestFsObjInfo_INTERFACE_DEFINED__
#define __IGuestFsObjInfo_INTERFACE_DEFINED__

/* interface IGuestFsObjInfo */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestFsObjInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6620db85-44e0-ca69-e9e0-d4907ceccbe5")
    IGuestFsObjInfo : public IFsObjInfo
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestFsObjInfoVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestFsObjInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestFsObjInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestFsObjInfo * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestFsObjInfo * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestFsObjInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestFsObjInfo * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestFsObjInfo * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ FsObjType *aType);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_FileAttributes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FileAttributes )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ BSTR *aFileAttributes);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_ObjectSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectSize )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ LONG64 *aObjectSize);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_AllocatedSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllocatedSize )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ LONG64 *aAllocatedSize);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_AccessTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AccessTime )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ LONG64 *aAccessTime);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_BirthTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BirthTime )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ LONG64 *aBirthTime);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_ChangeTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChangeTime )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ LONG64 *aChangeTime);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_ModificationTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModificationTime )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ LONG64 *aModificationTime);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_UID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UID )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ LONG *aUID);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_UserName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ BSTR *aUserName);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_GID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GID )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ LONG *aGID);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_GroupName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GroupName )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ BSTR *aGroupName);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_NodeId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NodeId )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ LONG64 *aNodeId);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_NodeIdDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NodeIdDevice )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aNodeIdDevice);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_HardLinks)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HardLinks )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aHardLinks);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_DeviceNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceNumber )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aDeviceNumber);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_GenerationId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenerationId )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aGenerationId);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_UserFlags)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserFlags )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aUserFlags);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute1IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFsObjInfo )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute2IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFsObjInfo )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute3IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFsObjInfo )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute4IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFsObjInfo )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute5IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFsObjInfo )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute6IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFsObjInfo )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute7IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFsObjInfo )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFsObjInfo, get_InternalAndReservedAttribute8IFsObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFsObjInfo )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestFsObjInfo, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IGuestFsObjInfo * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IGuestFsObjInfoVtbl;

    interface IGuestFsObjInfo
    {
        CONST_VTBL struct IGuestFsObjInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestFsObjInfo_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestFsObjInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestFsObjInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestFsObjInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestFsObjInfo_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IGuestFsObjInfo_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestFsObjInfo_get_FileAttributes(This,aFileAttributes)	\
    ( (This)->lpVtbl -> get_FileAttributes(This,aFileAttributes) ) 

#define IGuestFsObjInfo_get_ObjectSize(This,aObjectSize)	\
    ( (This)->lpVtbl -> get_ObjectSize(This,aObjectSize) ) 

#define IGuestFsObjInfo_get_AllocatedSize(This,aAllocatedSize)	\
    ( (This)->lpVtbl -> get_AllocatedSize(This,aAllocatedSize) ) 

#define IGuestFsObjInfo_get_AccessTime(This,aAccessTime)	\
    ( (This)->lpVtbl -> get_AccessTime(This,aAccessTime) ) 

#define IGuestFsObjInfo_get_BirthTime(This,aBirthTime)	\
    ( (This)->lpVtbl -> get_BirthTime(This,aBirthTime) ) 

#define IGuestFsObjInfo_get_ChangeTime(This,aChangeTime)	\
    ( (This)->lpVtbl -> get_ChangeTime(This,aChangeTime) ) 

#define IGuestFsObjInfo_get_ModificationTime(This,aModificationTime)	\
    ( (This)->lpVtbl -> get_ModificationTime(This,aModificationTime) ) 

#define IGuestFsObjInfo_get_UID(This,aUID)	\
    ( (This)->lpVtbl -> get_UID(This,aUID) ) 

#define IGuestFsObjInfo_get_UserName(This,aUserName)	\
    ( (This)->lpVtbl -> get_UserName(This,aUserName) ) 

#define IGuestFsObjInfo_get_GID(This,aGID)	\
    ( (This)->lpVtbl -> get_GID(This,aGID) ) 

#define IGuestFsObjInfo_get_GroupName(This,aGroupName)	\
    ( (This)->lpVtbl -> get_GroupName(This,aGroupName) ) 

#define IGuestFsObjInfo_get_NodeId(This,aNodeId)	\
    ( (This)->lpVtbl -> get_NodeId(This,aNodeId) ) 

#define IGuestFsObjInfo_get_NodeIdDevice(This,aNodeIdDevice)	\
    ( (This)->lpVtbl -> get_NodeIdDevice(This,aNodeIdDevice) ) 

#define IGuestFsObjInfo_get_HardLinks(This,aHardLinks)	\
    ( (This)->lpVtbl -> get_HardLinks(This,aHardLinks) ) 

#define IGuestFsObjInfo_get_DeviceNumber(This,aDeviceNumber)	\
    ( (This)->lpVtbl -> get_DeviceNumber(This,aDeviceNumber) ) 

#define IGuestFsObjInfo_get_GenerationId(This,aGenerationId)	\
    ( (This)->lpVtbl -> get_GenerationId(This,aGenerationId) ) 

#define IGuestFsObjInfo_get_UserFlags(This,aUserFlags)	\
    ( (This)->lpVtbl -> get_UserFlags(This,aUserFlags) ) 

#define IGuestFsObjInfo_get_InternalAndReservedAttribute1IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFsObjInfo(This,aReserved) ) 

#define IGuestFsObjInfo_get_InternalAndReservedAttribute2IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFsObjInfo(This,aReserved) ) 

#define IGuestFsObjInfo_get_InternalAndReservedAttribute3IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFsObjInfo(This,aReserved) ) 

#define IGuestFsObjInfo_get_InternalAndReservedAttribute4IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFsObjInfo(This,aReserved) ) 

#define IGuestFsObjInfo_get_InternalAndReservedAttribute5IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFsObjInfo(This,aReserved) ) 

#define IGuestFsObjInfo_get_InternalAndReservedAttribute6IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFsObjInfo(This,aReserved) ) 

#define IGuestFsObjInfo_get_InternalAndReservedAttribute7IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFsObjInfo(This,aReserved) ) 

#define IGuestFsObjInfo_get_InternalAndReservedAttribute8IFsObjInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFsObjInfo(This,aReserved) ) 


#define IGuestFsObjInfo_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestFsObjInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0063 */
/* [local] */ 

#define COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IGuestFsObjInfo_TO(smth) COM_FORWARD_IGuestFsObjInfo_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IGuestFsObjInfo_TO_OBJ(obj) COM_FORWARD_IGuestFsObjInfo_TO ((obj)->)
#define COM_FORWARD_IGuestFsObjInfo_TO_BASE(base) COM_FORWARD_IGuestFsObjInfo_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0063_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0063_v0_0_s_ifspec;

#ifndef __IGuest_INTERFACE_DEFINED__
#define __IGuest_INTERFACE_DEFINED__

/* interface IGuest */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuest;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("00892186-A4AF-4627-B21F-FC561CE4473C")
    IGuest : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OSTypeId( 
            /* [retval][out] */ BSTR *aOSTypeId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdditionsRunLevel( 
            /* [retval][out] */ AdditionsRunLevelType *aAdditionsRunLevel) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdditionsVersion( 
            /* [retval][out] */ BSTR *aAdditionsVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdditionsRevision( 
            /* [retval][out] */ ULONG *aAdditionsRevision) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DnDSource( 
            /* [retval][out] */ IGuestDnDSource **aDnDSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DnDTarget( 
            /* [retval][out] */ IGuestDnDTarget **aDnDTarget) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Facilities( 
            /* [retval][out] */ SAFEARRAY * *aFacilities) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Sessions( 
            /* [retval][out] */ SAFEARRAY * *aSessions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MemoryBalloonSize( 
            /* [retval][out] */ ULONG *aMemoryBalloonSize) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MemoryBalloonSize( 
            /* [in] */ ULONG aMemoryBalloonSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StatisticsUpdateInterval( 
            /* [retval][out] */ ULONG *aStatisticsUpdateInterval) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StatisticsUpdateInterval( 
            /* [in] */ ULONG aStatisticsUpdateInterval) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16IGuest( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalGetStatistics( 
            /* [out] */ ULONG *aCpuUser,
            /* [out] */ ULONG *aCpuKernel,
            /* [out] */ ULONG *aCpuIdle,
            /* [out] */ ULONG *aMemTotal,
            /* [out] */ ULONG *aMemFree,
            /* [out] */ ULONG *aMemBalloon,
            /* [out] */ ULONG *aMemShared,
            /* [out] */ ULONG *aMemCache,
            /* [out] */ ULONG *aPagedTotal,
            /* [out] */ ULONG *aMemAllocTotal,
            /* [out] */ ULONG *aMemFreeTotal,
            /* [out] */ ULONG *aMemBalloonTotal,
            /* [out] */ ULONG *aMemSharedTotal) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetFacilityStatus( 
            /* [in] */ AdditionsFacilityType aFacility,
            /* [out] */ LONG64 *aTimestamp,
            /* [retval][out] */ AdditionsFacilityStatus *aStatus) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetAdditionsStatus( 
            /* [in] */ AdditionsRunLevelType aLevel,
            /* [retval][out] */ BOOL *aActive) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCredentials( 
            /* [in] */ BSTR aUserName,
            /* [in] */ BSTR aPassword,
            /* [in] */ BSTR aDomain,
            /* [in] */ BOOL aAllowInteractiveLogon) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateSession( 
            /* [in] */ BSTR aUser,
            /* [in] */ BSTR aPassword,
            /* [in] */ BSTR aDomain,
            /* [in] */ BSTR aSessionName,
            /* [retval][out] */ IGuestSession **aGuestSession) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FindSession( 
            /* [in] */ BSTR aSessionName,
            /* [retval][out] */ SAFEARRAY * *aSessions) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Shutdown( 
            /* [in] */ SAFEARRAY * aFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UpdateGuestAdditions( 
            /* [in] */ BSTR aSource,
            /* [in] */ SAFEARRAY * aArguments,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IGuest( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IGuest( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IGuest( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IGuest( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IGuest( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IGuest( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IGuest( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IGuest( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuest * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuest * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuest * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuest * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuest * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuest * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuest * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IGuest, get_OSTypeId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OSTypeId )( 
            IGuest * This,
            /* [retval][out] */ BSTR *aOSTypeId);
        
        DECLSPEC_XFGVIRT(IGuest, get_AdditionsRunLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionsRunLevel )( 
            IGuest * This,
            /* [retval][out] */ AdditionsRunLevelType *aAdditionsRunLevel);
        
        DECLSPEC_XFGVIRT(IGuest, get_AdditionsVersion)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionsVersion )( 
            IGuest * This,
            /* [retval][out] */ BSTR *aAdditionsVersion);
        
        DECLSPEC_XFGVIRT(IGuest, get_AdditionsRevision)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionsRevision )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aAdditionsRevision);
        
        DECLSPEC_XFGVIRT(IGuest, get_DnDSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DnDSource )( 
            IGuest * This,
            /* [retval][out] */ IGuestDnDSource **aDnDSource);
        
        DECLSPEC_XFGVIRT(IGuest, get_DnDTarget)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DnDTarget )( 
            IGuest * This,
            /* [retval][out] */ IGuestDnDTarget **aDnDTarget);
        
        DECLSPEC_XFGVIRT(IGuest, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IGuest * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IGuest, get_Facilities)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Facilities )( 
            IGuest * This,
            /* [retval][out] */ SAFEARRAY * *aFacilities);
        
        DECLSPEC_XFGVIRT(IGuest, get_Sessions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Sessions )( 
            IGuest * This,
            /* [retval][out] */ SAFEARRAY * *aSessions);
        
        DECLSPEC_XFGVIRT(IGuest, get_MemoryBalloonSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemoryBalloonSize )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aMemoryBalloonSize);
        
        DECLSPEC_XFGVIRT(IGuest, put_MemoryBalloonSize)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MemoryBalloonSize )( 
            IGuest * This,
            /* [in] */ ULONG aMemoryBalloonSize);
        
        DECLSPEC_XFGVIRT(IGuest, get_StatisticsUpdateInterval)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatisticsUpdateInterval )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aStatisticsUpdateInterval);
        
        DECLSPEC_XFGVIRT(IGuest, put_StatisticsUpdateInterval)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_StatisticsUpdateInterval )( 
            IGuest * This,
            /* [in] */ ULONG aStatisticsUpdateInterval);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute1IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute2IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute3IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute4IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute5IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute6IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute7IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute8IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute9IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute10IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute11IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute12IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute13IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute14IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute15IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, get_InternalAndReservedAttribute16IGuest)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IGuest )( 
            IGuest * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuest, InternalGetStatistics)
        HRESULT ( STDMETHODCALLTYPE *InternalGetStatistics )( 
            IGuest * This,
            /* [out] */ ULONG *aCpuUser,
            /* [out] */ ULONG *aCpuKernel,
            /* [out] */ ULONG *aCpuIdle,
            /* [out] */ ULONG *aMemTotal,
            /* [out] */ ULONG *aMemFree,
            /* [out] */ ULONG *aMemBalloon,
            /* [out] */ ULONG *aMemShared,
            /* [out] */ ULONG *aMemCache,
            /* [out] */ ULONG *aPagedTotal,
            /* [out] */ ULONG *aMemAllocTotal,
            /* [out] */ ULONG *aMemFreeTotal,
            /* [out] */ ULONG *aMemBalloonTotal,
            /* [out] */ ULONG *aMemSharedTotal);
        
        DECLSPEC_XFGVIRT(IGuest, GetFacilityStatus)
        HRESULT ( STDMETHODCALLTYPE *GetFacilityStatus )( 
            IGuest * This,
            /* [in] */ AdditionsFacilityType aFacility,
            /* [out] */ LONG64 *aTimestamp,
            /* [retval][out] */ AdditionsFacilityStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IGuest, GetAdditionsStatus)
        HRESULT ( STDMETHODCALLTYPE *GetAdditionsStatus )( 
            IGuest * This,
            /* [in] */ AdditionsRunLevelType aLevel,
            /* [retval][out] */ BOOL *aActive);
        
        DECLSPEC_XFGVIRT(IGuest, SetCredentials)
        HRESULT ( STDMETHODCALLTYPE *SetCredentials )( 
            IGuest * This,
            /* [in] */ BSTR aUserName,
            /* [in] */ BSTR aPassword,
            /* [in] */ BSTR aDomain,
            /* [in] */ BOOL aAllowInteractiveLogon);
        
        DECLSPEC_XFGVIRT(IGuest, CreateSession)
        HRESULT ( STDMETHODCALLTYPE *CreateSession )( 
            IGuest * This,
            /* [in] */ BSTR aUser,
            /* [in] */ BSTR aPassword,
            /* [in] */ BSTR aDomain,
            /* [in] */ BSTR aSessionName,
            /* [retval][out] */ IGuestSession **aGuestSession);
        
        DECLSPEC_XFGVIRT(IGuest, FindSession)
        HRESULT ( STDMETHODCALLTYPE *FindSession )( 
            IGuest * This,
            /* [in] */ BSTR aSessionName,
            /* [retval][out] */ SAFEARRAY * *aSessions);
        
        DECLSPEC_XFGVIRT(IGuest, Shutdown)
        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
            IGuest * This,
            /* [in] */ SAFEARRAY * aFlags);
        
        DECLSPEC_XFGVIRT(IGuest, UpdateGuestAdditions)
        HRESULT ( STDMETHODCALLTYPE *UpdateGuestAdditions )( 
            IGuest * This,
            /* [in] */ BSTR aSource,
            /* [in] */ SAFEARRAY * aArguments,
            /* [in] */ SAFEARRAY * aFlags,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IGuest, InternalAndReservedMethod1IGuest)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IGuest )( 
            IGuest * This);
        
        DECLSPEC_XFGVIRT(IGuest, InternalAndReservedMethod2IGuest)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IGuest )( 
            IGuest * This);
        
        DECLSPEC_XFGVIRT(IGuest, InternalAndReservedMethod3IGuest)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IGuest )( 
            IGuest * This);
        
        DECLSPEC_XFGVIRT(IGuest, InternalAndReservedMethod4IGuest)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IGuest )( 
            IGuest * This);
        
        DECLSPEC_XFGVIRT(IGuest, InternalAndReservedMethod5IGuest)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IGuest )( 
            IGuest * This);
        
        DECLSPEC_XFGVIRT(IGuest, InternalAndReservedMethod6IGuest)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IGuest )( 
            IGuest * This);
        
        DECLSPEC_XFGVIRT(IGuest, InternalAndReservedMethod7IGuest)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IGuest )( 
            IGuest * This);
        
        DECLSPEC_XFGVIRT(IGuest, InternalAndReservedMethod8IGuest)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IGuest )( 
            IGuest * This);
        
        END_INTERFACE
    } IGuestVtbl;

    interface IGuest
    {
        CONST_VTBL struct IGuestVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuest_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuest_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuest_get_OSTypeId(This,aOSTypeId)	\
    ( (This)->lpVtbl -> get_OSTypeId(This,aOSTypeId) ) 

#define IGuest_get_AdditionsRunLevel(This,aAdditionsRunLevel)	\
    ( (This)->lpVtbl -> get_AdditionsRunLevel(This,aAdditionsRunLevel) ) 

#define IGuest_get_AdditionsVersion(This,aAdditionsVersion)	\
    ( (This)->lpVtbl -> get_AdditionsVersion(This,aAdditionsVersion) ) 

#define IGuest_get_AdditionsRevision(This,aAdditionsRevision)	\
    ( (This)->lpVtbl -> get_AdditionsRevision(This,aAdditionsRevision) ) 

#define IGuest_get_DnDSource(This,aDnDSource)	\
    ( (This)->lpVtbl -> get_DnDSource(This,aDnDSource) ) 

#define IGuest_get_DnDTarget(This,aDnDTarget)	\
    ( (This)->lpVtbl -> get_DnDTarget(This,aDnDTarget) ) 

#define IGuest_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IGuest_get_Facilities(This,aFacilities)	\
    ( (This)->lpVtbl -> get_Facilities(This,aFacilities) ) 

#define IGuest_get_Sessions(This,aSessions)	\
    ( (This)->lpVtbl -> get_Sessions(This,aSessions) ) 

#define IGuest_get_MemoryBalloonSize(This,aMemoryBalloonSize)	\
    ( (This)->lpVtbl -> get_MemoryBalloonSize(This,aMemoryBalloonSize) ) 

#define IGuest_put_MemoryBalloonSize(This,aMemoryBalloonSize)	\
    ( (This)->lpVtbl -> put_MemoryBalloonSize(This,aMemoryBalloonSize) ) 

#define IGuest_get_StatisticsUpdateInterval(This,aStatisticsUpdateInterval)	\
    ( (This)->lpVtbl -> get_StatisticsUpdateInterval(This,aStatisticsUpdateInterval) ) 

#define IGuest_put_StatisticsUpdateInterval(This,aStatisticsUpdateInterval)	\
    ( (This)->lpVtbl -> put_StatisticsUpdateInterval(This,aStatisticsUpdateInterval) ) 

#define IGuest_get_InternalAndReservedAttribute1IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute2IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute3IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute4IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute5IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute6IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute7IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute8IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute9IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute10IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute11IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute12IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute13IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute14IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute15IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IGuest(This,aReserved) ) 

#define IGuest_get_InternalAndReservedAttribute16IGuest(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IGuest(This,aReserved) ) 

#define IGuest_InternalGetStatistics(This,aCpuUser,aCpuKernel,aCpuIdle,aMemTotal,aMemFree,aMemBalloon,aMemShared,aMemCache,aPagedTotal,aMemAllocTotal,aMemFreeTotal,aMemBalloonTotal,aMemSharedTotal)	\
    ( (This)->lpVtbl -> InternalGetStatistics(This,aCpuUser,aCpuKernel,aCpuIdle,aMemTotal,aMemFree,aMemBalloon,aMemShared,aMemCache,aPagedTotal,aMemAllocTotal,aMemFreeTotal,aMemBalloonTotal,aMemSharedTotal) ) 

#define IGuest_GetFacilityStatus(This,aFacility,aTimestamp,aStatus)	\
    ( (This)->lpVtbl -> GetFacilityStatus(This,aFacility,aTimestamp,aStatus) ) 

#define IGuest_GetAdditionsStatus(This,aLevel,aActive)	\
    ( (This)->lpVtbl -> GetAdditionsStatus(This,aLevel,aActive) ) 

#define IGuest_SetCredentials(This,aUserName,aPassword,aDomain,aAllowInteractiveLogon)	\
    ( (This)->lpVtbl -> SetCredentials(This,aUserName,aPassword,aDomain,aAllowInteractiveLogon) ) 

#define IGuest_CreateSession(This,aUser,aPassword,aDomain,aSessionName,aGuestSession)	\
    ( (This)->lpVtbl -> CreateSession(This,aUser,aPassword,aDomain,aSessionName,aGuestSession) ) 

#define IGuest_FindSession(This,aSessionName,aSessions)	\
    ( (This)->lpVtbl -> FindSession(This,aSessionName,aSessions) ) 

#define IGuest_Shutdown(This,aFlags)	\
    ( (This)->lpVtbl -> Shutdown(This,aFlags) ) 

#define IGuest_UpdateGuestAdditions(This,aSource,aArguments,aFlags,aProgress)	\
    ( (This)->lpVtbl -> UpdateGuestAdditions(This,aSource,aArguments,aFlags,aProgress) ) 

#define IGuest_InternalAndReservedMethod1IGuest(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IGuest(This) ) 

#define IGuest_InternalAndReservedMethod2IGuest(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IGuest(This) ) 

#define IGuest_InternalAndReservedMethod3IGuest(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IGuest(This) ) 

#define IGuest_InternalAndReservedMethod4IGuest(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IGuest(This) ) 

#define IGuest_InternalAndReservedMethod5IGuest(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IGuest(This) ) 

#define IGuest_InternalAndReservedMethod6IGuest(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IGuest(This) ) 

#define IGuest_InternalAndReservedMethod7IGuest(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IGuest(This) ) 

#define IGuest_InternalAndReservedMethod8IGuest(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IGuest(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuest_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0064 */
/* [local] */ 

#define COM_FORWARD_IGuest_GETTER_OSTypeId_TO(smth) HRESULT STDMETHODCALLTYPE get_OSTypeId (BSTR * aOSTypeId) { return smth get_OSTypeId (aOSTypeId); }
#define COM_FORWARD_IGuest_GETTER_OSTypeId_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_OSTypeId_TO ((obj)->)
#define COM_FORWARD_IGuest_GETTER_OSTypeId_TO_BASE(base) COM_FORWARD_IGuest_GETTER_OSTypeId_TO (base::)
#define COM_FORWARD_IGuest_GETTER_AdditionsRunLevel_TO(smth) HRESULT STDMETHODCALLTYPE get_AdditionsRunLevel (AdditionsRunLevelType * aAdditionsRunLevel) { return smth get_AdditionsRunLevel (aAdditionsRunLevel); }
#define COM_FORWARD_IGuest_GETTER_AdditionsRunLevel_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_AdditionsRunLevel_TO ((obj)->)
#define COM_FORWARD_IGuest_GETTER_AdditionsRunLevel_TO_BASE(base) COM_FORWARD_IGuest_GETTER_AdditionsRunLevel_TO (base::)
#define COM_FORWARD_IGuest_GETTER_AdditionsVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_AdditionsVersion (BSTR * aAdditionsVersion) { return smth get_AdditionsVersion (aAdditionsVersion); }
#define COM_FORWARD_IGuest_GETTER_AdditionsVersion_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_AdditionsVersion_TO ((obj)->)
#define COM_FORWARD_IGuest_GETTER_AdditionsVersion_TO_BASE(base) COM_FORWARD_IGuest_GETTER_AdditionsVersion_TO (base::)
#define COM_FORWARD_IGuest_GETTER_AdditionsRevision_TO(smth) HRESULT STDMETHODCALLTYPE get_AdditionsRevision (ULONG * aAdditionsRevision) { return smth get_AdditionsRevision (aAdditionsRevision); }
#define COM_FORWARD_IGuest_GETTER_AdditionsRevision_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_AdditionsRevision_TO ((obj)->)
#define COM_FORWARD_IGuest_GETTER_AdditionsRevision_TO_BASE(base) COM_FORWARD_IGuest_GETTER_AdditionsRevision_TO (base::)
#define COM_FORWARD_IGuest_GETTER_DnDSource_TO(smth) HRESULT STDMETHODCALLTYPE get_DnDSource (IGuestDnDSource * * aDnDSource) { return smth get_DnDSource (aDnDSource); }
#define COM_FORWARD_IGuest_GETTER_DnDSource_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_DnDSource_TO ((obj)->)
#define COM_FORWARD_IGuest_GETTER_DnDSource_TO_BASE(base) COM_FORWARD_IGuest_GETTER_DnDSource_TO (base::)
#define COM_FORWARD_IGuest_GETTER_DnDTarget_TO(smth) HRESULT STDMETHODCALLTYPE get_DnDTarget (IGuestDnDTarget * * aDnDTarget) { return smth get_DnDTarget (aDnDTarget); }
#define COM_FORWARD_IGuest_GETTER_DnDTarget_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_DnDTarget_TO ((obj)->)
#define COM_FORWARD_IGuest_GETTER_DnDTarget_TO_BASE(base) COM_FORWARD_IGuest_GETTER_DnDTarget_TO (base::)
#define COM_FORWARD_IGuest_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IGuest_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IGuest_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IGuest_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IGuest_GETTER_Facilities_TO(smth) HRESULT STDMETHODCALLTYPE get_Facilities (SAFEARRAY * * aFacilities) { return smth get_Facilities (aFacilities); }
#define COM_FORWARD_IGuest_GETTER_Facilities_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_Facilities_TO ((obj)->)
#define COM_FORWARD_IGuest_GETTER_Facilities_TO_BASE(base) COM_FORWARD_IGuest_GETTER_Facilities_TO (base::)
#define COM_FORWARD_IGuest_GETTER_Sessions_TO(smth) HRESULT STDMETHODCALLTYPE get_Sessions (SAFEARRAY * * aSessions) { return smth get_Sessions (aSessions); }
#define COM_FORWARD_IGuest_GETTER_Sessions_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_Sessions_TO ((obj)->)
#define COM_FORWARD_IGuest_GETTER_Sessions_TO_BASE(base) COM_FORWARD_IGuest_GETTER_Sessions_TO (base::)
#define COM_FORWARD_IGuest_GETTER_MemoryBalloonSize_TO(smth) HRESULT STDMETHODCALLTYPE get_MemoryBalloonSize (ULONG * aMemoryBalloonSize) { return smth get_MemoryBalloonSize (aMemoryBalloonSize); }
#define COM_FORWARD_IGuest_GETTER_MemoryBalloonSize_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_MemoryBalloonSize_TO ((obj)->)
#define COM_FORWARD_IGuest_GETTER_MemoryBalloonSize_TO_BASE(base) COM_FORWARD_IGuest_GETTER_MemoryBalloonSize_TO (base::)
#define COM_FORWARD_IGuest_SETTER_MemoryBalloonSize_TO(smth) HRESULT STDMETHODCALLTYPE put_MemoryBalloonSize (ULONG aMemoryBalloonSize) { return smth put_MemoryBalloonSize (aMemoryBalloonSize); }
#define COM_FORWARD_IGuest_SETTER_MemoryBalloonSize_TO_OBJ(obj) COM_FORWARD_IGuest_SETTER_MemoryBalloonSize_TO ((obj)->)
#define COM_FORWARD_IGuest_SETTER_MemoryBalloonSize_TO_BASE(base) COM_FORWARD_IGuest_SETTER_MemoryBalloonSize_TO (base::)
#define COM_FORWARD_IGuest_GETTER_StatisticsUpdateInterval_TO(smth) HRESULT STDMETHODCALLTYPE get_StatisticsUpdateInterval (ULONG * aStatisticsUpdateInterval) { return smth get_StatisticsUpdateInterval (aStatisticsUpdateInterval); }
#define COM_FORWARD_IGuest_GETTER_StatisticsUpdateInterval_TO_OBJ(obj) COM_FORWARD_IGuest_GETTER_StatisticsUpdateInterval_TO ((obj)->)
#define COM_FORWARD_IGuest_GETTER_StatisticsUpdateInterval_TO_BASE(base) COM_FORWARD_IGuest_GETTER_StatisticsUpdateInterval_TO (base::)
#define COM_FORWARD_IGuest_SETTER_StatisticsUpdateInterval_TO(smth) HRESULT STDMETHODCALLTYPE put_StatisticsUpdateInterval (ULONG aStatisticsUpdateInterval) { return smth put_StatisticsUpdateInterval (aStatisticsUpdateInterval); }
#define COM_FORWARD_IGuest_SETTER_StatisticsUpdateInterval_TO_OBJ(obj) COM_FORWARD_IGuest_SETTER_StatisticsUpdateInterval_TO ((obj)->)
#define COM_FORWARD_IGuest_SETTER_StatisticsUpdateInterval_TO_BASE(base) COM_FORWARD_IGuest_SETTER_StatisticsUpdateInterval_TO (base::)
#define COM_FORWARD_IGuest_InternalGetStatistics_TO(smth) HRESULT STDMETHODCALLTYPE InternalGetStatistics (ULONG * aCpuUser, ULONG * aCpuKernel, ULONG * aCpuIdle, ULONG * aMemTotal, ULONG * aMemFree, ULONG * aMemBalloon, ULONG * aMemShared, ULONG * aMemCache, ULONG * aPagedTotal, ULONG * aMemAllocTotal, ULONG * aMemFreeTotal, ULONG * aMemBalloonTotal, ULONG * aMemSharedTotal) { return smth InternalGetStatistics (aCpuUser, aCpuKernel, aCpuIdle, aMemTotal, aMemFree, aMemBalloon, aMemShared, aMemCache, aPagedTotal, aMemAllocTotal, aMemFreeTotal, aMemBalloonTotal, aMemSharedTotal); }
#define COM_FORWARD_IGuest_InternalGetStatistics_TO_OBJ(obj) COM_FORWARD_IGuest_InternalGetStatistics_TO ((obj)->)
#define COM_FORWARD_IGuest_InternalGetStatistics_TO_BASE(base) COM_FORWARD_IGuest_InternalGetStatistics_TO (base::)
#define COM_FORWARD_IGuest_GetFacilityStatus_TO(smth) HRESULT STDMETHODCALLTYPE GetFacilityStatus (AdditionsFacilityType aFacility, LONG64 * aTimestamp, AdditionsFacilityStatus * aStatus) { return smth GetFacilityStatus (aFacility, aTimestamp, aStatus); }
#define COM_FORWARD_IGuest_GetFacilityStatus_TO_OBJ(obj) COM_FORWARD_IGuest_GetFacilityStatus_TO ((obj)->)
#define COM_FORWARD_IGuest_GetFacilityStatus_TO_BASE(base) COM_FORWARD_IGuest_GetFacilityStatus_TO (base::)
#define COM_FORWARD_IGuest_GetAdditionsStatus_TO(smth) HRESULT STDMETHODCALLTYPE GetAdditionsStatus (AdditionsRunLevelType aLevel, BOOL * aActive) { return smth GetAdditionsStatus (aLevel, aActive); }
#define COM_FORWARD_IGuest_GetAdditionsStatus_TO_OBJ(obj) COM_FORWARD_IGuest_GetAdditionsStatus_TO ((obj)->)
#define COM_FORWARD_IGuest_GetAdditionsStatus_TO_BASE(base) COM_FORWARD_IGuest_GetAdditionsStatus_TO (base::)
#define COM_FORWARD_IGuest_SetCredentials_TO(smth) HRESULT STDMETHODCALLTYPE SetCredentials (BSTR aUserName, BSTR aPassword, BSTR aDomain, BOOL aAllowInteractiveLogon) { return smth SetCredentials (aUserName, aPassword, aDomain, aAllowInteractiveLogon); }
#define COM_FORWARD_IGuest_SetCredentials_TO_OBJ(obj) COM_FORWARD_IGuest_SetCredentials_TO ((obj)->)
#define COM_FORWARD_IGuest_SetCredentials_TO_BASE(base) COM_FORWARD_IGuest_SetCredentials_TO (base::)
#define COM_FORWARD_IGuest_CreateSession_TO(smth) HRESULT STDMETHODCALLTYPE CreateSession (BSTR aUser, BSTR aPassword, BSTR aDomain, BSTR aSessionName, IGuestSession * * aGuestSession) { return smth CreateSession (aUser, aPassword, aDomain, aSessionName, aGuestSession); }
#define COM_FORWARD_IGuest_CreateSession_TO_OBJ(obj) COM_FORWARD_IGuest_CreateSession_TO ((obj)->)
#define COM_FORWARD_IGuest_CreateSession_TO_BASE(base) COM_FORWARD_IGuest_CreateSession_TO (base::)
#define COM_FORWARD_IGuest_FindSession_TO(smth) HRESULT STDMETHODCALLTYPE FindSession (BSTR aSessionName, SAFEARRAY * * aSessions) { return smth FindSession (aSessionName, aSessions); }
#define COM_FORWARD_IGuest_FindSession_TO_OBJ(obj) COM_FORWARD_IGuest_FindSession_TO ((obj)->)
#define COM_FORWARD_IGuest_FindSession_TO_BASE(base) COM_FORWARD_IGuest_FindSession_TO (base::)
#define COM_FORWARD_IGuest_Shutdown_TO(smth) HRESULT STDMETHODCALLTYPE Shutdown (SAFEARRAY * * aFlags) { return smth Shutdown (aFlags); }
#define COM_FORWARD_IGuest_Shutdown_TO_OBJ(obj) COM_FORWARD_IGuest_Shutdown_TO ((obj)->)
#define COM_FORWARD_IGuest_Shutdown_TO_BASE(base) COM_FORWARD_IGuest_Shutdown_TO (base::)
#define COM_FORWARD_IGuest_UpdateGuestAdditions_TO(smth) HRESULT STDMETHODCALLTYPE UpdateGuestAdditions (BSTR aSource, SAFEARRAY * * aArguments, SAFEARRAY * * aFlags, IProgress * * aProgress) { return smth UpdateGuestAdditions (aSource, aArguments, aFlags, aProgress); }
#define COM_FORWARD_IGuest_UpdateGuestAdditions_TO_OBJ(obj) COM_FORWARD_IGuest_UpdateGuestAdditions_TO ((obj)->)
#define COM_FORWARD_IGuest_UpdateGuestAdditions_TO_BASE(base) COM_FORWARD_IGuest_UpdateGuestAdditions_TO (base::)
#define COM_FORWARD_IGuest_TO(smth) COM_FORWARD_IGuest_GETTER_OSTypeId_TO (smth) COM_FORWARD_IGuest_GETTER_AdditionsRunLevel_TO (smth) COM_FORWARD_IGuest_GETTER_AdditionsVersion_TO (smth) COM_FORWARD_IGuest_GETTER_AdditionsRevision_TO (smth) COM_FORWARD_IGuest_GETTER_DnDSource_TO (smth) COM_FORWARD_IGuest_GETTER_DnDTarget_TO (smth) COM_FORWARD_IGuest_GETTER_EventSource_TO (smth) COM_FORWARD_IGuest_GETTER_Facilities_TO (smth) COM_FORWARD_IGuest_GETTER_Sessions_TO (smth) COM_FORWARD_IGuest_GETTER_MemoryBalloonSize_TO (smth) COM_FORWARD_IGuest_SETTER_MemoryBalloonSize_TO (smth) COM_FORWARD_IGuest_GETTER_StatisticsUpdateInterval_TO (smth) COM_FORWARD_IGuest_SETTER_StatisticsUpdateInterval_TO (smth) COM_FORWARD_IGuest_InternalGetStatistics_TO (smth) COM_FORWARD_IGuest_GetFacilityStatus_TO (smth) COM_FORWARD_IGuest_GetAdditionsStatus_TO (smth) COM_FORWARD_IGuest_SetCredentials_TO (smth) COM_FORWARD_IGuest_CreateSession_TO (smth) COM_FORWARD_IGuest_FindSession_TO (smth) COM_FORWARD_IGuest_Shutdown_TO (smth) COM_FORWARD_IGuest_UpdateGuestAdditions_TO (smth) 
#define COM_FORWARD_IGuest_TO_OBJ(obj) COM_FORWARD_IGuest_TO ((obj)->)
#define COM_FORWARD_IGuest_TO_BASE(base) COM_FORWARD_IGuest_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0064_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0064_v0_0_s_ifspec;

#ifndef __IProgress_INTERFACE_DEFINED__
#define __IProgress_INTERFACE_DEFINED__

/* interface IProgress */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IProgress;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d7b98d2b-30e8-447e-99cb-e31becae6ae4")
    IProgress : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *aDescription) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Initiator( 
            /* [retval][out] */ IUnknown **aInitiator) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cancelable( 
            /* [retval][out] */ BOOL *aCancelable) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Percent( 
            /* [retval][out] */ ULONG *aPercent) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TimeRemaining( 
            /* [retval][out] */ LONG *aTimeRemaining) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Completed( 
            /* [retval][out] */ BOOL *aCompleted) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Canceled( 
            /* [retval][out] */ BOOL *aCanceled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResultCode( 
            /* [retval][out] */ LONG *aResultCode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ErrorInfo( 
            /* [retval][out] */ IVirtualBoxErrorInfo **aErrorInfo) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OperationCount( 
            /* [retval][out] */ ULONG *aOperationCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Operation( 
            /* [retval][out] */ ULONG *aOperation) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OperationDescription( 
            /* [retval][out] */ BSTR *aOperationDescription) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OperationPercent( 
            /* [retval][out] */ ULONG *aOperationPercent) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OperationWeight( 
            /* [retval][out] */ ULONG *aOperationWeight) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Timeout( 
            /* [retval][out] */ ULONG *aTimeout) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Timeout( 
            /* [in] */ ULONG aTimeout) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IProgress( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WaitForCompletion( 
            /* [in] */ LONG aTimeout) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WaitForOperationCompletion( 
            /* [in] */ ULONG aOperation,
            /* [in] */ LONG aTimeout) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IProgress( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IProgress( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IProgress( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IProgress( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IProgress( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IProgress( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IProgress( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IProgress( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IProgressVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IProgress * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IProgress * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IProgress * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IProgress * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IProgress * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IProgress * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IProgress * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IProgress, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IProgress * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IProgress, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IProgress * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IProgress, get_Initiator)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Initiator )( 
            IProgress * This,
            /* [retval][out] */ IUnknown **aInitiator);
        
        DECLSPEC_XFGVIRT(IProgress, get_Cancelable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancelable )( 
            IProgress * This,
            /* [retval][out] */ BOOL *aCancelable);
        
        DECLSPEC_XFGVIRT(IProgress, get_Percent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Percent )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aPercent);
        
        DECLSPEC_XFGVIRT(IProgress, get_TimeRemaining)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimeRemaining )( 
            IProgress * This,
            /* [retval][out] */ LONG *aTimeRemaining);
        
        DECLSPEC_XFGVIRT(IProgress, get_Completed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Completed )( 
            IProgress * This,
            /* [retval][out] */ BOOL *aCompleted);
        
        DECLSPEC_XFGVIRT(IProgress, get_Canceled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Canceled )( 
            IProgress * This,
            /* [retval][out] */ BOOL *aCanceled);
        
        DECLSPEC_XFGVIRT(IProgress, get_ResultCode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResultCode )( 
            IProgress * This,
            /* [retval][out] */ LONG *aResultCode);
        
        DECLSPEC_XFGVIRT(IProgress, get_ErrorInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ErrorInfo )( 
            IProgress * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aErrorInfo);
        
        DECLSPEC_XFGVIRT(IProgress, get_OperationCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OperationCount )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aOperationCount);
        
        DECLSPEC_XFGVIRT(IProgress, get_Operation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Operation )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aOperation);
        
        DECLSPEC_XFGVIRT(IProgress, get_OperationDescription)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OperationDescription )( 
            IProgress * This,
            /* [retval][out] */ BSTR *aOperationDescription);
        
        DECLSPEC_XFGVIRT(IProgress, get_OperationPercent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OperationPercent )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aOperationPercent);
        
        DECLSPEC_XFGVIRT(IProgress, get_OperationWeight)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OperationWeight )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aOperationWeight);
        
        DECLSPEC_XFGVIRT(IProgress, get_Timeout)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Timeout )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aTimeout);
        
        DECLSPEC_XFGVIRT(IProgress, put_Timeout)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Timeout )( 
            IProgress * This,
            /* [in] */ ULONG aTimeout);
        
        DECLSPEC_XFGVIRT(IProgress, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IProgress * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute1IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute2IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute3IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute4IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute5IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute6IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute7IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute8IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute9IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute10IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute11IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, get_InternalAndReservedAttribute12IProgress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IProgress )( 
            IProgress * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IProgress, WaitForCompletion)
        HRESULT ( STDMETHODCALLTYPE *WaitForCompletion )( 
            IProgress * This,
            /* [in] */ LONG aTimeout);
        
        DECLSPEC_XFGVIRT(IProgress, WaitForOperationCompletion)
        HRESULT ( STDMETHODCALLTYPE *WaitForOperationCompletion )( 
            IProgress * This,
            /* [in] */ ULONG aOperation,
            /* [in] */ LONG aTimeout);
        
        DECLSPEC_XFGVIRT(IProgress, Cancel)
        HRESULT ( STDMETHODCALLTYPE *Cancel )( 
            IProgress * This);
        
        DECLSPEC_XFGVIRT(IProgress, InternalAndReservedMethod1IProgress)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IProgress )( 
            IProgress * This);
        
        DECLSPEC_XFGVIRT(IProgress, InternalAndReservedMethod2IProgress)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IProgress )( 
            IProgress * This);
        
        DECLSPEC_XFGVIRT(IProgress, InternalAndReservedMethod3IProgress)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IProgress )( 
            IProgress * This);
        
        DECLSPEC_XFGVIRT(IProgress, InternalAndReservedMethod4IProgress)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IProgress )( 
            IProgress * This);
        
        DECLSPEC_XFGVIRT(IProgress, InternalAndReservedMethod5IProgress)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IProgress )( 
            IProgress * This);
        
        DECLSPEC_XFGVIRT(IProgress, InternalAndReservedMethod6IProgress)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IProgress )( 
            IProgress * This);
        
        DECLSPEC_XFGVIRT(IProgress, InternalAndReservedMethod7IProgress)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IProgress )( 
            IProgress * This);
        
        DECLSPEC_XFGVIRT(IProgress, InternalAndReservedMethod8IProgress)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IProgress )( 
            IProgress * This);
        
        END_INTERFACE
    } IProgressVtbl;

    interface IProgress
    {
        CONST_VTBL struct IProgressVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IProgress_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IProgress_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IProgress_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IProgress_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IProgress_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IProgress_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IProgress_get_Initiator(This,aInitiator)	\
    ( (This)->lpVtbl -> get_Initiator(This,aInitiator) ) 

#define IProgress_get_Cancelable(This,aCancelable)	\
    ( (This)->lpVtbl -> get_Cancelable(This,aCancelable) ) 

#define IProgress_get_Percent(This,aPercent)	\
    ( (This)->lpVtbl -> get_Percent(This,aPercent) ) 

#define IProgress_get_TimeRemaining(This,aTimeRemaining)	\
    ( (This)->lpVtbl -> get_TimeRemaining(This,aTimeRemaining) ) 

#define IProgress_get_Completed(This,aCompleted)	\
    ( (This)->lpVtbl -> get_Completed(This,aCompleted) ) 

#define IProgress_get_Canceled(This,aCanceled)	\
    ( (This)->lpVtbl -> get_Canceled(This,aCanceled) ) 

#define IProgress_get_ResultCode(This,aResultCode)	\
    ( (This)->lpVtbl -> get_ResultCode(This,aResultCode) ) 

#define IProgress_get_ErrorInfo(This,aErrorInfo)	\
    ( (This)->lpVtbl -> get_ErrorInfo(This,aErrorInfo) ) 

#define IProgress_get_OperationCount(This,aOperationCount)	\
    ( (This)->lpVtbl -> get_OperationCount(This,aOperationCount) ) 

#define IProgress_get_Operation(This,aOperation)	\
    ( (This)->lpVtbl -> get_Operation(This,aOperation) ) 

#define IProgress_get_OperationDescription(This,aOperationDescription)	\
    ( (This)->lpVtbl -> get_OperationDescription(This,aOperationDescription) ) 

#define IProgress_get_OperationPercent(This,aOperationPercent)	\
    ( (This)->lpVtbl -> get_OperationPercent(This,aOperationPercent) ) 

#define IProgress_get_OperationWeight(This,aOperationWeight)	\
    ( (This)->lpVtbl -> get_OperationWeight(This,aOperationWeight) ) 

#define IProgress_get_Timeout(This,aTimeout)	\
    ( (This)->lpVtbl -> get_Timeout(This,aTimeout) ) 

#define IProgress_put_Timeout(This,aTimeout)	\
    ( (This)->lpVtbl -> put_Timeout(This,aTimeout) ) 

#define IProgress_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IProgress_get_InternalAndReservedAttribute1IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IProgress(This,aReserved) ) 

#define IProgress_get_InternalAndReservedAttribute2IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IProgress(This,aReserved) ) 

#define IProgress_get_InternalAndReservedAttribute3IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IProgress(This,aReserved) ) 

#define IProgress_get_InternalAndReservedAttribute4IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IProgress(This,aReserved) ) 

#define IProgress_get_InternalAndReservedAttribute5IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IProgress(This,aReserved) ) 

#define IProgress_get_InternalAndReservedAttribute6IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IProgress(This,aReserved) ) 

#define IProgress_get_InternalAndReservedAttribute7IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IProgress(This,aReserved) ) 

#define IProgress_get_InternalAndReservedAttribute8IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IProgress(This,aReserved) ) 

#define IProgress_get_InternalAndReservedAttribute9IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IProgress(This,aReserved) ) 

#define IProgress_get_InternalAndReservedAttribute10IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IProgress(This,aReserved) ) 

#define IProgress_get_InternalAndReservedAttribute11IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IProgress(This,aReserved) ) 

#define IProgress_get_InternalAndReservedAttribute12IProgress(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IProgress(This,aReserved) ) 

#define IProgress_WaitForCompletion(This,aTimeout)	\
    ( (This)->lpVtbl -> WaitForCompletion(This,aTimeout) ) 

#define IProgress_WaitForOperationCompletion(This,aOperation,aTimeout)	\
    ( (This)->lpVtbl -> WaitForOperationCompletion(This,aOperation,aTimeout) ) 

#define IProgress_Cancel(This)	\
    ( (This)->lpVtbl -> Cancel(This) ) 

#define IProgress_InternalAndReservedMethod1IProgress(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IProgress(This) ) 

#define IProgress_InternalAndReservedMethod2IProgress(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IProgress(This) ) 

#define IProgress_InternalAndReservedMethod3IProgress(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IProgress(This) ) 

#define IProgress_InternalAndReservedMethod4IProgress(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IProgress(This) ) 

#define IProgress_InternalAndReservedMethod5IProgress(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IProgress(This) ) 

#define IProgress_InternalAndReservedMethod6IProgress(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IProgress(This) ) 

#define IProgress_InternalAndReservedMethod7IProgress(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IProgress(This) ) 

#define IProgress_InternalAndReservedMethod8IProgress(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IProgress(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IProgress_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0065 */
/* [local] */ 

#define COM_FORWARD_IProgress_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IProgress_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_Id_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Id_TO (base::)
#define COM_FORWARD_IProgress_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }
#define COM_FORWARD_IProgress_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Description_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_Description_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Description_TO (base::)
#define COM_FORWARD_IProgress_GETTER_Initiator_TO(smth) HRESULT STDMETHODCALLTYPE get_Initiator (IUnknown * * aInitiator) { return smth get_Initiator (aInitiator); }
#define COM_FORWARD_IProgress_GETTER_Initiator_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Initiator_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_Initiator_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Initiator_TO (base::)
#define COM_FORWARD_IProgress_GETTER_Cancelable_TO(smth) HRESULT STDMETHODCALLTYPE get_Cancelable (BOOL * aCancelable) { return smth get_Cancelable (aCancelable); }
#define COM_FORWARD_IProgress_GETTER_Cancelable_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Cancelable_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_Cancelable_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Cancelable_TO (base::)
#define COM_FORWARD_IProgress_GETTER_Percent_TO(smth) HRESULT STDMETHODCALLTYPE get_Percent (ULONG * aPercent) { return smth get_Percent (aPercent); }
#define COM_FORWARD_IProgress_GETTER_Percent_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Percent_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_Percent_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Percent_TO (base::)
#define COM_FORWARD_IProgress_GETTER_TimeRemaining_TO(smth) HRESULT STDMETHODCALLTYPE get_TimeRemaining (LONG * aTimeRemaining) { return smth get_TimeRemaining (aTimeRemaining); }
#define COM_FORWARD_IProgress_GETTER_TimeRemaining_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_TimeRemaining_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_TimeRemaining_TO_BASE(base) COM_FORWARD_IProgress_GETTER_TimeRemaining_TO (base::)
#define COM_FORWARD_IProgress_GETTER_Completed_TO(smth) HRESULT STDMETHODCALLTYPE get_Completed (BOOL * aCompleted) { return smth get_Completed (aCompleted); }
#define COM_FORWARD_IProgress_GETTER_Completed_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Completed_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_Completed_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Completed_TO (base::)
#define COM_FORWARD_IProgress_GETTER_Canceled_TO(smth) HRESULT STDMETHODCALLTYPE get_Canceled (BOOL * aCanceled) { return smth get_Canceled (aCanceled); }
#define COM_FORWARD_IProgress_GETTER_Canceled_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Canceled_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_Canceled_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Canceled_TO (base::)
#define COM_FORWARD_IProgress_GETTER_ResultCode_TO(smth) HRESULT STDMETHODCALLTYPE get_ResultCode (LONG * aResultCode) { return smth get_ResultCode (aResultCode); }
#define COM_FORWARD_IProgress_GETTER_ResultCode_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_ResultCode_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_ResultCode_TO_BASE(base) COM_FORWARD_IProgress_GETTER_ResultCode_TO (base::)
#define COM_FORWARD_IProgress_GETTER_ErrorInfo_TO(smth) HRESULT STDMETHODCALLTYPE get_ErrorInfo (IVirtualBoxErrorInfo * * aErrorInfo) { return smth get_ErrorInfo (aErrorInfo); }
#define COM_FORWARD_IProgress_GETTER_ErrorInfo_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_ErrorInfo_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_ErrorInfo_TO_BASE(base) COM_FORWARD_IProgress_GETTER_ErrorInfo_TO (base::)
#define COM_FORWARD_IProgress_GETTER_OperationCount_TO(smth) HRESULT STDMETHODCALLTYPE get_OperationCount (ULONG * aOperationCount) { return smth get_OperationCount (aOperationCount); }
#define COM_FORWARD_IProgress_GETTER_OperationCount_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_OperationCount_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_OperationCount_TO_BASE(base) COM_FORWARD_IProgress_GETTER_OperationCount_TO (base::)
#define COM_FORWARD_IProgress_GETTER_Operation_TO(smth) HRESULT STDMETHODCALLTYPE get_Operation (ULONG * aOperation) { return smth get_Operation (aOperation); }
#define COM_FORWARD_IProgress_GETTER_Operation_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Operation_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_Operation_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Operation_TO (base::)
#define COM_FORWARD_IProgress_GETTER_OperationDescription_TO(smth) HRESULT STDMETHODCALLTYPE get_OperationDescription (BSTR * aOperationDescription) { return smth get_OperationDescription (aOperationDescription); }
#define COM_FORWARD_IProgress_GETTER_OperationDescription_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_OperationDescription_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_OperationDescription_TO_BASE(base) COM_FORWARD_IProgress_GETTER_OperationDescription_TO (base::)
#define COM_FORWARD_IProgress_GETTER_OperationPercent_TO(smth) HRESULT STDMETHODCALLTYPE get_OperationPercent (ULONG * aOperationPercent) { return smth get_OperationPercent (aOperationPercent); }
#define COM_FORWARD_IProgress_GETTER_OperationPercent_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_OperationPercent_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_OperationPercent_TO_BASE(base) COM_FORWARD_IProgress_GETTER_OperationPercent_TO (base::)
#define COM_FORWARD_IProgress_GETTER_OperationWeight_TO(smth) HRESULT STDMETHODCALLTYPE get_OperationWeight (ULONG * aOperationWeight) { return smth get_OperationWeight (aOperationWeight); }
#define COM_FORWARD_IProgress_GETTER_OperationWeight_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_OperationWeight_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_OperationWeight_TO_BASE(base) COM_FORWARD_IProgress_GETTER_OperationWeight_TO (base::)
#define COM_FORWARD_IProgress_GETTER_Timeout_TO(smth) HRESULT STDMETHODCALLTYPE get_Timeout (ULONG * aTimeout) { return smth get_Timeout (aTimeout); }
#define COM_FORWARD_IProgress_GETTER_Timeout_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_Timeout_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_Timeout_TO_BASE(base) COM_FORWARD_IProgress_GETTER_Timeout_TO (base::)
#define COM_FORWARD_IProgress_SETTER_Timeout_TO(smth) HRESULT STDMETHODCALLTYPE put_Timeout (ULONG aTimeout) { return smth put_Timeout (aTimeout); }
#define COM_FORWARD_IProgress_SETTER_Timeout_TO_OBJ(obj) COM_FORWARD_IProgress_SETTER_Timeout_TO ((obj)->)
#define COM_FORWARD_IProgress_SETTER_Timeout_TO_BASE(base) COM_FORWARD_IProgress_SETTER_Timeout_TO (base::)
#define COM_FORWARD_IProgress_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IProgress_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IProgress_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IProgress_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IProgress_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IProgress_WaitForCompletion_TO(smth) HRESULT STDMETHODCALLTYPE WaitForCompletion (LONG aTimeout) { return smth WaitForCompletion (aTimeout); }
#define COM_FORWARD_IProgress_WaitForCompletion_TO_OBJ(obj) COM_FORWARD_IProgress_WaitForCompletion_TO ((obj)->)
#define COM_FORWARD_IProgress_WaitForCompletion_TO_BASE(base) COM_FORWARD_IProgress_WaitForCompletion_TO (base::)
#define COM_FORWARD_IProgress_WaitForOperationCompletion_TO(smth) HRESULT STDMETHODCALLTYPE WaitForOperationCompletion (ULONG aOperation, LONG aTimeout) { return smth WaitForOperationCompletion (aOperation, aTimeout); }
#define COM_FORWARD_IProgress_WaitForOperationCompletion_TO_OBJ(obj) COM_FORWARD_IProgress_WaitForOperationCompletion_TO ((obj)->)
#define COM_FORWARD_IProgress_WaitForOperationCompletion_TO_BASE(base) COM_FORWARD_IProgress_WaitForOperationCompletion_TO (base::)
#define COM_FORWARD_IProgress_Cancel_TO(smth) HRESULT STDMETHODCALLTYPE Cancel() { return smth Cancel(); }
#define COM_FORWARD_IProgress_Cancel_TO_OBJ(obj) COM_FORWARD_IProgress_Cancel_TO ((obj)->)
#define COM_FORWARD_IProgress_Cancel_TO_BASE(base) COM_FORWARD_IProgress_Cancel_TO (base::)
#define COM_FORWARD_IProgress_TO(smth) COM_FORWARD_IProgress_GETTER_Id_TO (smth) COM_FORWARD_IProgress_GETTER_Description_TO (smth) COM_FORWARD_IProgress_GETTER_Initiator_TO (smth) COM_FORWARD_IProgress_GETTER_Cancelable_TO (smth) COM_FORWARD_IProgress_GETTER_Percent_TO (smth) COM_FORWARD_IProgress_GETTER_TimeRemaining_TO (smth) COM_FORWARD_IProgress_GETTER_Completed_TO (smth) COM_FORWARD_IProgress_GETTER_Canceled_TO (smth) COM_FORWARD_IProgress_GETTER_ResultCode_TO (smth) COM_FORWARD_IProgress_GETTER_ErrorInfo_TO (smth) COM_FORWARD_IProgress_GETTER_OperationCount_TO (smth) COM_FORWARD_IProgress_GETTER_Operation_TO (smth) COM_FORWARD_IProgress_GETTER_OperationDescription_TO (smth) COM_FORWARD_IProgress_GETTER_OperationPercent_TO (smth) COM_FORWARD_IProgress_GETTER_OperationWeight_TO (smth) COM_FORWARD_IProgress_GETTER_Timeout_TO (smth) COM_FORWARD_IProgress_SETTER_Timeout_TO (smth) COM_FORWARD_IProgress_GETTER_EventSource_TO (smth) COM_FORWARD_IProgress_WaitForCompletion_TO (smth) COM_FORWARD_IProgress_WaitForOperationCompletion_TO (smth) COM_FORWARD_IProgress_Cancel_TO (smth) 
#define COM_FORWARD_IProgress_TO_OBJ(obj) COM_FORWARD_IProgress_TO ((obj)->)
#define COM_FORWARD_IProgress_TO_BASE(base) COM_FORWARD_IProgress_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0065_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0065_v0_0_s_ifspec;

#ifndef __IInternalProgressControl_INTERFACE_DEFINED__
#define __IInternalProgressControl_INTERFACE_DEFINED__

/* interface IInternalProgressControl */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IInternalProgressControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("41a033b8-cc87-4f6e-a0e9-47bb7f2d4be5")
    IInternalProgressControl : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IInternalProgressControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IInternalProgressControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IInternalProgressControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IInternalProgressControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IInternalProgressControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IInternalProgressControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IInternalProgressControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IInternalProgressControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCurrentOperationProgress( 
            /* [in] */ ULONG aPercent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WaitForOtherProgressCompletion( 
            /* [in] */ IProgress *aProgressOther,
            /* [in] */ ULONG aTimeoutMS) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetNextOperation( 
            /* [in] */ BSTR aNextOperationDescription,
            /* [in] */ ULONG aNextOperationsWeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NotifyPointOfNoReturn( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NotifyComplete( 
            /* [in] */ LONG aResultCode,
            /* [in] */ IVirtualBoxErrorInfo *aErrorInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IInternalProgressControl( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IInternalProgressControl( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IInternalProgressControl( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IInternalProgressControl( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IInternalProgressControl( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IInternalProgressControl( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IInternalProgressControl( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IInternalProgressControl( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IInternalProgressControlVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IInternalProgressControl * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IInternalProgressControl * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IInternalProgressControl * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IInternalProgressControl * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IInternalProgressControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IInternalProgressControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IInternalProgressControl * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, get_InternalAndReservedAttribute1IInternalProgressControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IInternalProgressControl )( 
            IInternalProgressControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, get_InternalAndReservedAttribute2IInternalProgressControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IInternalProgressControl )( 
            IInternalProgressControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, get_InternalAndReservedAttribute3IInternalProgressControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IInternalProgressControl )( 
            IInternalProgressControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, get_InternalAndReservedAttribute4IInternalProgressControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IInternalProgressControl )( 
            IInternalProgressControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, get_InternalAndReservedAttribute5IInternalProgressControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IInternalProgressControl )( 
            IInternalProgressControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, get_InternalAndReservedAttribute6IInternalProgressControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IInternalProgressControl )( 
            IInternalProgressControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, get_InternalAndReservedAttribute7IInternalProgressControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IInternalProgressControl )( 
            IInternalProgressControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, get_InternalAndReservedAttribute8IInternalProgressControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IInternalProgressControl )( 
            IInternalProgressControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, SetCurrentOperationProgress)
        HRESULT ( STDMETHODCALLTYPE *SetCurrentOperationProgress )( 
            IInternalProgressControl * This,
            /* [in] */ ULONG aPercent);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, WaitForOtherProgressCompletion)
        HRESULT ( STDMETHODCALLTYPE *WaitForOtherProgressCompletion )( 
            IInternalProgressControl * This,
            /* [in] */ IProgress *aProgressOther,
            /* [in] */ ULONG aTimeoutMS);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, SetNextOperation)
        HRESULT ( STDMETHODCALLTYPE *SetNextOperation )( 
            IInternalProgressControl * This,
            /* [in] */ BSTR aNextOperationDescription,
            /* [in] */ ULONG aNextOperationsWeight);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, NotifyPointOfNoReturn)
        HRESULT ( STDMETHODCALLTYPE *NotifyPointOfNoReturn )( 
            IInternalProgressControl * This);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, NotifyComplete)
        HRESULT ( STDMETHODCALLTYPE *NotifyComplete )( 
            IInternalProgressControl * This,
            /* [in] */ LONG aResultCode,
            /* [in] */ IVirtualBoxErrorInfo *aErrorInfo);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, InternalAndReservedMethod1IInternalProgressControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IInternalProgressControl )( 
            IInternalProgressControl * This);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, InternalAndReservedMethod2IInternalProgressControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IInternalProgressControl )( 
            IInternalProgressControl * This);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, InternalAndReservedMethod3IInternalProgressControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IInternalProgressControl )( 
            IInternalProgressControl * This);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, InternalAndReservedMethod4IInternalProgressControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IInternalProgressControl )( 
            IInternalProgressControl * This);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, InternalAndReservedMethod5IInternalProgressControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IInternalProgressControl )( 
            IInternalProgressControl * This);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, InternalAndReservedMethod6IInternalProgressControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IInternalProgressControl )( 
            IInternalProgressControl * This);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, InternalAndReservedMethod7IInternalProgressControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IInternalProgressControl )( 
            IInternalProgressControl * This);
        
        DECLSPEC_XFGVIRT(IInternalProgressControl, InternalAndReservedMethod8IInternalProgressControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IInternalProgressControl )( 
            IInternalProgressControl * This);
        
        END_INTERFACE
    } IInternalProgressControlVtbl;

    interface IInternalProgressControl
    {
        CONST_VTBL struct IInternalProgressControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IInternalProgressControl_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IInternalProgressControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IInternalProgressControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IInternalProgressControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IInternalProgressControl_get_InternalAndReservedAttribute1IInternalProgressControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IInternalProgressControl(This,aReserved) ) 

#define IInternalProgressControl_get_InternalAndReservedAttribute2IInternalProgressControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IInternalProgressControl(This,aReserved) ) 

#define IInternalProgressControl_get_InternalAndReservedAttribute3IInternalProgressControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IInternalProgressControl(This,aReserved) ) 

#define IInternalProgressControl_get_InternalAndReservedAttribute4IInternalProgressControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IInternalProgressControl(This,aReserved) ) 

#define IInternalProgressControl_get_InternalAndReservedAttribute5IInternalProgressControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IInternalProgressControl(This,aReserved) ) 

#define IInternalProgressControl_get_InternalAndReservedAttribute6IInternalProgressControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IInternalProgressControl(This,aReserved) ) 

#define IInternalProgressControl_get_InternalAndReservedAttribute7IInternalProgressControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IInternalProgressControl(This,aReserved) ) 

#define IInternalProgressControl_get_InternalAndReservedAttribute8IInternalProgressControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IInternalProgressControl(This,aReserved) ) 

#define IInternalProgressControl_SetCurrentOperationProgress(This,aPercent)	\
    ( (This)->lpVtbl -> SetCurrentOperationProgress(This,aPercent) ) 

#define IInternalProgressControl_WaitForOtherProgressCompletion(This,aProgressOther,aTimeoutMS)	\
    ( (This)->lpVtbl -> WaitForOtherProgressCompletion(This,aProgressOther,aTimeoutMS) ) 

#define IInternalProgressControl_SetNextOperation(This,aNextOperationDescription,aNextOperationsWeight)	\
    ( (This)->lpVtbl -> SetNextOperation(This,aNextOperationDescription,aNextOperationsWeight) ) 

#define IInternalProgressControl_NotifyPointOfNoReturn(This)	\
    ( (This)->lpVtbl -> NotifyPointOfNoReturn(This) ) 

#define IInternalProgressControl_NotifyComplete(This,aResultCode,aErrorInfo)	\
    ( (This)->lpVtbl -> NotifyComplete(This,aResultCode,aErrorInfo) ) 

#define IInternalProgressControl_InternalAndReservedMethod1IInternalProgressControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IInternalProgressControl(This) ) 

#define IInternalProgressControl_InternalAndReservedMethod2IInternalProgressControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IInternalProgressControl(This) ) 

#define IInternalProgressControl_InternalAndReservedMethod3IInternalProgressControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IInternalProgressControl(This) ) 

#define IInternalProgressControl_InternalAndReservedMethod4IInternalProgressControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IInternalProgressControl(This) ) 

#define IInternalProgressControl_InternalAndReservedMethod5IInternalProgressControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IInternalProgressControl(This) ) 

#define IInternalProgressControl_InternalAndReservedMethod6IInternalProgressControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IInternalProgressControl(This) ) 

#define IInternalProgressControl_InternalAndReservedMethod7IInternalProgressControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IInternalProgressControl(This) ) 

#define IInternalProgressControl_InternalAndReservedMethod8IInternalProgressControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IInternalProgressControl(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IInternalProgressControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0066 */
/* [local] */ 

#define COM_FORWARD_IInternalProgressControl_SetCurrentOperationProgress_TO(smth) HRESULT STDMETHODCALLTYPE SetCurrentOperationProgress (ULONG aPercent) { return smth SetCurrentOperationProgress (aPercent); }
#define COM_FORWARD_IInternalProgressControl_SetCurrentOperationProgress_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_SetCurrentOperationProgress_TO ((obj)->)
#define COM_FORWARD_IInternalProgressControl_SetCurrentOperationProgress_TO_BASE(base) COM_FORWARD_IInternalProgressControl_SetCurrentOperationProgress_TO (base::)
#define COM_FORWARD_IInternalProgressControl_WaitForOtherProgressCompletion_TO(smth) HRESULT STDMETHODCALLTYPE WaitForOtherProgressCompletion (IProgress * aProgressOther, ULONG aTimeoutMS) { return smth WaitForOtherProgressCompletion (aProgressOther, aTimeoutMS); }
#define COM_FORWARD_IInternalProgressControl_WaitForOtherProgressCompletion_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_WaitForOtherProgressCompletion_TO ((obj)->)
#define COM_FORWARD_IInternalProgressControl_WaitForOtherProgressCompletion_TO_BASE(base) COM_FORWARD_IInternalProgressControl_WaitForOtherProgressCompletion_TO (base::)
#define COM_FORWARD_IInternalProgressControl_SetNextOperation_TO(smth) HRESULT STDMETHODCALLTYPE SetNextOperation (BSTR aNextOperationDescription, ULONG aNextOperationsWeight) { return smth SetNextOperation (aNextOperationDescription, aNextOperationsWeight); }
#define COM_FORWARD_IInternalProgressControl_SetNextOperation_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_SetNextOperation_TO ((obj)->)
#define COM_FORWARD_IInternalProgressControl_SetNextOperation_TO_BASE(base) COM_FORWARD_IInternalProgressControl_SetNextOperation_TO (base::)
#define COM_FORWARD_IInternalProgressControl_NotifyPointOfNoReturn_TO(smth) HRESULT STDMETHODCALLTYPE NotifyPointOfNoReturn() { return smth NotifyPointOfNoReturn(); }
#define COM_FORWARD_IInternalProgressControl_NotifyPointOfNoReturn_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_NotifyPointOfNoReturn_TO ((obj)->)
#define COM_FORWARD_IInternalProgressControl_NotifyPointOfNoReturn_TO_BASE(base) COM_FORWARD_IInternalProgressControl_NotifyPointOfNoReturn_TO (base::)
#define COM_FORWARD_IInternalProgressControl_NotifyComplete_TO(smth) HRESULT STDMETHODCALLTYPE NotifyComplete (LONG aResultCode, IVirtualBoxErrorInfo * aErrorInfo) { return smth NotifyComplete (aResultCode, aErrorInfo); }
#define COM_FORWARD_IInternalProgressControl_NotifyComplete_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_NotifyComplete_TO ((obj)->)
#define COM_FORWARD_IInternalProgressControl_NotifyComplete_TO_BASE(base) COM_FORWARD_IInternalProgressControl_NotifyComplete_TO (base::)
#define COM_FORWARD_IInternalProgressControl_TO(smth) COM_FORWARD_IInternalProgressControl_SetCurrentOperationProgress_TO (smth) COM_FORWARD_IInternalProgressControl_WaitForOtherProgressCompletion_TO (smth) COM_FORWARD_IInternalProgressControl_SetNextOperation_TO (smth) COM_FORWARD_IInternalProgressControl_NotifyPointOfNoReturn_TO (smth) COM_FORWARD_IInternalProgressControl_NotifyComplete_TO (smth) 
#define COM_FORWARD_IInternalProgressControl_TO_OBJ(obj) COM_FORWARD_IInternalProgressControl_TO ((obj)->)
#define COM_FORWARD_IInternalProgressControl_TO_BASE(base) COM_FORWARD_IInternalProgressControl_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0066_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0066_v0_0_s_ifspec;

#ifndef __ISnapshot_INTERFACE_DEFINED__
#define __ISnapshot_INTERFACE_DEFINED__

/* interface ISnapshot */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISnapshot;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6cc49055-dad4-4496-85cf-3f76bcb3b5fa")
    ISnapshot : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *aDescription) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR aDescription) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TimeStamp( 
            /* [retval][out] */ LONG64 *aTimeStamp) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Online( 
            /* [retval][out] */ BOOL *aOnline) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Machine( 
            /* [retval][out] */ IMachine **aMachine) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ ISnapshot **aParent) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Children( 
            /* [retval][out] */ SAFEARRAY * *aChildren) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ChildrenCount( 
            /* [retval][out] */ ULONG *aChildrenCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ISnapshot( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ISnapshot( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ISnapshot( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ISnapshot( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ISnapshot( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ISnapshot( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ISnapshot( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ISnapshot( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ISnapshot( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ISnapshot( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3ISnapshot( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4ISnapshot( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISnapshotVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISnapshot * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISnapshot * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISnapshot * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISnapshot * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISnapshot * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISnapshot * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISnapshot * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            ISnapshot * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ISnapshot * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(ISnapshot, put_Name)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            ISnapshot * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            ISnapshot * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(ISnapshot, put_Description)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            ISnapshot * This,
            /* [in] */ BSTR aDescription);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_TimeStamp)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimeStamp )( 
            ISnapshot * This,
            /* [retval][out] */ LONG64 *aTimeStamp);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_Online)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Online )( 
            ISnapshot * This,
            /* [retval][out] */ BOOL *aOnline);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_Machine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Machine )( 
            ISnapshot * This,
            /* [retval][out] */ IMachine **aMachine);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_Parent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ISnapshot * This,
            /* [retval][out] */ ISnapshot **aParent);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_Children)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Children )( 
            ISnapshot * This,
            /* [retval][out] */ SAFEARRAY * *aChildren);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_ChildrenCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChildrenCount )( 
            ISnapshot * This,
            /* [retval][out] */ ULONG *aChildrenCount);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_InternalAndReservedAttribute1ISnapshot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ISnapshot )( 
            ISnapshot * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_InternalAndReservedAttribute2ISnapshot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ISnapshot )( 
            ISnapshot * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_InternalAndReservedAttribute3ISnapshot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ISnapshot )( 
            ISnapshot * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_InternalAndReservedAttribute4ISnapshot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ISnapshot )( 
            ISnapshot * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_InternalAndReservedAttribute5ISnapshot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ISnapshot )( 
            ISnapshot * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_InternalAndReservedAttribute6ISnapshot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ISnapshot )( 
            ISnapshot * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_InternalAndReservedAttribute7ISnapshot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ISnapshot )( 
            ISnapshot * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISnapshot, get_InternalAndReservedAttribute8ISnapshot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ISnapshot )( 
            ISnapshot * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISnapshot, InternalAndReservedMethod1ISnapshot)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ISnapshot )( 
            ISnapshot * This);
        
        DECLSPEC_XFGVIRT(ISnapshot, InternalAndReservedMethod2ISnapshot)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ISnapshot )( 
            ISnapshot * This);
        
        DECLSPEC_XFGVIRT(ISnapshot, InternalAndReservedMethod3ISnapshot)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3ISnapshot )( 
            ISnapshot * This);
        
        DECLSPEC_XFGVIRT(ISnapshot, InternalAndReservedMethod4ISnapshot)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4ISnapshot )( 
            ISnapshot * This);
        
        END_INTERFACE
    } ISnapshotVtbl;

    interface ISnapshot
    {
        CONST_VTBL struct ISnapshotVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISnapshot_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISnapshot_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISnapshot_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISnapshot_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISnapshot_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define ISnapshot_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define ISnapshot_put_Name(This,aName)	\
    ( (This)->lpVtbl -> put_Name(This,aName) ) 

#define ISnapshot_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define ISnapshot_put_Description(This,aDescription)	\
    ( (This)->lpVtbl -> put_Description(This,aDescription) ) 

#define ISnapshot_get_TimeStamp(This,aTimeStamp)	\
    ( (This)->lpVtbl -> get_TimeStamp(This,aTimeStamp) ) 

#define ISnapshot_get_Online(This,aOnline)	\
    ( (This)->lpVtbl -> get_Online(This,aOnline) ) 

#define ISnapshot_get_Machine(This,aMachine)	\
    ( (This)->lpVtbl -> get_Machine(This,aMachine) ) 

#define ISnapshot_get_Parent(This,aParent)	\
    ( (This)->lpVtbl -> get_Parent(This,aParent) ) 

#define ISnapshot_get_Children(This,aChildren)	\
    ( (This)->lpVtbl -> get_Children(This,aChildren) ) 

#define ISnapshot_get_ChildrenCount(This,aChildrenCount)	\
    ( (This)->lpVtbl -> get_ChildrenCount(This,aChildrenCount) ) 

#define ISnapshot_get_InternalAndReservedAttribute1ISnapshot(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ISnapshot(This,aReserved) ) 

#define ISnapshot_get_InternalAndReservedAttribute2ISnapshot(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ISnapshot(This,aReserved) ) 

#define ISnapshot_get_InternalAndReservedAttribute3ISnapshot(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ISnapshot(This,aReserved) ) 

#define ISnapshot_get_InternalAndReservedAttribute4ISnapshot(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ISnapshot(This,aReserved) ) 

#define ISnapshot_get_InternalAndReservedAttribute5ISnapshot(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ISnapshot(This,aReserved) ) 

#define ISnapshot_get_InternalAndReservedAttribute6ISnapshot(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ISnapshot(This,aReserved) ) 

#define ISnapshot_get_InternalAndReservedAttribute7ISnapshot(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ISnapshot(This,aReserved) ) 

#define ISnapshot_get_InternalAndReservedAttribute8ISnapshot(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ISnapshot(This,aReserved) ) 

#define ISnapshot_InternalAndReservedMethod1ISnapshot(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ISnapshot(This) ) 

#define ISnapshot_InternalAndReservedMethod2ISnapshot(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ISnapshot(This) ) 

#define ISnapshot_InternalAndReservedMethod3ISnapshot(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3ISnapshot(This) ) 

#define ISnapshot_InternalAndReservedMethod4ISnapshot(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4ISnapshot(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISnapshot_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0067 */
/* [local] */ 

#define COM_FORWARD_ISnapshot_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_ISnapshot_GETTER_Id_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_ISnapshot_GETTER_Id_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Id_TO (base::)
#define COM_FORWARD_ISnapshot_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_ISnapshot_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_ISnapshot_GETTER_Name_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Name_TO (base::)
#define COM_FORWARD_ISnapshot_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }
#define COM_FORWARD_ISnapshot_SETTER_Name_TO_OBJ(obj) COM_FORWARD_ISnapshot_SETTER_Name_TO ((obj)->)
#define COM_FORWARD_ISnapshot_SETTER_Name_TO_BASE(base) COM_FORWARD_ISnapshot_SETTER_Name_TO (base::)
#define COM_FORWARD_ISnapshot_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }
#define COM_FORWARD_ISnapshot_GETTER_Description_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Description_TO ((obj)->)
#define COM_FORWARD_ISnapshot_GETTER_Description_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Description_TO (base::)
#define COM_FORWARD_ISnapshot_SETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE put_Description (BSTR aDescription) { return smth put_Description (aDescription); }
#define COM_FORWARD_ISnapshot_SETTER_Description_TO_OBJ(obj) COM_FORWARD_ISnapshot_SETTER_Description_TO ((obj)->)
#define COM_FORWARD_ISnapshot_SETTER_Description_TO_BASE(base) COM_FORWARD_ISnapshot_SETTER_Description_TO (base::)
#define COM_FORWARD_ISnapshot_GETTER_TimeStamp_TO(smth) HRESULT STDMETHODCALLTYPE get_TimeStamp (LONG64 * aTimeStamp) { return smth get_TimeStamp (aTimeStamp); }
#define COM_FORWARD_ISnapshot_GETTER_TimeStamp_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_TimeStamp_TO ((obj)->)
#define COM_FORWARD_ISnapshot_GETTER_TimeStamp_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_TimeStamp_TO (base::)
#define COM_FORWARD_ISnapshot_GETTER_Online_TO(smth) HRESULT STDMETHODCALLTYPE get_Online (BOOL * aOnline) { return smth get_Online (aOnline); }
#define COM_FORWARD_ISnapshot_GETTER_Online_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Online_TO ((obj)->)
#define COM_FORWARD_ISnapshot_GETTER_Online_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Online_TO (base::)
#define COM_FORWARD_ISnapshot_GETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE get_Machine (IMachine * * aMachine) { return smth get_Machine (aMachine); }
#define COM_FORWARD_ISnapshot_GETTER_Machine_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Machine_TO ((obj)->)
#define COM_FORWARD_ISnapshot_GETTER_Machine_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Machine_TO (base::)
#define COM_FORWARD_ISnapshot_GETTER_Parent_TO(smth) HRESULT STDMETHODCALLTYPE get_Parent (ISnapshot * * aParent) { return smth get_Parent (aParent); }
#define COM_FORWARD_ISnapshot_GETTER_Parent_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Parent_TO ((obj)->)
#define COM_FORWARD_ISnapshot_GETTER_Parent_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Parent_TO (base::)
#define COM_FORWARD_ISnapshot_GETTER_Children_TO(smth) HRESULT STDMETHODCALLTYPE get_Children (SAFEARRAY * * aChildren) { return smth get_Children (aChildren); }
#define COM_FORWARD_ISnapshot_GETTER_Children_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_Children_TO ((obj)->)
#define COM_FORWARD_ISnapshot_GETTER_Children_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_Children_TO (base::)
#define COM_FORWARD_ISnapshot_GETTER_ChildrenCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ChildrenCount (ULONG * aChildrenCount) { return smth get_ChildrenCount (aChildrenCount); }
#define COM_FORWARD_ISnapshot_GETTER_ChildrenCount_TO_OBJ(obj) COM_FORWARD_ISnapshot_GETTER_ChildrenCount_TO ((obj)->)
#define COM_FORWARD_ISnapshot_GETTER_ChildrenCount_TO_BASE(base) COM_FORWARD_ISnapshot_GETTER_ChildrenCount_TO (base::)
#define COM_FORWARD_ISnapshot_TO(smth) COM_FORWARD_ISnapshot_GETTER_Id_TO (smth) COM_FORWARD_ISnapshot_GETTER_Name_TO (smth) COM_FORWARD_ISnapshot_SETTER_Name_TO (smth) COM_FORWARD_ISnapshot_GETTER_Description_TO (smth) COM_FORWARD_ISnapshot_SETTER_Description_TO (smth) COM_FORWARD_ISnapshot_GETTER_TimeStamp_TO (smth) COM_FORWARD_ISnapshot_GETTER_Online_TO (smth) COM_FORWARD_ISnapshot_GETTER_Machine_TO (smth) COM_FORWARD_ISnapshot_GETTER_Parent_TO (smth) COM_FORWARD_ISnapshot_GETTER_Children_TO (smth) COM_FORWARD_ISnapshot_GETTER_ChildrenCount_TO (smth) 
#define COM_FORWARD_ISnapshot_TO_OBJ(obj) COM_FORWARD_ISnapshot_TO ((obj)->)
#define COM_FORWARD_ISnapshot_TO_BASE(base) COM_FORWARD_ISnapshot_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0067_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0067_v0_0_s_ifspec;

#ifndef __IMediumAttachment_INTERFACE_DEFINED__
#define __IMediumAttachment_INTERFACE_DEFINED__

/* interface IMediumAttachment */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMediumAttachment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8d095cb0-0126-43e0-b05d-326e74abb356")
    IMediumAttachment : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Machine( 
            /* [retval][out] */ IMachine **aMachine) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Medium( 
            /* [retval][out] */ IMedium **aMedium) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Controller( 
            /* [retval][out] */ BSTR *aController) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Port( 
            /* [retval][out] */ LONG *aPort) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Device( 
            /* [retval][out] */ LONG *aDevice) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ DeviceType *aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Passthrough( 
            /* [retval][out] */ BOOL *aPassthrough) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TemporaryEject( 
            /* [retval][out] */ BOOL *aTemporaryEject) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsEjected( 
            /* [retval][out] */ BOOL *aIsEjected) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NonRotational( 
            /* [retval][out] */ BOOL *aNonRotational) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Discard( 
            /* [retval][out] */ BOOL *aDiscard) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HotPluggable( 
            /* [retval][out] */ BOOL *aHotPluggable) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BandwidthGroup( 
            /* [retval][out] */ IBandwidthGroup **aBandwidthGroup) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IMediumAttachment( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IMediumAttachment( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IMediumAttachment( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IMediumAttachment( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IMediumAttachment( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IMediumAttachment( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IMediumAttachment( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IMediumAttachment( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMediumAttachmentVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMediumAttachment * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMediumAttachment * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMediumAttachment * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMediumAttachment * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMediumAttachment * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMediumAttachment * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMediumAttachment * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_Machine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Machine )( 
            IMediumAttachment * This,
            /* [retval][out] */ IMachine **aMachine);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_Medium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Medium )( 
            IMediumAttachment * This,
            /* [retval][out] */ IMedium **aMedium);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_Controller)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Controller )( 
            IMediumAttachment * This,
            /* [retval][out] */ BSTR *aController);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_Port)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Port )( 
            IMediumAttachment * This,
            /* [retval][out] */ LONG *aPort);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_Device)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Device )( 
            IMediumAttachment * This,
            /* [retval][out] */ LONG *aDevice);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMediumAttachment * This,
            /* [retval][out] */ DeviceType *aType);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_Passthrough)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Passthrough )( 
            IMediumAttachment * This,
            /* [retval][out] */ BOOL *aPassthrough);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_TemporaryEject)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TemporaryEject )( 
            IMediumAttachment * This,
            /* [retval][out] */ BOOL *aTemporaryEject);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_IsEjected)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEjected )( 
            IMediumAttachment * This,
            /* [retval][out] */ BOOL *aIsEjected);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_NonRotational)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NonRotational )( 
            IMediumAttachment * This,
            /* [retval][out] */ BOOL *aNonRotational);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_Discard)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Discard )( 
            IMediumAttachment * This,
            /* [retval][out] */ BOOL *aDiscard);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_HotPluggable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HotPluggable )( 
            IMediumAttachment * This,
            /* [retval][out] */ BOOL *aHotPluggable);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_BandwidthGroup)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BandwidthGroup )( 
            IMediumAttachment * This,
            /* [retval][out] */ IBandwidthGroup **aBandwidthGroup);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_InternalAndReservedAttribute1IMediumAttachment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IMediumAttachment )( 
            IMediumAttachment * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_InternalAndReservedAttribute2IMediumAttachment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IMediumAttachment )( 
            IMediumAttachment * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_InternalAndReservedAttribute3IMediumAttachment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IMediumAttachment )( 
            IMediumAttachment * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_InternalAndReservedAttribute4IMediumAttachment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IMediumAttachment )( 
            IMediumAttachment * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_InternalAndReservedAttribute5IMediumAttachment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IMediumAttachment )( 
            IMediumAttachment * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_InternalAndReservedAttribute6IMediumAttachment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IMediumAttachment )( 
            IMediumAttachment * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_InternalAndReservedAttribute7IMediumAttachment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IMediumAttachment )( 
            IMediumAttachment * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumAttachment, get_InternalAndReservedAttribute8IMediumAttachment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IMediumAttachment )( 
            IMediumAttachment * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IMediumAttachmentVtbl;

    interface IMediumAttachment
    {
        CONST_VTBL struct IMediumAttachmentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMediumAttachment_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMediumAttachment_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMediumAttachment_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMediumAttachment_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMediumAttachment_get_Machine(This,aMachine)	\
    ( (This)->lpVtbl -> get_Machine(This,aMachine) ) 

#define IMediumAttachment_get_Medium(This,aMedium)	\
    ( (This)->lpVtbl -> get_Medium(This,aMedium) ) 

#define IMediumAttachment_get_Controller(This,aController)	\
    ( (This)->lpVtbl -> get_Controller(This,aController) ) 

#define IMediumAttachment_get_Port(This,aPort)	\
    ( (This)->lpVtbl -> get_Port(This,aPort) ) 

#define IMediumAttachment_get_Device(This,aDevice)	\
    ( (This)->lpVtbl -> get_Device(This,aDevice) ) 

#define IMediumAttachment_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMediumAttachment_get_Passthrough(This,aPassthrough)	\
    ( (This)->lpVtbl -> get_Passthrough(This,aPassthrough) ) 

#define IMediumAttachment_get_TemporaryEject(This,aTemporaryEject)	\
    ( (This)->lpVtbl -> get_TemporaryEject(This,aTemporaryEject) ) 

#define IMediumAttachment_get_IsEjected(This,aIsEjected)	\
    ( (This)->lpVtbl -> get_IsEjected(This,aIsEjected) ) 

#define IMediumAttachment_get_NonRotational(This,aNonRotational)	\
    ( (This)->lpVtbl -> get_NonRotational(This,aNonRotational) ) 

#define IMediumAttachment_get_Discard(This,aDiscard)	\
    ( (This)->lpVtbl -> get_Discard(This,aDiscard) ) 

#define IMediumAttachment_get_HotPluggable(This,aHotPluggable)	\
    ( (This)->lpVtbl -> get_HotPluggable(This,aHotPluggable) ) 

#define IMediumAttachment_get_BandwidthGroup(This,aBandwidthGroup)	\
    ( (This)->lpVtbl -> get_BandwidthGroup(This,aBandwidthGroup) ) 

#define IMediumAttachment_get_InternalAndReservedAttribute1IMediumAttachment(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IMediumAttachment(This,aReserved) ) 

#define IMediumAttachment_get_InternalAndReservedAttribute2IMediumAttachment(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IMediumAttachment(This,aReserved) ) 

#define IMediumAttachment_get_InternalAndReservedAttribute3IMediumAttachment(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IMediumAttachment(This,aReserved) ) 

#define IMediumAttachment_get_InternalAndReservedAttribute4IMediumAttachment(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IMediumAttachment(This,aReserved) ) 

#define IMediumAttachment_get_InternalAndReservedAttribute5IMediumAttachment(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IMediumAttachment(This,aReserved) ) 

#define IMediumAttachment_get_InternalAndReservedAttribute6IMediumAttachment(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IMediumAttachment(This,aReserved) ) 

#define IMediumAttachment_get_InternalAndReservedAttribute7IMediumAttachment(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IMediumAttachment(This,aReserved) ) 

#define IMediumAttachment_get_InternalAndReservedAttribute8IMediumAttachment(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IMediumAttachment(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMediumAttachment_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0068 */
/* [local] */ 

#define COM_FORWARD_IMediumAttachment_GETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE get_Machine (IMachine * * aMachine) { return smth get_Machine (aMachine); }
#define COM_FORWARD_IMediumAttachment_GETTER_Machine_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Machine_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_Machine_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Machine_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_Medium_TO(smth) HRESULT STDMETHODCALLTYPE get_Medium (IMedium * * aMedium) { return smth get_Medium (aMedium); }
#define COM_FORWARD_IMediumAttachment_GETTER_Medium_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Medium_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_Medium_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Medium_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_Controller_TO(smth) HRESULT STDMETHODCALLTYPE get_Controller (BSTR * aController) { return smth get_Controller (aController); }
#define COM_FORWARD_IMediumAttachment_GETTER_Controller_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Controller_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_Controller_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Controller_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_Port_TO(smth) HRESULT STDMETHODCALLTYPE get_Port (LONG * aPort) { return smth get_Port (aPort); }
#define COM_FORWARD_IMediumAttachment_GETTER_Port_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Port_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_Port_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Port_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_Device_TO(smth) HRESULT STDMETHODCALLTYPE get_Device (LONG * aDevice) { return smth get_Device (aDevice); }
#define COM_FORWARD_IMediumAttachment_GETTER_Device_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Device_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_Device_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Device_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (DeviceType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IMediumAttachment_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_Type_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Type_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_Passthrough_TO(smth) HRESULT STDMETHODCALLTYPE get_Passthrough (BOOL * aPassthrough) { return smth get_Passthrough (aPassthrough); }
#define COM_FORWARD_IMediumAttachment_GETTER_Passthrough_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Passthrough_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_Passthrough_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Passthrough_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_TemporaryEject_TO(smth) HRESULT STDMETHODCALLTYPE get_TemporaryEject (BOOL * aTemporaryEject) { return smth get_TemporaryEject (aTemporaryEject); }
#define COM_FORWARD_IMediumAttachment_GETTER_TemporaryEject_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_TemporaryEject_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_TemporaryEject_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_TemporaryEject_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_IsEjected_TO(smth) HRESULT STDMETHODCALLTYPE get_IsEjected (BOOL * aIsEjected) { return smth get_IsEjected (aIsEjected); }
#define COM_FORWARD_IMediumAttachment_GETTER_IsEjected_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_IsEjected_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_IsEjected_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_IsEjected_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_NonRotational_TO(smth) HRESULT STDMETHODCALLTYPE get_NonRotational (BOOL * aNonRotational) { return smth get_NonRotational (aNonRotational); }
#define COM_FORWARD_IMediumAttachment_GETTER_NonRotational_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_NonRotational_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_NonRotational_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_NonRotational_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_Discard_TO(smth) HRESULT STDMETHODCALLTYPE get_Discard (BOOL * aDiscard) { return smth get_Discard (aDiscard); }
#define COM_FORWARD_IMediumAttachment_GETTER_Discard_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_Discard_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_Discard_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_Discard_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_HotPluggable_TO(smth) HRESULT STDMETHODCALLTYPE get_HotPluggable (BOOL * aHotPluggable) { return smth get_HotPluggable (aHotPluggable); }
#define COM_FORWARD_IMediumAttachment_GETTER_HotPluggable_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_HotPluggable_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_HotPluggable_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_HotPluggable_TO (base::)
#define COM_FORWARD_IMediumAttachment_GETTER_BandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE get_BandwidthGroup (IBandwidthGroup * * aBandwidthGroup) { return smth get_BandwidthGroup (aBandwidthGroup); }
#define COM_FORWARD_IMediumAttachment_GETTER_BandwidthGroup_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_GETTER_BandwidthGroup_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_GETTER_BandwidthGroup_TO_BASE(base) COM_FORWARD_IMediumAttachment_GETTER_BandwidthGroup_TO (base::)
#define COM_FORWARD_IMediumAttachment_TO(smth) COM_FORWARD_IMediumAttachment_GETTER_Machine_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_Medium_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_Controller_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_Port_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_Device_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_Type_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_Passthrough_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_TemporaryEject_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_IsEjected_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_NonRotational_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_Discard_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_HotPluggable_TO (smth) COM_FORWARD_IMediumAttachment_GETTER_BandwidthGroup_TO (smth) 
#define COM_FORWARD_IMediumAttachment_TO_OBJ(obj) COM_FORWARD_IMediumAttachment_TO ((obj)->)
#define COM_FORWARD_IMediumAttachment_TO_BASE(base) COM_FORWARD_IMediumAttachment_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0068_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0068_v0_0_s_ifspec;

#ifndef __IMedium_INTERFACE_DEFINED__
#define __IMedium_INTERFACE_DEFINED__

/* interface IMedium */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMedium;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7d510820-a678-4730-a862-818dcd3fbed0")
    IMedium : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *aDescription) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR aDescription) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ MediumState *aState) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Variant( 
            /* [retval][out] */ SAFEARRAY * *aVariant) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Location( 
            /* [retval][out] */ BSTR *aLocation) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Location( 
            /* [in] */ BSTR aLocation) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeviceType( 
            /* [retval][out] */ DeviceType *aDeviceType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostDrive( 
            /* [retval][out] */ BOOL *aHostDrive) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ LONG64 *aSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ BSTR *aFormat) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MediumFormat( 
            /* [retval][out] */ IMediumFormat **aMediumFormat) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MediumType *aType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ MediumType aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllowedTypes( 
            /* [retval][out] */ SAFEARRAY * *aAllowedTypes) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IMedium **aParent) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Children( 
            /* [retval][out] */ SAFEARRAY * *aChildren) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Base( 
            /* [retval][out] */ IMedium **aBase) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReadOnly( 
            /* [retval][out] */ BOOL *aReadOnly) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogicalSize( 
            /* [retval][out] */ LONG64 *aLogicalSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutoReset( 
            /* [retval][out] */ BOOL *aAutoReset) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutoReset( 
            /* [in] */ BOOL aAutoReset) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LastAccessError( 
            /* [retval][out] */ BSTR *aLastAccessError) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MachineIds( 
            /* [retval][out] */ SAFEARRAY * *aMachineIds) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IMedium( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetIds( 
            /* [in] */ BOOL aSetImageId,
            /* [in] */ BSTR aImageId,
            /* [in] */ BOOL aSetParentId,
            /* [in] */ BSTR aParentId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RefreshState( 
            /* [retval][out] */ MediumState *aState) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSnapshotIds( 
            /* [in] */ BSTR aMachineId,
            /* [retval][out] */ SAFEARRAY * *aSnapshotIds) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LockRead( 
            /* [retval][out] */ IToken **aToken) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LockWrite( 
            /* [retval][out] */ IToken **aToken) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProperty( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetProperty( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProperties( 
            /* [in] */ BSTR aNames,
            /* [out] */ SAFEARRAY * *aReturnNames,
            /* [retval][out] */ SAFEARRAY * *aReturnValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetProperties( 
            /* [in] */ SAFEARRAY * aNames,
            /* [in] */ SAFEARRAY * aValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateBaseStorage( 
            /* [in] */ LONG64 aLogicalSize,
            /* [in] */ SAFEARRAY * aVariant,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteStorage( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateDiffStorage( 
            /* [in] */ IMedium *aTarget,
            /* [in] */ SAFEARRAY * aVariant,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MergeTo( 
            /* [in] */ IMedium *aTarget,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CloneTo( 
            /* [in] */ IMedium *aTarget,
            /* [in] */ SAFEARRAY * aVariant,
            /* [in] */ IMedium *aParent,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CloneToBase( 
            /* [in] */ IMedium *aTarget,
            /* [in] */ SAFEARRAY * aVariant,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MoveTo( 
            /* [in] */ BSTR aLocation,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Compact( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Resize( 
            /* [in] */ LONG64 aLogicalSize,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Reset( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ChangeEncryption( 
            /* [in] */ BSTR aCurrentPassword,
            /* [in] */ BSTR aCipher,
            /* [in] */ BSTR aNewPassword,
            /* [in] */ BSTR aNewPasswordId,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetEncryptionSettings( 
            /* [out] */ BSTR *aCipher,
            /* [retval][out] */ BSTR *aPasswordId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CheckEncryptionPassword( 
            /* [in] */ BSTR aPassword) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OpenForIO( 
            /* [in] */ BOOL aWritable,
            /* [in] */ BSTR aPassword,
            /* [retval][out] */ IMediumIO **aMediumIO) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ResizeAndCloneTo( 
            /* [in] */ IMedium *aTarget,
            /* [in] */ LONG64 aLogicalSize,
            /* [in] */ SAFEARRAY * aVariant,
            /* [in] */ IMedium *aParent,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IMedium( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IMedium( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IMedium( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IMedium( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IMedium( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IMedium( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IMedium( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMediumVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMedium * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMedium * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMedium * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMedium * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMedium * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMedium * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMedium * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IMedium, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IMedium * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IMedium, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IMedium * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IMedium, put_Description)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IMedium * This,
            /* [in] */ BSTR aDescription);
        
        DECLSPEC_XFGVIRT(IMedium, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IMedium * This,
            /* [retval][out] */ MediumState *aState);
        
        DECLSPEC_XFGVIRT(IMedium, get_Variant)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Variant )( 
            IMedium * This,
            /* [retval][out] */ SAFEARRAY * *aVariant);
        
        DECLSPEC_XFGVIRT(IMedium, get_Location)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Location )( 
            IMedium * This,
            /* [retval][out] */ BSTR *aLocation);
        
        DECLSPEC_XFGVIRT(IMedium, put_Location)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Location )( 
            IMedium * This,
            /* [in] */ BSTR aLocation);
        
        DECLSPEC_XFGVIRT(IMedium, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMedium * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IMedium, get_DeviceType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceType )( 
            IMedium * This,
            /* [retval][out] */ DeviceType *aDeviceType);
        
        DECLSPEC_XFGVIRT(IMedium, get_HostDrive)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostDrive )( 
            IMedium * This,
            /* [retval][out] */ BOOL *aHostDrive);
        
        DECLSPEC_XFGVIRT(IMedium, get_Size)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IMedium * This,
            /* [retval][out] */ LONG64 *aSize);
        
        DECLSPEC_XFGVIRT(IMedium, get_Format)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMedium * This,
            /* [retval][out] */ BSTR *aFormat);
        
        DECLSPEC_XFGVIRT(IMedium, get_MediumFormat)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediumFormat )( 
            IMedium * This,
            /* [retval][out] */ IMediumFormat **aMediumFormat);
        
        DECLSPEC_XFGVIRT(IMedium, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMedium * This,
            /* [retval][out] */ MediumType *aType);
        
        DECLSPEC_XFGVIRT(IMedium, put_Type)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IMedium * This,
            /* [in] */ MediumType aType);
        
        DECLSPEC_XFGVIRT(IMedium, get_AllowedTypes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowedTypes )( 
            IMedium * This,
            /* [retval][out] */ SAFEARRAY * *aAllowedTypes);
        
        DECLSPEC_XFGVIRT(IMedium, get_Parent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMedium * This,
            /* [retval][out] */ IMedium **aParent);
        
        DECLSPEC_XFGVIRT(IMedium, get_Children)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Children )( 
            IMedium * This,
            /* [retval][out] */ SAFEARRAY * *aChildren);
        
        DECLSPEC_XFGVIRT(IMedium, get_Base)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Base )( 
            IMedium * This,
            /* [retval][out] */ IMedium **aBase);
        
        DECLSPEC_XFGVIRT(IMedium, get_ReadOnly)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( 
            IMedium * This,
            /* [retval][out] */ BOOL *aReadOnly);
        
        DECLSPEC_XFGVIRT(IMedium, get_LogicalSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogicalSize )( 
            IMedium * This,
            /* [retval][out] */ LONG64 *aLogicalSize);
        
        DECLSPEC_XFGVIRT(IMedium, get_AutoReset)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoReset )( 
            IMedium * This,
            /* [retval][out] */ BOOL *aAutoReset);
        
        DECLSPEC_XFGVIRT(IMedium, put_AutoReset)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoReset )( 
            IMedium * This,
            /* [in] */ BOOL aAutoReset);
        
        DECLSPEC_XFGVIRT(IMedium, get_LastAccessError)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastAccessError )( 
            IMedium * This,
            /* [retval][out] */ BSTR *aLastAccessError);
        
        DECLSPEC_XFGVIRT(IMedium, get_MachineIds)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineIds )( 
            IMedium * This,
            /* [retval][out] */ SAFEARRAY * *aMachineIds);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute1IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute2IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute3IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute4IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute5IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute6IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute7IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute8IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute9IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute10IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute11IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, get_InternalAndReservedAttribute12IMedium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IMedium )( 
            IMedium * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMedium, SetIds)
        HRESULT ( STDMETHODCALLTYPE *SetIds )( 
            IMedium * This,
            /* [in] */ BOOL aSetImageId,
            /* [in] */ BSTR aImageId,
            /* [in] */ BOOL aSetParentId,
            /* [in] */ BSTR aParentId);
        
        DECLSPEC_XFGVIRT(IMedium, RefreshState)
        HRESULT ( STDMETHODCALLTYPE *RefreshState )( 
            IMedium * This,
            /* [retval][out] */ MediumState *aState);
        
        DECLSPEC_XFGVIRT(IMedium, GetSnapshotIds)
        HRESULT ( STDMETHODCALLTYPE *GetSnapshotIds )( 
            IMedium * This,
            /* [in] */ BSTR aMachineId,
            /* [retval][out] */ SAFEARRAY * *aSnapshotIds);
        
        DECLSPEC_XFGVIRT(IMedium, LockRead)
        HRESULT ( STDMETHODCALLTYPE *LockRead )( 
            IMedium * This,
            /* [retval][out] */ IToken **aToken);
        
        DECLSPEC_XFGVIRT(IMedium, LockWrite)
        HRESULT ( STDMETHODCALLTYPE *LockWrite )( 
            IMedium * This,
            /* [retval][out] */ IToken **aToken);
        
        DECLSPEC_XFGVIRT(IMedium, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMedium * This);
        
        DECLSPEC_XFGVIRT(IMedium, GetProperty)
        HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
            IMedium * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IMedium, SetProperty)
        HRESULT ( STDMETHODCALLTYPE *SetProperty )( 
            IMedium * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IMedium, GetProperties)
        HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
            IMedium * This,
            /* [in] */ BSTR aNames,
            /* [out] */ SAFEARRAY * *aReturnNames,
            /* [retval][out] */ SAFEARRAY * *aReturnValues);
        
        DECLSPEC_XFGVIRT(IMedium, SetProperties)
        HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
            IMedium * This,
            /* [in] */ SAFEARRAY * aNames,
            /* [in] */ SAFEARRAY * aValues);
        
        DECLSPEC_XFGVIRT(IMedium, CreateBaseStorage)
        HRESULT ( STDMETHODCALLTYPE *CreateBaseStorage )( 
            IMedium * This,
            /* [in] */ LONG64 aLogicalSize,
            /* [in] */ SAFEARRAY * aVariant,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, DeleteStorage)
        HRESULT ( STDMETHODCALLTYPE *DeleteStorage )( 
            IMedium * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, CreateDiffStorage)
        HRESULT ( STDMETHODCALLTYPE *CreateDiffStorage )( 
            IMedium * This,
            /* [in] */ IMedium *aTarget,
            /* [in] */ SAFEARRAY * aVariant,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, MergeTo)
        HRESULT ( STDMETHODCALLTYPE *MergeTo )( 
            IMedium * This,
            /* [in] */ IMedium *aTarget,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, CloneTo)
        HRESULT ( STDMETHODCALLTYPE *CloneTo )( 
            IMedium * This,
            /* [in] */ IMedium *aTarget,
            /* [in] */ SAFEARRAY * aVariant,
            /* [in] */ IMedium *aParent,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, CloneToBase)
        HRESULT ( STDMETHODCALLTYPE *CloneToBase )( 
            IMedium * This,
            /* [in] */ IMedium *aTarget,
            /* [in] */ SAFEARRAY * aVariant,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, MoveTo)
        HRESULT ( STDMETHODCALLTYPE *MoveTo )( 
            IMedium * This,
            /* [in] */ BSTR aLocation,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, Compact)
        HRESULT ( STDMETHODCALLTYPE *Compact )( 
            IMedium * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, Resize)
        HRESULT ( STDMETHODCALLTYPE *Resize )( 
            IMedium * This,
            /* [in] */ LONG64 aLogicalSize,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, Reset)
        HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IMedium * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, ChangeEncryption)
        HRESULT ( STDMETHODCALLTYPE *ChangeEncryption )( 
            IMedium * This,
            /* [in] */ BSTR aCurrentPassword,
            /* [in] */ BSTR aCipher,
            /* [in] */ BSTR aNewPassword,
            /* [in] */ BSTR aNewPasswordId,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, GetEncryptionSettings)
        HRESULT ( STDMETHODCALLTYPE *GetEncryptionSettings )( 
            IMedium * This,
            /* [out] */ BSTR *aCipher,
            /* [retval][out] */ BSTR *aPasswordId);
        
        DECLSPEC_XFGVIRT(IMedium, CheckEncryptionPassword)
        HRESULT ( STDMETHODCALLTYPE *CheckEncryptionPassword )( 
            IMedium * This,
            /* [in] */ BSTR aPassword);
        
        DECLSPEC_XFGVIRT(IMedium, OpenForIO)
        HRESULT ( STDMETHODCALLTYPE *OpenForIO )( 
            IMedium * This,
            /* [in] */ BOOL aWritable,
            /* [in] */ BSTR aPassword,
            /* [retval][out] */ IMediumIO **aMediumIO);
        
        DECLSPEC_XFGVIRT(IMedium, ResizeAndCloneTo)
        HRESULT ( STDMETHODCALLTYPE *ResizeAndCloneTo )( 
            IMedium * This,
            /* [in] */ IMedium *aTarget,
            /* [in] */ LONG64 aLogicalSize,
            /* [in] */ SAFEARRAY * aVariant,
            /* [in] */ IMedium *aParent,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMedium, InternalAndReservedMethod1IMedium)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IMedium )( 
            IMedium * This);
        
        DECLSPEC_XFGVIRT(IMedium, InternalAndReservedMethod2IMedium)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IMedium )( 
            IMedium * This);
        
        DECLSPEC_XFGVIRT(IMedium, InternalAndReservedMethod3IMedium)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IMedium )( 
            IMedium * This);
        
        DECLSPEC_XFGVIRT(IMedium, InternalAndReservedMethod4IMedium)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IMedium )( 
            IMedium * This);
        
        DECLSPEC_XFGVIRT(IMedium, InternalAndReservedMethod5IMedium)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IMedium )( 
            IMedium * This);
        
        DECLSPEC_XFGVIRT(IMedium, InternalAndReservedMethod6IMedium)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IMedium )( 
            IMedium * This);
        
        DECLSPEC_XFGVIRT(IMedium, InternalAndReservedMethod7IMedium)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IMedium )( 
            IMedium * This);
        
        END_INTERFACE
    } IMediumVtbl;

    interface IMedium
    {
        CONST_VTBL struct IMediumVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMedium_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMedium_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMedium_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMedium_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMedium_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IMedium_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IMedium_put_Description(This,aDescription)	\
    ( (This)->lpVtbl -> put_Description(This,aDescription) ) 

#define IMedium_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#define IMedium_get_Variant(This,aVariant)	\
    ( (This)->lpVtbl -> get_Variant(This,aVariant) ) 

#define IMedium_get_Location(This,aLocation)	\
    ( (This)->lpVtbl -> get_Location(This,aLocation) ) 

#define IMedium_put_Location(This,aLocation)	\
    ( (This)->lpVtbl -> put_Location(This,aLocation) ) 

#define IMedium_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IMedium_get_DeviceType(This,aDeviceType)	\
    ( (This)->lpVtbl -> get_DeviceType(This,aDeviceType) ) 

#define IMedium_get_HostDrive(This,aHostDrive)	\
    ( (This)->lpVtbl -> get_HostDrive(This,aHostDrive) ) 

#define IMedium_get_Size(This,aSize)	\
    ( (This)->lpVtbl -> get_Size(This,aSize) ) 

#define IMedium_get_Format(This,aFormat)	\
    ( (This)->lpVtbl -> get_Format(This,aFormat) ) 

#define IMedium_get_MediumFormat(This,aMediumFormat)	\
    ( (This)->lpVtbl -> get_MediumFormat(This,aMediumFormat) ) 

#define IMedium_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMedium_put_Type(This,aType)	\
    ( (This)->lpVtbl -> put_Type(This,aType) ) 

#define IMedium_get_AllowedTypes(This,aAllowedTypes)	\
    ( (This)->lpVtbl -> get_AllowedTypes(This,aAllowedTypes) ) 

#define IMedium_get_Parent(This,aParent)	\
    ( (This)->lpVtbl -> get_Parent(This,aParent) ) 

#define IMedium_get_Children(This,aChildren)	\
    ( (This)->lpVtbl -> get_Children(This,aChildren) ) 

#define IMedium_get_Base(This,aBase)	\
    ( (This)->lpVtbl -> get_Base(This,aBase) ) 

#define IMedium_get_ReadOnly(This,aReadOnly)	\
    ( (This)->lpVtbl -> get_ReadOnly(This,aReadOnly) ) 

#define IMedium_get_LogicalSize(This,aLogicalSize)	\
    ( (This)->lpVtbl -> get_LogicalSize(This,aLogicalSize) ) 

#define IMedium_get_AutoReset(This,aAutoReset)	\
    ( (This)->lpVtbl -> get_AutoReset(This,aAutoReset) ) 

#define IMedium_put_AutoReset(This,aAutoReset)	\
    ( (This)->lpVtbl -> put_AutoReset(This,aAutoReset) ) 

#define IMedium_get_LastAccessError(This,aLastAccessError)	\
    ( (This)->lpVtbl -> get_LastAccessError(This,aLastAccessError) ) 

#define IMedium_get_MachineIds(This,aMachineIds)	\
    ( (This)->lpVtbl -> get_MachineIds(This,aMachineIds) ) 

#define IMedium_get_InternalAndReservedAttribute1IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IMedium(This,aReserved) ) 

#define IMedium_get_InternalAndReservedAttribute2IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IMedium(This,aReserved) ) 

#define IMedium_get_InternalAndReservedAttribute3IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IMedium(This,aReserved) ) 

#define IMedium_get_InternalAndReservedAttribute4IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IMedium(This,aReserved) ) 

#define IMedium_get_InternalAndReservedAttribute5IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IMedium(This,aReserved) ) 

#define IMedium_get_InternalAndReservedAttribute6IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IMedium(This,aReserved) ) 

#define IMedium_get_InternalAndReservedAttribute7IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IMedium(This,aReserved) ) 

#define IMedium_get_InternalAndReservedAttribute8IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IMedium(This,aReserved) ) 

#define IMedium_get_InternalAndReservedAttribute9IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IMedium(This,aReserved) ) 

#define IMedium_get_InternalAndReservedAttribute10IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IMedium(This,aReserved) ) 

#define IMedium_get_InternalAndReservedAttribute11IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IMedium(This,aReserved) ) 

#define IMedium_get_InternalAndReservedAttribute12IMedium(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IMedium(This,aReserved) ) 

#define IMedium_SetIds(This,aSetImageId,aImageId,aSetParentId,aParentId)	\
    ( (This)->lpVtbl -> SetIds(This,aSetImageId,aImageId,aSetParentId,aParentId) ) 

#define IMedium_RefreshState(This,aState)	\
    ( (This)->lpVtbl -> RefreshState(This,aState) ) 

#define IMedium_GetSnapshotIds(This,aMachineId,aSnapshotIds)	\
    ( (This)->lpVtbl -> GetSnapshotIds(This,aMachineId,aSnapshotIds) ) 

#define IMedium_LockRead(This,aToken)	\
    ( (This)->lpVtbl -> LockRead(This,aToken) ) 

#define IMedium_LockWrite(This,aToken)	\
    ( (This)->lpVtbl -> LockWrite(This,aToken) ) 

#define IMedium_Close(This)	\
    ( (This)->lpVtbl -> Close(This) ) 

#define IMedium_GetProperty(This,aName,aValue)	\
    ( (This)->lpVtbl -> GetProperty(This,aName,aValue) ) 

#define IMedium_SetProperty(This,aName,aValue)	\
    ( (This)->lpVtbl -> SetProperty(This,aName,aValue) ) 

#define IMedium_GetProperties(This,aNames,aReturnNames,aReturnValues)	\
    ( (This)->lpVtbl -> GetProperties(This,aNames,aReturnNames,aReturnValues) ) 

#define IMedium_SetProperties(This,aNames,aValues)	\
    ( (This)->lpVtbl -> SetProperties(This,aNames,aValues) ) 

#define IMedium_CreateBaseStorage(This,aLogicalSize,aVariant,aProgress)	\
    ( (This)->lpVtbl -> CreateBaseStorage(This,aLogicalSize,aVariant,aProgress) ) 

#define IMedium_DeleteStorage(This,aProgress)	\
    ( (This)->lpVtbl -> DeleteStorage(This,aProgress) ) 

#define IMedium_CreateDiffStorage(This,aTarget,aVariant,aProgress)	\
    ( (This)->lpVtbl -> CreateDiffStorage(This,aTarget,aVariant,aProgress) ) 

#define IMedium_MergeTo(This,aTarget,aProgress)	\
    ( (This)->lpVtbl -> MergeTo(This,aTarget,aProgress) ) 

#define IMedium_CloneTo(This,aTarget,aVariant,aParent,aProgress)	\
    ( (This)->lpVtbl -> CloneTo(This,aTarget,aVariant,aParent,aProgress) ) 

#define IMedium_CloneToBase(This,aTarget,aVariant,aProgress)	\
    ( (This)->lpVtbl -> CloneToBase(This,aTarget,aVariant,aProgress) ) 

#define IMedium_MoveTo(This,aLocation,aProgress)	\
    ( (This)->lpVtbl -> MoveTo(This,aLocation,aProgress) ) 

#define IMedium_Compact(This,aProgress)	\
    ( (This)->lpVtbl -> Compact(This,aProgress) ) 

#define IMedium_Resize(This,aLogicalSize,aProgress)	\
    ( (This)->lpVtbl -> Resize(This,aLogicalSize,aProgress) ) 

#define IMedium_Reset(This,aProgress)	\
    ( (This)->lpVtbl -> Reset(This,aProgress) ) 

#define IMedium_ChangeEncryption(This,aCurrentPassword,aCipher,aNewPassword,aNewPasswordId,aProgress)	\
    ( (This)->lpVtbl -> ChangeEncryption(This,aCurrentPassword,aCipher,aNewPassword,aNewPasswordId,aProgress) ) 

#define IMedium_GetEncryptionSettings(This,aCipher,aPasswordId)	\
    ( (This)->lpVtbl -> GetEncryptionSettings(This,aCipher,aPasswordId) ) 

#define IMedium_CheckEncryptionPassword(This,aPassword)	\
    ( (This)->lpVtbl -> CheckEncryptionPassword(This,aPassword) ) 

#define IMedium_OpenForIO(This,aWritable,aPassword,aMediumIO)	\
    ( (This)->lpVtbl -> OpenForIO(This,aWritable,aPassword,aMediumIO) ) 

#define IMedium_ResizeAndCloneTo(This,aTarget,aLogicalSize,aVariant,aParent,aProgress)	\
    ( (This)->lpVtbl -> ResizeAndCloneTo(This,aTarget,aLogicalSize,aVariant,aParent,aProgress) ) 

#define IMedium_InternalAndReservedMethod1IMedium(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IMedium(This) ) 

#define IMedium_InternalAndReservedMethod2IMedium(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IMedium(This) ) 

#define IMedium_InternalAndReservedMethod3IMedium(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IMedium(This) ) 

#define IMedium_InternalAndReservedMethod4IMedium(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IMedium(This) ) 

#define IMedium_InternalAndReservedMethod5IMedium(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IMedium(This) ) 

#define IMedium_InternalAndReservedMethod6IMedium(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IMedium(This) ) 

#define IMedium_InternalAndReservedMethod7IMedium(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IMedium(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMedium_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0069 */
/* [local] */ 

#define COM_FORWARD_IMedium_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IMedium_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_Id_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Id_TO (base::)
#define COM_FORWARD_IMedium_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }
#define COM_FORWARD_IMedium_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Description_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_Description_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Description_TO (base::)
#define COM_FORWARD_IMedium_SETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE put_Description (BSTR aDescription) { return smth put_Description (aDescription); }
#define COM_FORWARD_IMedium_SETTER_Description_TO_OBJ(obj) COM_FORWARD_IMedium_SETTER_Description_TO ((obj)->)
#define COM_FORWARD_IMedium_SETTER_Description_TO_BASE(base) COM_FORWARD_IMedium_SETTER_Description_TO (base::)
#define COM_FORWARD_IMedium_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (MediumState * aState) { return smth get_State (aState); }
#define COM_FORWARD_IMedium_GETTER_State_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_State_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_State_TO_BASE(base) COM_FORWARD_IMedium_GETTER_State_TO (base::)
#define COM_FORWARD_IMedium_GETTER_Variant_TO(smth) HRESULT STDMETHODCALLTYPE get_Variant (SAFEARRAY * * aVariant) { return smth get_Variant (aVariant); }
#define COM_FORWARD_IMedium_GETTER_Variant_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Variant_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_Variant_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Variant_TO (base::)
#define COM_FORWARD_IMedium_GETTER_Location_TO(smth) HRESULT STDMETHODCALLTYPE get_Location (BSTR * aLocation) { return smth get_Location (aLocation); }
#define COM_FORWARD_IMedium_GETTER_Location_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Location_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_Location_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Location_TO (base::)
#define COM_FORWARD_IMedium_SETTER_Location_TO(smth) HRESULT STDMETHODCALLTYPE put_Location (BSTR aLocation) { return smth put_Location (aLocation); }
#define COM_FORWARD_IMedium_SETTER_Location_TO_OBJ(obj) COM_FORWARD_IMedium_SETTER_Location_TO ((obj)->)
#define COM_FORWARD_IMedium_SETTER_Location_TO_BASE(base) COM_FORWARD_IMedium_SETTER_Location_TO (base::)
#define COM_FORWARD_IMedium_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IMedium_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_Name_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Name_TO (base::)
#define COM_FORWARD_IMedium_GETTER_DeviceType_TO(smth) HRESULT STDMETHODCALLTYPE get_DeviceType (DeviceType * aDeviceType) { return smth get_DeviceType (aDeviceType); }
#define COM_FORWARD_IMedium_GETTER_DeviceType_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_DeviceType_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_DeviceType_TO_BASE(base) COM_FORWARD_IMedium_GETTER_DeviceType_TO (base::)
#define COM_FORWARD_IMedium_GETTER_HostDrive_TO(smth) HRESULT STDMETHODCALLTYPE get_HostDrive (BOOL * aHostDrive) { return smth get_HostDrive (aHostDrive); }
#define COM_FORWARD_IMedium_GETTER_HostDrive_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_HostDrive_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_HostDrive_TO_BASE(base) COM_FORWARD_IMedium_GETTER_HostDrive_TO (base::)
#define COM_FORWARD_IMedium_GETTER_Size_TO(smth) HRESULT STDMETHODCALLTYPE get_Size (LONG64 * aSize) { return smth get_Size (aSize); }
#define COM_FORWARD_IMedium_GETTER_Size_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Size_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_Size_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Size_TO (base::)
#define COM_FORWARD_IMedium_GETTER_Format_TO(smth) HRESULT STDMETHODCALLTYPE get_Format (BSTR * aFormat) { return smth get_Format (aFormat); }
#define COM_FORWARD_IMedium_GETTER_Format_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Format_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_Format_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Format_TO (base::)
#define COM_FORWARD_IMedium_GETTER_MediumFormat_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumFormat (IMediumFormat * * aMediumFormat) { return smth get_MediumFormat (aMediumFormat); }
#define COM_FORWARD_IMedium_GETTER_MediumFormat_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_MediumFormat_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_MediumFormat_TO_BASE(base) COM_FORWARD_IMedium_GETTER_MediumFormat_TO (base::)
#define COM_FORWARD_IMedium_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (MediumType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IMedium_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_Type_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Type_TO (base::)
#define COM_FORWARD_IMedium_SETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE put_Type (MediumType aType) { return smth put_Type (aType); }
#define COM_FORWARD_IMedium_SETTER_Type_TO_OBJ(obj) COM_FORWARD_IMedium_SETTER_Type_TO ((obj)->)
#define COM_FORWARD_IMedium_SETTER_Type_TO_BASE(base) COM_FORWARD_IMedium_SETTER_Type_TO (base::)
#define COM_FORWARD_IMedium_GETTER_AllowedTypes_TO(smth) HRESULT STDMETHODCALLTYPE get_AllowedTypes (SAFEARRAY * * aAllowedTypes) { return smth get_AllowedTypes (aAllowedTypes); }
#define COM_FORWARD_IMedium_GETTER_AllowedTypes_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_AllowedTypes_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_AllowedTypes_TO_BASE(base) COM_FORWARD_IMedium_GETTER_AllowedTypes_TO (base::)
#define COM_FORWARD_IMedium_GETTER_Parent_TO(smth) HRESULT STDMETHODCALLTYPE get_Parent (IMedium * * aParent) { return smth get_Parent (aParent); }
#define COM_FORWARD_IMedium_GETTER_Parent_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Parent_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_Parent_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Parent_TO (base::)
#define COM_FORWARD_IMedium_GETTER_Children_TO(smth) HRESULT STDMETHODCALLTYPE get_Children (SAFEARRAY * * aChildren) { return smth get_Children (aChildren); }
#define COM_FORWARD_IMedium_GETTER_Children_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Children_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_Children_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Children_TO (base::)
#define COM_FORWARD_IMedium_GETTER_Base_TO(smth) HRESULT STDMETHODCALLTYPE get_Base (IMedium * * aBase) { return smth get_Base (aBase); }
#define COM_FORWARD_IMedium_GETTER_Base_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_Base_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_Base_TO_BASE(base) COM_FORWARD_IMedium_GETTER_Base_TO (base::)
#define COM_FORWARD_IMedium_GETTER_ReadOnly_TO(smth) HRESULT STDMETHODCALLTYPE get_ReadOnly (BOOL * aReadOnly) { return smth get_ReadOnly (aReadOnly); }
#define COM_FORWARD_IMedium_GETTER_ReadOnly_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_ReadOnly_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_ReadOnly_TO_BASE(base) COM_FORWARD_IMedium_GETTER_ReadOnly_TO (base::)
#define COM_FORWARD_IMedium_GETTER_LogicalSize_TO(smth) HRESULT STDMETHODCALLTYPE get_LogicalSize (LONG64 * aLogicalSize) { return smth get_LogicalSize (aLogicalSize); }
#define COM_FORWARD_IMedium_GETTER_LogicalSize_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_LogicalSize_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_LogicalSize_TO_BASE(base) COM_FORWARD_IMedium_GETTER_LogicalSize_TO (base::)
#define COM_FORWARD_IMedium_GETTER_AutoReset_TO(smth) HRESULT STDMETHODCALLTYPE get_AutoReset (BOOL * aAutoReset) { return smth get_AutoReset (aAutoReset); }
#define COM_FORWARD_IMedium_GETTER_AutoReset_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_AutoReset_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_AutoReset_TO_BASE(base) COM_FORWARD_IMedium_GETTER_AutoReset_TO (base::)
#define COM_FORWARD_IMedium_SETTER_AutoReset_TO(smth) HRESULT STDMETHODCALLTYPE put_AutoReset (BOOL aAutoReset) { return smth put_AutoReset (aAutoReset); }
#define COM_FORWARD_IMedium_SETTER_AutoReset_TO_OBJ(obj) COM_FORWARD_IMedium_SETTER_AutoReset_TO ((obj)->)
#define COM_FORWARD_IMedium_SETTER_AutoReset_TO_BASE(base) COM_FORWARD_IMedium_SETTER_AutoReset_TO (base::)
#define COM_FORWARD_IMedium_GETTER_LastAccessError_TO(smth) HRESULT STDMETHODCALLTYPE get_LastAccessError (BSTR * aLastAccessError) { return smth get_LastAccessError (aLastAccessError); }
#define COM_FORWARD_IMedium_GETTER_LastAccessError_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_LastAccessError_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_LastAccessError_TO_BASE(base) COM_FORWARD_IMedium_GETTER_LastAccessError_TO (base::)
#define COM_FORWARD_IMedium_GETTER_MachineIds_TO(smth) HRESULT STDMETHODCALLTYPE get_MachineIds (SAFEARRAY * * aMachineIds) { return smth get_MachineIds (aMachineIds); }
#define COM_FORWARD_IMedium_GETTER_MachineIds_TO_OBJ(obj) COM_FORWARD_IMedium_GETTER_MachineIds_TO ((obj)->)
#define COM_FORWARD_IMedium_GETTER_MachineIds_TO_BASE(base) COM_FORWARD_IMedium_GETTER_MachineIds_TO (base::)
#define COM_FORWARD_IMedium_SetIds_TO(smth) HRESULT STDMETHODCALLTYPE SetIds (BOOL aSetImageId, BSTR aImageId, BOOL aSetParentId, BSTR aParentId) { return smth SetIds (aSetImageId, aImageId, aSetParentId, aParentId); }
#define COM_FORWARD_IMedium_SetIds_TO_OBJ(obj) COM_FORWARD_IMedium_SetIds_TO ((obj)->)
#define COM_FORWARD_IMedium_SetIds_TO_BASE(base) COM_FORWARD_IMedium_SetIds_TO (base::)
#define COM_FORWARD_IMedium_RefreshState_TO(smth) HRESULT STDMETHODCALLTYPE RefreshState (MediumState * aState) { return smth RefreshState (aState); }
#define COM_FORWARD_IMedium_RefreshState_TO_OBJ(obj) COM_FORWARD_IMedium_RefreshState_TO ((obj)->)
#define COM_FORWARD_IMedium_RefreshState_TO_BASE(base) COM_FORWARD_IMedium_RefreshState_TO (base::)
#define COM_FORWARD_IMedium_GetSnapshotIds_TO(smth) HRESULT STDMETHODCALLTYPE GetSnapshotIds (BSTR aMachineId, SAFEARRAY * * aSnapshotIds) { return smth GetSnapshotIds (aMachineId, aSnapshotIds); }
#define COM_FORWARD_IMedium_GetSnapshotIds_TO_OBJ(obj) COM_FORWARD_IMedium_GetSnapshotIds_TO ((obj)->)
#define COM_FORWARD_IMedium_GetSnapshotIds_TO_BASE(base) COM_FORWARD_IMedium_GetSnapshotIds_TO (base::)
#define COM_FORWARD_IMedium_LockRead_TO(smth) HRESULT STDMETHODCALLTYPE LockRead (IToken * * aToken) { return smth LockRead (aToken); }
#define COM_FORWARD_IMedium_LockRead_TO_OBJ(obj) COM_FORWARD_IMedium_LockRead_TO ((obj)->)
#define COM_FORWARD_IMedium_LockRead_TO_BASE(base) COM_FORWARD_IMedium_LockRead_TO (base::)
#define COM_FORWARD_IMedium_LockWrite_TO(smth) HRESULT STDMETHODCALLTYPE LockWrite (IToken * * aToken) { return smth LockWrite (aToken); }
#define COM_FORWARD_IMedium_LockWrite_TO_OBJ(obj) COM_FORWARD_IMedium_LockWrite_TO ((obj)->)
#define COM_FORWARD_IMedium_LockWrite_TO_BASE(base) COM_FORWARD_IMedium_LockWrite_TO (base::)
#define COM_FORWARD_IMedium_Close_TO(smth) HRESULT STDMETHODCALLTYPE Close() { return smth Close(); }
#define COM_FORWARD_IMedium_Close_TO_OBJ(obj) COM_FORWARD_IMedium_Close_TO ((obj)->)
#define COM_FORWARD_IMedium_Close_TO_BASE(base) COM_FORWARD_IMedium_Close_TO (base::)
#define COM_FORWARD_IMedium_GetProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetProperty (BSTR aName, BSTR * aValue) { return smth GetProperty (aName, aValue); }
#define COM_FORWARD_IMedium_GetProperty_TO_OBJ(obj) COM_FORWARD_IMedium_GetProperty_TO ((obj)->)
#define COM_FORWARD_IMedium_GetProperty_TO_BASE(base) COM_FORWARD_IMedium_GetProperty_TO (base::)
#define COM_FORWARD_IMedium_SetProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetProperty (BSTR aName, BSTR aValue) { return smth SetProperty (aName, aValue); }
#define COM_FORWARD_IMedium_SetProperty_TO_OBJ(obj) COM_FORWARD_IMedium_SetProperty_TO ((obj)->)
#define COM_FORWARD_IMedium_SetProperty_TO_BASE(base) COM_FORWARD_IMedium_SetProperty_TO (base::)
#define COM_FORWARD_IMedium_GetProperties_TO(smth) HRESULT STDMETHODCALLTYPE GetProperties (BSTR aNames, SAFEARRAY * * aReturnNames, SAFEARRAY * * aReturnValues) { return smth GetProperties (aNames, aReturnNames, aReturnValues); }
#define COM_FORWARD_IMedium_GetProperties_TO_OBJ(obj) COM_FORWARD_IMedium_GetProperties_TO ((obj)->)
#define COM_FORWARD_IMedium_GetProperties_TO_BASE(base) COM_FORWARD_IMedium_GetProperties_TO (base::)
#define COM_FORWARD_IMedium_SetProperties_TO(smth) HRESULT STDMETHODCALLTYPE SetProperties (SAFEARRAY * * aNames, SAFEARRAY * * aValues) { return smth SetProperties (aNames, aValues); }
#define COM_FORWARD_IMedium_SetProperties_TO_OBJ(obj) COM_FORWARD_IMedium_SetProperties_TO ((obj)->)
#define COM_FORWARD_IMedium_SetProperties_TO_BASE(base) COM_FORWARD_IMedium_SetProperties_TO (base::)
#define COM_FORWARD_IMedium_CreateBaseStorage_TO(smth) HRESULT STDMETHODCALLTYPE CreateBaseStorage (LONG64 aLogicalSize, SAFEARRAY * * aVariant, IProgress * * aProgress) { return smth CreateBaseStorage (aLogicalSize, aVariant, aProgress); }
#define COM_FORWARD_IMedium_CreateBaseStorage_TO_OBJ(obj) COM_FORWARD_IMedium_CreateBaseStorage_TO ((obj)->)
#define COM_FORWARD_IMedium_CreateBaseStorage_TO_BASE(base) COM_FORWARD_IMedium_CreateBaseStorage_TO (base::)
#define COM_FORWARD_IMedium_DeleteStorage_TO(smth) HRESULT STDMETHODCALLTYPE DeleteStorage (IProgress * * aProgress) { return smth DeleteStorage (aProgress); }
#define COM_FORWARD_IMedium_DeleteStorage_TO_OBJ(obj) COM_FORWARD_IMedium_DeleteStorage_TO ((obj)->)
#define COM_FORWARD_IMedium_DeleteStorage_TO_BASE(base) COM_FORWARD_IMedium_DeleteStorage_TO (base::)
#define COM_FORWARD_IMedium_CreateDiffStorage_TO(smth) HRESULT STDMETHODCALLTYPE CreateDiffStorage (IMedium * aTarget, SAFEARRAY * * aVariant, IProgress * * aProgress) { return smth CreateDiffStorage (aTarget, aVariant, aProgress); }
#define COM_FORWARD_IMedium_CreateDiffStorage_TO_OBJ(obj) COM_FORWARD_IMedium_CreateDiffStorage_TO ((obj)->)
#define COM_FORWARD_IMedium_CreateDiffStorage_TO_BASE(base) COM_FORWARD_IMedium_CreateDiffStorage_TO (base::)
#define COM_FORWARD_IMedium_MergeTo_TO(smth) HRESULT STDMETHODCALLTYPE MergeTo (IMedium * aTarget, IProgress * * aProgress) { return smth MergeTo (aTarget, aProgress); }
#define COM_FORWARD_IMedium_MergeTo_TO_OBJ(obj) COM_FORWARD_IMedium_MergeTo_TO ((obj)->)
#define COM_FORWARD_IMedium_MergeTo_TO_BASE(base) COM_FORWARD_IMedium_MergeTo_TO (base::)
#define COM_FORWARD_IMedium_CloneTo_TO(smth) HRESULT STDMETHODCALLTYPE CloneTo (IMedium * aTarget, SAFEARRAY * * aVariant, IMedium * aParent, IProgress * * aProgress) { return smth CloneTo (aTarget, aVariant, aParent, aProgress); }
#define COM_FORWARD_IMedium_CloneTo_TO_OBJ(obj) COM_FORWARD_IMedium_CloneTo_TO ((obj)->)
#define COM_FORWARD_IMedium_CloneTo_TO_BASE(base) COM_FORWARD_IMedium_CloneTo_TO (base::)
#define COM_FORWARD_IMedium_CloneToBase_TO(smth) HRESULT STDMETHODCALLTYPE CloneToBase (IMedium * aTarget, SAFEARRAY * * aVariant, IProgress * * aProgress) { return smth CloneToBase (aTarget, aVariant, aProgress); }
#define COM_FORWARD_IMedium_CloneToBase_TO_OBJ(obj) COM_FORWARD_IMedium_CloneToBase_TO ((obj)->)
#define COM_FORWARD_IMedium_CloneToBase_TO_BASE(base) COM_FORWARD_IMedium_CloneToBase_TO (base::)
#define COM_FORWARD_IMedium_MoveTo_TO(smth) HRESULT STDMETHODCALLTYPE MoveTo (BSTR aLocation, IProgress * * aProgress) { return smth MoveTo (aLocation, aProgress); }
#define COM_FORWARD_IMedium_MoveTo_TO_OBJ(obj) COM_FORWARD_IMedium_MoveTo_TO ((obj)->)
#define COM_FORWARD_IMedium_MoveTo_TO_BASE(base) COM_FORWARD_IMedium_MoveTo_TO (base::)
#define COM_FORWARD_IMedium_Compact_TO(smth) HRESULT STDMETHODCALLTYPE Compact (IProgress * * aProgress) { return smth Compact (aProgress); }
#define COM_FORWARD_IMedium_Compact_TO_OBJ(obj) COM_FORWARD_IMedium_Compact_TO ((obj)->)
#define COM_FORWARD_IMedium_Compact_TO_BASE(base) COM_FORWARD_IMedium_Compact_TO (base::)
#define COM_FORWARD_IMedium_Resize_TO(smth) HRESULT STDMETHODCALLTYPE Resize (LONG64 aLogicalSize, IProgress * * aProgress) { return smth Resize (aLogicalSize, aProgress); }
#define COM_FORWARD_IMedium_Resize_TO_OBJ(obj) COM_FORWARD_IMedium_Resize_TO ((obj)->)
#define COM_FORWARD_IMedium_Resize_TO_BASE(base) COM_FORWARD_IMedium_Resize_TO (base::)
#define COM_FORWARD_IMedium_Reset_TO(smth) HRESULT STDMETHODCALLTYPE Reset (IProgress * * aProgress) { return smth Reset (aProgress); }
#define COM_FORWARD_IMedium_Reset_TO_OBJ(obj) COM_FORWARD_IMedium_Reset_TO ((obj)->)
#define COM_FORWARD_IMedium_Reset_TO_BASE(base) COM_FORWARD_IMedium_Reset_TO (base::)
#define COM_FORWARD_IMedium_ChangeEncryption_TO(smth) HRESULT STDMETHODCALLTYPE ChangeEncryption (BSTR aCurrentPassword, BSTR aCipher, BSTR aNewPassword, BSTR aNewPasswordId, IProgress * * aProgress) { return smth ChangeEncryption (aCurrentPassword, aCipher, aNewPassword, aNewPasswordId, aProgress); }
#define COM_FORWARD_IMedium_ChangeEncryption_TO_OBJ(obj) COM_FORWARD_IMedium_ChangeEncryption_TO ((obj)->)
#define COM_FORWARD_IMedium_ChangeEncryption_TO_BASE(base) COM_FORWARD_IMedium_ChangeEncryption_TO (base::)
#define COM_FORWARD_IMedium_GetEncryptionSettings_TO(smth) HRESULT STDMETHODCALLTYPE GetEncryptionSettings (BSTR * aCipher, BSTR * aPasswordId) { return smth GetEncryptionSettings (aCipher, aPasswordId); }
#define COM_FORWARD_IMedium_GetEncryptionSettings_TO_OBJ(obj) COM_FORWARD_IMedium_GetEncryptionSettings_TO ((obj)->)
#define COM_FORWARD_IMedium_GetEncryptionSettings_TO_BASE(base) COM_FORWARD_IMedium_GetEncryptionSettings_TO (base::)
#define COM_FORWARD_IMedium_CheckEncryptionPassword_TO(smth) HRESULT STDMETHODCALLTYPE CheckEncryptionPassword (BSTR aPassword) { return smth CheckEncryptionPassword (aPassword); }
#define COM_FORWARD_IMedium_CheckEncryptionPassword_TO_OBJ(obj) COM_FORWARD_IMedium_CheckEncryptionPassword_TO ((obj)->)
#define COM_FORWARD_IMedium_CheckEncryptionPassword_TO_BASE(base) COM_FORWARD_IMedium_CheckEncryptionPassword_TO (base::)
#define COM_FORWARD_IMedium_OpenForIO_TO(smth) HRESULT STDMETHODCALLTYPE OpenForIO (BOOL aWritable, BSTR aPassword, IMediumIO * * aMediumIO) { return smth OpenForIO (aWritable, aPassword, aMediumIO); }
#define COM_FORWARD_IMedium_OpenForIO_TO_OBJ(obj) COM_FORWARD_IMedium_OpenForIO_TO ((obj)->)
#define COM_FORWARD_IMedium_OpenForIO_TO_BASE(base) COM_FORWARD_IMedium_OpenForIO_TO (base::)
#define COM_FORWARD_IMedium_ResizeAndCloneTo_TO(smth) HRESULT STDMETHODCALLTYPE ResizeAndCloneTo (IMedium * aTarget, LONG64 aLogicalSize, SAFEARRAY * * aVariant, IMedium * aParent, IProgress * * aProgress) { return smth ResizeAndCloneTo (aTarget, aLogicalSize, aVariant, aParent, aProgress); }
#define COM_FORWARD_IMedium_ResizeAndCloneTo_TO_OBJ(obj) COM_FORWARD_IMedium_ResizeAndCloneTo_TO ((obj)->)
#define COM_FORWARD_IMedium_ResizeAndCloneTo_TO_BASE(base) COM_FORWARD_IMedium_ResizeAndCloneTo_TO (base::)
#define COM_FORWARD_IMedium_TO(smth) COM_FORWARD_IMedium_GETTER_Id_TO (smth) COM_FORWARD_IMedium_GETTER_Description_TO (smth) COM_FORWARD_IMedium_SETTER_Description_TO (smth) COM_FORWARD_IMedium_GETTER_State_TO (smth) COM_FORWARD_IMedium_GETTER_Variant_TO (smth) COM_FORWARD_IMedium_GETTER_Location_TO (smth) COM_FORWARD_IMedium_SETTER_Location_TO (smth) COM_FORWARD_IMedium_GETTER_Name_TO (smth) COM_FORWARD_IMedium_GETTER_DeviceType_TO (smth) COM_FORWARD_IMedium_GETTER_HostDrive_TO (smth) COM_FORWARD_IMedium_GETTER_Size_TO (smth) COM_FORWARD_IMedium_GETTER_Format_TO (smth) COM_FORWARD_IMedium_GETTER_MediumFormat_TO (smth) COM_FORWARD_IMedium_GETTER_Type_TO (smth) COM_FORWARD_IMedium_SETTER_Type_TO (smth) COM_FORWARD_IMedium_GETTER_AllowedTypes_TO (smth) COM_FORWARD_IMedium_GETTER_Parent_TO (smth) COM_FORWARD_IMedium_GETTER_Children_TO (smth) COM_FORWARD_IMedium_GETTER_Base_TO (smth) COM_FORWARD_IMedium_GETTER_ReadOnly_TO (smth) COM_FORWARD_IMedium_GETTER_LogicalSize_TO (smth) COM_FORWARD_IMedium_GETTER_AutoReset_TO (smth) COM_FORWARD_IMedium_SETTER_AutoReset_TO (smth) COM_FORWARD_IMedium_GETTER_LastAccessError_TO (smth) COM_FORWARD_IMedium_GETTER_MachineIds_TO (smth) COM_FORWARD_IMedium_SetIds_TO (smth) COM_FORWARD_IMedium_RefreshState_TO (smth) COM_FORWARD_IMedium_GetSnapshotIds_TO (smth) COM_FORWARD_IMedium_LockRead_TO (smth) COM_FORWARD_IMedium_LockWrite_TO (smth) COM_FORWARD_IMedium_Close_TO (smth) COM_FORWARD_IMedium_GetProperty_TO (smth) COM_FORWARD_IMedium_SetProperty_TO (smth) COM_FORWARD_IMedium_GetProperties_TO (smth) COM_FORWARD_IMedium_SetProperties_TO (smth) COM_FORWARD_IMedium_CreateBaseStorage_TO (smth) COM_FORWARD_IMedium_DeleteStorage_TO (smth) COM_FORWARD_IMedium_CreateDiffStorage_TO (smth) COM_FORWARD_IMedium_MergeTo_TO (smth) COM_FORWARD_IMedium_CloneTo_TO (smth) COM_FORWARD_IMedium_CloneToBase_TO (smth) COM_FORWARD_IMedium_MoveTo_TO (smth) COM_FORWARD_IMedium_Compact_TO (smth) COM_FORWARD_IMedium_Resize_TO (smth) COM_FORWARD_IMedium_Reset_TO (smth) COM_FORWARD_IMedium_ChangeEncryption_TO (smth) COM_FORWARD_IMedium_GetEncryptionSettings_TO (smth) COM_FORWARD_IMedium_CheckEncryptionPassword_TO (smth) COM_FORWARD_IMedium_OpenForIO_TO (smth) COM_FORWARD_IMedium_ResizeAndCloneTo_TO (smth) 
#define COM_FORWARD_IMedium_TO_OBJ(obj) COM_FORWARD_IMedium_TO ((obj)->)
#define COM_FORWARD_IMedium_TO_BASE(base) COM_FORWARD_IMedium_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0069_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0069_v0_0_s_ifspec;

#ifndef __IMediumFormat_INTERFACE_DEFINED__
#define __IMediumFormat_INTERFACE_DEFINED__

/* interface IMediumFormat */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMediumFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("11be93c7-a862-4dc9-8c89-bf4ba74a886a")
    IMediumFormat : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Capabilities( 
            /* [retval][out] */ SAFEARRAY * *aCapabilities) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IMediumFormat( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IMediumFormat( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IMediumFormat( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IMediumFormat( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DescribeFileExtensions( 
            /* [out] */ SAFEARRAY * *aExtensions,
            /* [out] */ SAFEARRAY * *aTypes) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DescribeProperties( 
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aDescriptions,
            /* [out] */ SAFEARRAY * *aTypes,
            /* [out] */ SAFEARRAY * *aFlags,
            /* [out] */ SAFEARRAY * *aDefaults) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IMediumFormat( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IMediumFormat( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMediumFormatVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMediumFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMediumFormat * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMediumFormat * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMediumFormat * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMediumFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMediumFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMediumFormat * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IMediumFormat, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IMediumFormat * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IMediumFormat, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMediumFormat * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IMediumFormat, get_Capabilities)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Capabilities )( 
            IMediumFormat * This,
            /* [retval][out] */ SAFEARRAY * *aCapabilities);
        
        DECLSPEC_XFGVIRT(IMediumFormat, get_InternalAndReservedAttribute1IMediumFormat)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IMediumFormat )( 
            IMediumFormat * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumFormat, get_InternalAndReservedAttribute2IMediumFormat)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IMediumFormat )( 
            IMediumFormat * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumFormat, get_InternalAndReservedAttribute3IMediumFormat)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IMediumFormat )( 
            IMediumFormat * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumFormat, get_InternalAndReservedAttribute4IMediumFormat)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IMediumFormat )( 
            IMediumFormat * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumFormat, DescribeFileExtensions)
        HRESULT ( STDMETHODCALLTYPE *DescribeFileExtensions )( 
            IMediumFormat * This,
            /* [out] */ SAFEARRAY * *aExtensions,
            /* [out] */ SAFEARRAY * *aTypes);
        
        DECLSPEC_XFGVIRT(IMediumFormat, DescribeProperties)
        HRESULT ( STDMETHODCALLTYPE *DescribeProperties )( 
            IMediumFormat * This,
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aDescriptions,
            /* [out] */ SAFEARRAY * *aTypes,
            /* [out] */ SAFEARRAY * *aFlags,
            /* [out] */ SAFEARRAY * *aDefaults);
        
        DECLSPEC_XFGVIRT(IMediumFormat, InternalAndReservedMethod1IMediumFormat)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IMediumFormat )( 
            IMediumFormat * This);
        
        DECLSPEC_XFGVIRT(IMediumFormat, InternalAndReservedMethod2IMediumFormat)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IMediumFormat )( 
            IMediumFormat * This);
        
        END_INTERFACE
    } IMediumFormatVtbl;

    interface IMediumFormat
    {
        CONST_VTBL struct IMediumFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMediumFormat_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMediumFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMediumFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMediumFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMediumFormat_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IMediumFormat_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IMediumFormat_get_Capabilities(This,aCapabilities)	\
    ( (This)->lpVtbl -> get_Capabilities(This,aCapabilities) ) 

#define IMediumFormat_get_InternalAndReservedAttribute1IMediumFormat(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IMediumFormat(This,aReserved) ) 

#define IMediumFormat_get_InternalAndReservedAttribute2IMediumFormat(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IMediumFormat(This,aReserved) ) 

#define IMediumFormat_get_InternalAndReservedAttribute3IMediumFormat(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IMediumFormat(This,aReserved) ) 

#define IMediumFormat_get_InternalAndReservedAttribute4IMediumFormat(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IMediumFormat(This,aReserved) ) 

#define IMediumFormat_DescribeFileExtensions(This,aExtensions,aTypes)	\
    ( (This)->lpVtbl -> DescribeFileExtensions(This,aExtensions,aTypes) ) 

#define IMediumFormat_DescribeProperties(This,aNames,aDescriptions,aTypes,aFlags,aDefaults)	\
    ( (This)->lpVtbl -> DescribeProperties(This,aNames,aDescriptions,aTypes,aFlags,aDefaults) ) 

#define IMediumFormat_InternalAndReservedMethod1IMediumFormat(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IMediumFormat(This) ) 

#define IMediumFormat_InternalAndReservedMethod2IMediumFormat(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IMediumFormat(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMediumFormat_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0070 */
/* [local] */ 

#define COM_FORWARD_IMediumFormat_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IMediumFormat_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IMediumFormat_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IMediumFormat_GETTER_Id_TO_BASE(base) COM_FORWARD_IMediumFormat_GETTER_Id_TO (base::)
#define COM_FORWARD_IMediumFormat_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IMediumFormat_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IMediumFormat_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IMediumFormat_GETTER_Name_TO_BASE(base) COM_FORWARD_IMediumFormat_GETTER_Name_TO (base::)
#define COM_FORWARD_IMediumFormat_GETTER_Capabilities_TO(smth) HRESULT STDMETHODCALLTYPE get_Capabilities (SAFEARRAY * * aCapabilities) { return smth get_Capabilities (aCapabilities); }
#define COM_FORWARD_IMediumFormat_GETTER_Capabilities_TO_OBJ(obj) COM_FORWARD_IMediumFormat_GETTER_Capabilities_TO ((obj)->)
#define COM_FORWARD_IMediumFormat_GETTER_Capabilities_TO_BASE(base) COM_FORWARD_IMediumFormat_GETTER_Capabilities_TO (base::)
#define COM_FORWARD_IMediumFormat_DescribeFileExtensions_TO(smth) HRESULT STDMETHODCALLTYPE DescribeFileExtensions (SAFEARRAY * * aExtensions, SAFEARRAY * * aTypes) { return smth DescribeFileExtensions (aExtensions, aTypes); }
#define COM_FORWARD_IMediumFormat_DescribeFileExtensions_TO_OBJ(obj) COM_FORWARD_IMediumFormat_DescribeFileExtensions_TO ((obj)->)
#define COM_FORWARD_IMediumFormat_DescribeFileExtensions_TO_BASE(base) COM_FORWARD_IMediumFormat_DescribeFileExtensions_TO (base::)
#define COM_FORWARD_IMediumFormat_DescribeProperties_TO(smth) HRESULT STDMETHODCALLTYPE DescribeProperties (SAFEARRAY * * aNames, SAFEARRAY * * aDescriptions, SAFEARRAY * * aTypes, SAFEARRAY * * aFlags, SAFEARRAY * * aDefaults) { return smth DescribeProperties (aNames, aDescriptions, aTypes, aFlags, aDefaults); }
#define COM_FORWARD_IMediumFormat_DescribeProperties_TO_OBJ(obj) COM_FORWARD_IMediumFormat_DescribeProperties_TO ((obj)->)
#define COM_FORWARD_IMediumFormat_DescribeProperties_TO_BASE(base) COM_FORWARD_IMediumFormat_DescribeProperties_TO (base::)
#define COM_FORWARD_IMediumFormat_TO(smth) COM_FORWARD_IMediumFormat_GETTER_Id_TO (smth) COM_FORWARD_IMediumFormat_GETTER_Name_TO (smth) COM_FORWARD_IMediumFormat_GETTER_Capabilities_TO (smth) COM_FORWARD_IMediumFormat_DescribeFileExtensions_TO (smth) COM_FORWARD_IMediumFormat_DescribeProperties_TO (smth) 
#define COM_FORWARD_IMediumFormat_TO_OBJ(obj) COM_FORWARD_IMediumFormat_TO ((obj)->)
#define COM_FORWARD_IMediumFormat_TO_BASE(base) COM_FORWARD_IMediumFormat_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0070_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0070_v0_0_s_ifspec;

#ifndef __IDataStream_INTERFACE_DEFINED__
#define __IDataStream_INTERFACE_DEFINED__

/* interface IDataStream */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDataStream;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a338ed20-58d9-43ae-8b03-c1fd7088ef15")
    IDataStream : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReadSize( 
            /* [retval][out] */ ULONG *aReadSize) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDataStream( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDataStream( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IDataStream( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IDataStream( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IDataStream( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IDataStream( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IDataStream( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IDataStream( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Read( 
            /* [in] */ ULONG aSize,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ SAFEARRAY * *aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IDataStream( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IDataStream( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IDataStream( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IDataStream( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDataStreamVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDataStream * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDataStream * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDataStream * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDataStream * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDataStream * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDataStream * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDataStream * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDataStream, get_ReadSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReadSize )( 
            IDataStream * This,
            /* [retval][out] */ ULONG *aReadSize);
        
        DECLSPEC_XFGVIRT(IDataStream, get_InternalAndReservedAttribute1IDataStream)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDataStream )( 
            IDataStream * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDataStream, get_InternalAndReservedAttribute2IDataStream)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDataStream )( 
            IDataStream * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDataStream, get_InternalAndReservedAttribute3IDataStream)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDataStream )( 
            IDataStream * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDataStream, get_InternalAndReservedAttribute4IDataStream)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IDataStream )( 
            IDataStream * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDataStream, get_InternalAndReservedAttribute5IDataStream)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IDataStream )( 
            IDataStream * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDataStream, get_InternalAndReservedAttribute6IDataStream)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IDataStream )( 
            IDataStream * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDataStream, get_InternalAndReservedAttribute7IDataStream)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IDataStream )( 
            IDataStream * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDataStream, get_InternalAndReservedAttribute8IDataStream)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IDataStream )( 
            IDataStream * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDataStream, Read)
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IDataStream * This,
            /* [in] */ ULONG aSize,
            /* [in] */ ULONG aTimeoutMS,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IDataStream, InternalAndReservedMethod1IDataStream)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDataStream )( 
            IDataStream * This);
        
        DECLSPEC_XFGVIRT(IDataStream, InternalAndReservedMethod2IDataStream)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDataStream )( 
            IDataStream * This);
        
        DECLSPEC_XFGVIRT(IDataStream, InternalAndReservedMethod3IDataStream)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDataStream )( 
            IDataStream * This);
        
        DECLSPEC_XFGVIRT(IDataStream, InternalAndReservedMethod4IDataStream)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IDataStream )( 
            IDataStream * This);
        
        END_INTERFACE
    } IDataStreamVtbl;

    interface IDataStream
    {
        CONST_VTBL struct IDataStreamVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDataStream_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDataStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDataStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDataStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDataStream_get_ReadSize(This,aReadSize)	\
    ( (This)->lpVtbl -> get_ReadSize(This,aReadSize) ) 

#define IDataStream_get_InternalAndReservedAttribute1IDataStream(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDataStream(This,aReserved) ) 

#define IDataStream_get_InternalAndReservedAttribute2IDataStream(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDataStream(This,aReserved) ) 

#define IDataStream_get_InternalAndReservedAttribute3IDataStream(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDataStream(This,aReserved) ) 

#define IDataStream_get_InternalAndReservedAttribute4IDataStream(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IDataStream(This,aReserved) ) 

#define IDataStream_get_InternalAndReservedAttribute5IDataStream(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IDataStream(This,aReserved) ) 

#define IDataStream_get_InternalAndReservedAttribute6IDataStream(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IDataStream(This,aReserved) ) 

#define IDataStream_get_InternalAndReservedAttribute7IDataStream(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IDataStream(This,aReserved) ) 

#define IDataStream_get_InternalAndReservedAttribute8IDataStream(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IDataStream(This,aReserved) ) 

#define IDataStream_Read(This,aSize,aTimeoutMS,aData)	\
    ( (This)->lpVtbl -> Read(This,aSize,aTimeoutMS,aData) ) 

#define IDataStream_InternalAndReservedMethod1IDataStream(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDataStream(This) ) 

#define IDataStream_InternalAndReservedMethod2IDataStream(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDataStream(This) ) 

#define IDataStream_InternalAndReservedMethod3IDataStream(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDataStream(This) ) 

#define IDataStream_InternalAndReservedMethod4IDataStream(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IDataStream(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDataStream_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0071 */
/* [local] */ 

#define COM_FORWARD_IDataStream_GETTER_ReadSize_TO(smth) HRESULT STDMETHODCALLTYPE get_ReadSize (ULONG * aReadSize) { return smth get_ReadSize (aReadSize); }
#define COM_FORWARD_IDataStream_GETTER_ReadSize_TO_OBJ(obj) COM_FORWARD_IDataStream_GETTER_ReadSize_TO ((obj)->)
#define COM_FORWARD_IDataStream_GETTER_ReadSize_TO_BASE(base) COM_FORWARD_IDataStream_GETTER_ReadSize_TO (base::)
#define COM_FORWARD_IDataStream_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (ULONG aSize, ULONG aTimeoutMS, SAFEARRAY * * aData) { return smth Read (aSize, aTimeoutMS, aData); }
#define COM_FORWARD_IDataStream_Read_TO_OBJ(obj) COM_FORWARD_IDataStream_Read_TO ((obj)->)
#define COM_FORWARD_IDataStream_Read_TO_BASE(base) COM_FORWARD_IDataStream_Read_TO (base::)
#define COM_FORWARD_IDataStream_TO(smth) COM_FORWARD_IDataStream_GETTER_ReadSize_TO (smth) COM_FORWARD_IDataStream_Read_TO (smth) 
#define COM_FORWARD_IDataStream_TO_OBJ(obj) COM_FORWARD_IDataStream_TO ((obj)->)
#define COM_FORWARD_IDataStream_TO_BASE(base) COM_FORWARD_IDataStream_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0071_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0071_v0_0_s_ifspec;

#ifndef __IMediumIO_INTERFACE_DEFINED__
#define __IMediumIO_INTERFACE_DEFINED__

/* interface IMediumIO */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMediumIO;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e4b301a9-5f86-4d65-ad1b-87ca284fb1c8")
    IMediumIO : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Medium( 
            /* [retval][out] */ IMedium **aMedium) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Writable( 
            /* [retval][out] */ BOOL *aWritable) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Explorer( 
            /* [retval][out] */ IVFSExplorer **aExplorer) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IMediumIO( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IMediumIO( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IMediumIO( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IMediumIO( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IMediumIO( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IMediumIO( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IMediumIO( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IMediumIO( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Read( 
            /* [in] */ LONG64 aOffset,
            /* [in] */ ULONG aSize,
            /* [retval][out] */ SAFEARRAY * *aData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Write( 
            /* [in] */ LONG64 aOffset,
            /* [in] */ SAFEARRAY * aData,
            /* [retval][out] */ ULONG *aWritten) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FormatFAT( 
            /* [in] */ BOOL aQuick) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InitializePartitionTable( 
            /* [in] */ PartitionTableType aFormat,
            /* [in] */ BOOL aWholeDiskInOneEntry) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ConvertToStream( 
            /* [in] */ BSTR aFormat,
            /* [in] */ SAFEARRAY * aVariant,
            /* [in] */ ULONG aBufferSize,
            /* [out] */ IDataStream **aStream,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IMediumIO( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IMediumIO( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IMediumIO( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IMediumIO( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMediumIOVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMediumIO * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMediumIO * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMediumIO * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMediumIO * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMediumIO * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMediumIO * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMediumIO * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IMediumIO, get_Medium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Medium )( 
            IMediumIO * This,
            /* [retval][out] */ IMedium **aMedium);
        
        DECLSPEC_XFGVIRT(IMediumIO, get_Writable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Writable )( 
            IMediumIO * This,
            /* [retval][out] */ BOOL *aWritable);
        
        DECLSPEC_XFGVIRT(IMediumIO, get_Explorer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Explorer )( 
            IMediumIO * This,
            /* [retval][out] */ IVFSExplorer **aExplorer);
        
        DECLSPEC_XFGVIRT(IMediumIO, get_InternalAndReservedAttribute1IMediumIO)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IMediumIO )( 
            IMediumIO * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumIO, get_InternalAndReservedAttribute2IMediumIO)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IMediumIO )( 
            IMediumIO * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumIO, get_InternalAndReservedAttribute3IMediumIO)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IMediumIO )( 
            IMediumIO * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumIO, get_InternalAndReservedAttribute4IMediumIO)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IMediumIO )( 
            IMediumIO * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumIO, get_InternalAndReservedAttribute5IMediumIO)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IMediumIO )( 
            IMediumIO * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumIO, get_InternalAndReservedAttribute6IMediumIO)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IMediumIO )( 
            IMediumIO * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumIO, get_InternalAndReservedAttribute7IMediumIO)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IMediumIO )( 
            IMediumIO * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumIO, get_InternalAndReservedAttribute8IMediumIO)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IMediumIO )( 
            IMediumIO * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMediumIO, Read)
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IMediumIO * This,
            /* [in] */ LONG64 aOffset,
            /* [in] */ ULONG aSize,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        DECLSPEC_XFGVIRT(IMediumIO, Write)
        HRESULT ( STDMETHODCALLTYPE *Write )( 
            IMediumIO * This,
            /* [in] */ LONG64 aOffset,
            /* [in] */ SAFEARRAY * aData,
            /* [retval][out] */ ULONG *aWritten);
        
        DECLSPEC_XFGVIRT(IMediumIO, FormatFAT)
        HRESULT ( STDMETHODCALLTYPE *FormatFAT )( 
            IMediumIO * This,
            /* [in] */ BOOL aQuick);
        
        DECLSPEC_XFGVIRT(IMediumIO, InitializePartitionTable)
        HRESULT ( STDMETHODCALLTYPE *InitializePartitionTable )( 
            IMediumIO * This,
            /* [in] */ PartitionTableType aFormat,
            /* [in] */ BOOL aWholeDiskInOneEntry);
        
        DECLSPEC_XFGVIRT(IMediumIO, ConvertToStream)
        HRESULT ( STDMETHODCALLTYPE *ConvertToStream )( 
            IMediumIO * This,
            /* [in] */ BSTR aFormat,
            /* [in] */ SAFEARRAY * aVariant,
            /* [in] */ ULONG aBufferSize,
            /* [out] */ IDataStream **aStream,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMediumIO, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMediumIO * This);
        
        DECLSPEC_XFGVIRT(IMediumIO, InternalAndReservedMethod1IMediumIO)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IMediumIO )( 
            IMediumIO * This);
        
        DECLSPEC_XFGVIRT(IMediumIO, InternalAndReservedMethod2IMediumIO)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IMediumIO )( 
            IMediumIO * This);
        
        DECLSPEC_XFGVIRT(IMediumIO, InternalAndReservedMethod3IMediumIO)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IMediumIO )( 
            IMediumIO * This);
        
        DECLSPEC_XFGVIRT(IMediumIO, InternalAndReservedMethod4IMediumIO)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IMediumIO )( 
            IMediumIO * This);
        
        END_INTERFACE
    } IMediumIOVtbl;

    interface IMediumIO
    {
        CONST_VTBL struct IMediumIOVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMediumIO_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMediumIO_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMediumIO_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMediumIO_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMediumIO_get_Medium(This,aMedium)	\
    ( (This)->lpVtbl -> get_Medium(This,aMedium) ) 

#define IMediumIO_get_Writable(This,aWritable)	\
    ( (This)->lpVtbl -> get_Writable(This,aWritable) ) 

#define IMediumIO_get_Explorer(This,aExplorer)	\
    ( (This)->lpVtbl -> get_Explorer(This,aExplorer) ) 

#define IMediumIO_get_InternalAndReservedAttribute1IMediumIO(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IMediumIO(This,aReserved) ) 

#define IMediumIO_get_InternalAndReservedAttribute2IMediumIO(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IMediumIO(This,aReserved) ) 

#define IMediumIO_get_InternalAndReservedAttribute3IMediumIO(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IMediumIO(This,aReserved) ) 

#define IMediumIO_get_InternalAndReservedAttribute4IMediumIO(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IMediumIO(This,aReserved) ) 

#define IMediumIO_get_InternalAndReservedAttribute5IMediumIO(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IMediumIO(This,aReserved) ) 

#define IMediumIO_get_InternalAndReservedAttribute6IMediumIO(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IMediumIO(This,aReserved) ) 

#define IMediumIO_get_InternalAndReservedAttribute7IMediumIO(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IMediumIO(This,aReserved) ) 

#define IMediumIO_get_InternalAndReservedAttribute8IMediumIO(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IMediumIO(This,aReserved) ) 

#define IMediumIO_Read(This,aOffset,aSize,aData)	\
    ( (This)->lpVtbl -> Read(This,aOffset,aSize,aData) ) 

#define IMediumIO_Write(This,aOffset,aData,aWritten)	\
    ( (This)->lpVtbl -> Write(This,aOffset,aData,aWritten) ) 

#define IMediumIO_FormatFAT(This,aQuick)	\
    ( (This)->lpVtbl -> FormatFAT(This,aQuick) ) 

#define IMediumIO_InitializePartitionTable(This,aFormat,aWholeDiskInOneEntry)	\
    ( (This)->lpVtbl -> InitializePartitionTable(This,aFormat,aWholeDiskInOneEntry) ) 

#define IMediumIO_ConvertToStream(This,aFormat,aVariant,aBufferSize,aStream,aProgress)	\
    ( (This)->lpVtbl -> ConvertToStream(This,aFormat,aVariant,aBufferSize,aStream,aProgress) ) 

#define IMediumIO_Close(This)	\
    ( (This)->lpVtbl -> Close(This) ) 

#define IMediumIO_InternalAndReservedMethod1IMediumIO(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IMediumIO(This) ) 

#define IMediumIO_InternalAndReservedMethod2IMediumIO(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IMediumIO(This) ) 

#define IMediumIO_InternalAndReservedMethod3IMediumIO(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IMediumIO(This) ) 

#define IMediumIO_InternalAndReservedMethod4IMediumIO(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IMediumIO(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMediumIO_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0072 */
/* [local] */ 

#define COM_FORWARD_IMediumIO_GETTER_Medium_TO(smth) HRESULT STDMETHODCALLTYPE get_Medium (IMedium * * aMedium) { return smth get_Medium (aMedium); }
#define COM_FORWARD_IMediumIO_GETTER_Medium_TO_OBJ(obj) COM_FORWARD_IMediumIO_GETTER_Medium_TO ((obj)->)
#define COM_FORWARD_IMediumIO_GETTER_Medium_TO_BASE(base) COM_FORWARD_IMediumIO_GETTER_Medium_TO (base::)
#define COM_FORWARD_IMediumIO_GETTER_Writable_TO(smth) HRESULT STDMETHODCALLTYPE get_Writable (BOOL * aWritable) { return smth get_Writable (aWritable); }
#define COM_FORWARD_IMediumIO_GETTER_Writable_TO_OBJ(obj) COM_FORWARD_IMediumIO_GETTER_Writable_TO ((obj)->)
#define COM_FORWARD_IMediumIO_GETTER_Writable_TO_BASE(base) COM_FORWARD_IMediumIO_GETTER_Writable_TO (base::)
#define COM_FORWARD_IMediumIO_GETTER_Explorer_TO(smth) HRESULT STDMETHODCALLTYPE get_Explorer (IVFSExplorer * * aExplorer) { return smth get_Explorer (aExplorer); }
#define COM_FORWARD_IMediumIO_GETTER_Explorer_TO_OBJ(obj) COM_FORWARD_IMediumIO_GETTER_Explorer_TO ((obj)->)
#define COM_FORWARD_IMediumIO_GETTER_Explorer_TO_BASE(base) COM_FORWARD_IMediumIO_GETTER_Explorer_TO (base::)
#define COM_FORWARD_IMediumIO_Read_TO(smth) HRESULT STDMETHODCALLTYPE Read (LONG64 aOffset, ULONG aSize, SAFEARRAY * * aData) { return smth Read (aOffset, aSize, aData); }
#define COM_FORWARD_IMediumIO_Read_TO_OBJ(obj) COM_FORWARD_IMediumIO_Read_TO ((obj)->)
#define COM_FORWARD_IMediumIO_Read_TO_BASE(base) COM_FORWARD_IMediumIO_Read_TO (base::)
#define COM_FORWARD_IMediumIO_Write_TO(smth) HRESULT STDMETHODCALLTYPE Write (LONG64 aOffset, SAFEARRAY * * aData, ULONG * aWritten) { return smth Write (aOffset, aData, aWritten); }
#define COM_FORWARD_IMediumIO_Write_TO_OBJ(obj) COM_FORWARD_IMediumIO_Write_TO ((obj)->)
#define COM_FORWARD_IMediumIO_Write_TO_BASE(base) COM_FORWARD_IMediumIO_Write_TO (base::)
#define COM_FORWARD_IMediumIO_FormatFAT_TO(smth) HRESULT STDMETHODCALLTYPE FormatFAT (BOOL aQuick) { return smth FormatFAT (aQuick); }
#define COM_FORWARD_IMediumIO_FormatFAT_TO_OBJ(obj) COM_FORWARD_IMediumIO_FormatFAT_TO ((obj)->)
#define COM_FORWARD_IMediumIO_FormatFAT_TO_BASE(base) COM_FORWARD_IMediumIO_FormatFAT_TO (base::)
#define COM_FORWARD_IMediumIO_InitializePartitionTable_TO(smth) HRESULT STDMETHODCALLTYPE InitializePartitionTable (PartitionTableType aFormat, BOOL aWholeDiskInOneEntry) { return smth InitializePartitionTable (aFormat, aWholeDiskInOneEntry); }
#define COM_FORWARD_IMediumIO_InitializePartitionTable_TO_OBJ(obj) COM_FORWARD_IMediumIO_InitializePartitionTable_TO ((obj)->)
#define COM_FORWARD_IMediumIO_InitializePartitionTable_TO_BASE(base) COM_FORWARD_IMediumIO_InitializePartitionTable_TO (base::)
#define COM_FORWARD_IMediumIO_ConvertToStream_TO(smth) HRESULT STDMETHODCALLTYPE ConvertToStream (BSTR aFormat, SAFEARRAY * * aVariant, ULONG aBufferSize, IDataStream * * aStream, IProgress * * aProgress) { return smth ConvertToStream (aFormat, aVariant, aBufferSize, aStream, aProgress); }
#define COM_FORWARD_IMediumIO_ConvertToStream_TO_OBJ(obj) COM_FORWARD_IMediumIO_ConvertToStream_TO ((obj)->)
#define COM_FORWARD_IMediumIO_ConvertToStream_TO_BASE(base) COM_FORWARD_IMediumIO_ConvertToStream_TO (base::)
#define COM_FORWARD_IMediumIO_Close_TO(smth) HRESULT STDMETHODCALLTYPE Close() { return smth Close(); }
#define COM_FORWARD_IMediumIO_Close_TO_OBJ(obj) COM_FORWARD_IMediumIO_Close_TO ((obj)->)
#define COM_FORWARD_IMediumIO_Close_TO_BASE(base) COM_FORWARD_IMediumIO_Close_TO (base::)
#define COM_FORWARD_IMediumIO_TO(smth) COM_FORWARD_IMediumIO_GETTER_Medium_TO (smth) COM_FORWARD_IMediumIO_GETTER_Writable_TO (smth) COM_FORWARD_IMediumIO_GETTER_Explorer_TO (smth) COM_FORWARD_IMediumIO_Read_TO (smth) COM_FORWARD_IMediumIO_Write_TO (smth) COM_FORWARD_IMediumIO_FormatFAT_TO (smth) COM_FORWARD_IMediumIO_InitializePartitionTable_TO (smth) COM_FORWARD_IMediumIO_ConvertToStream_TO (smth) COM_FORWARD_IMediumIO_Close_TO (smth) 
#define COM_FORWARD_IMediumIO_TO_OBJ(obj) COM_FORWARD_IMediumIO_TO ((obj)->)
#define COM_FORWARD_IMediumIO_TO_BASE(base) COM_FORWARD_IMediumIO_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0072_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0072_v0_0_s_ifspec;

#ifndef __IToken_INTERFACE_DEFINED__
#define __IToken_INTERFACE_DEFINED__

/* interface IToken */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IToken;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("20479eaf-d8ed-44cf-85ac-c83a26c95a4d")
    IToken : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IToken( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IToken( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Abandon( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Dummy( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IToken( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ITokenVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IToken * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IToken * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IToken * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IToken * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IToken * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IToken * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IToken * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IToken, get_InternalAndReservedAttribute1IToken)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IToken )( 
            IToken * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IToken, get_InternalAndReservedAttribute2IToken)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IToken )( 
            IToken * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IToken, Abandon)
        HRESULT ( STDMETHODCALLTYPE *Abandon )( 
            IToken * This);
        
        DECLSPEC_XFGVIRT(IToken, Dummy)
        HRESULT ( STDMETHODCALLTYPE *Dummy )( 
            IToken * This);
        
        DECLSPEC_XFGVIRT(IToken, InternalAndReservedMethod1IToken)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IToken )( 
            IToken * This);
        
        END_INTERFACE
    } ITokenVtbl;

    interface IToken
    {
        CONST_VTBL struct ITokenVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IToken_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IToken_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IToken_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IToken_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IToken_get_InternalAndReservedAttribute1IToken(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IToken(This,aReserved) ) 

#define IToken_get_InternalAndReservedAttribute2IToken(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IToken(This,aReserved) ) 

#define IToken_Abandon(This)	\
    ( (This)->lpVtbl -> Abandon(This) ) 

#define IToken_Dummy(This)	\
    ( (This)->lpVtbl -> Dummy(This) ) 

#define IToken_InternalAndReservedMethod1IToken(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IToken(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IToken_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0073 */
/* [local] */ 

#define COM_FORWARD_IToken_Abandon_TO(smth) HRESULT STDMETHODCALLTYPE Abandon() { return smth Abandon(); }
#define COM_FORWARD_IToken_Abandon_TO_OBJ(obj) COM_FORWARD_IToken_Abandon_TO ((obj)->)
#define COM_FORWARD_IToken_Abandon_TO_BASE(base) COM_FORWARD_IToken_Abandon_TO (base::)
#define COM_FORWARD_IToken_Dummy_TO(smth) HRESULT STDMETHODCALLTYPE Dummy() { return smth Dummy(); }
#define COM_FORWARD_IToken_Dummy_TO_OBJ(obj) COM_FORWARD_IToken_Dummy_TO ((obj)->)
#define COM_FORWARD_IToken_Dummy_TO_BASE(base) COM_FORWARD_IToken_Dummy_TO (base::)
#define COM_FORWARD_IToken_TO(smth) COM_FORWARD_IToken_Abandon_TO (smth) COM_FORWARD_IToken_Dummy_TO (smth) 
#define COM_FORWARD_IToken_TO_OBJ(obj) COM_FORWARD_IToken_TO ((obj)->)
#define COM_FORWARD_IToken_TO_BASE(base) COM_FORWARD_IToken_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0073_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0073_v0_0_s_ifspec;

#ifndef __IKeyboard_INTERFACE_DEFINED__
#define __IKeyboard_INTERFACE_DEFINED__

/* interface IKeyboard */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IKeyboard;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("755e6bdf-1640-41f9-bd74-3ef5fd653250")
    IKeyboard : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyboardLEDs( 
            /* [retval][out] */ SAFEARRAY * *aKeyboardLEDs) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IKeyboard( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IKeyboard( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IKeyboard( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IKeyboard( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PutScancode( 
            /* [in] */ LONG aScancode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PutScancodes( 
            /* [in] */ SAFEARRAY * aScancodes,
            /* [retval][out] */ ULONG *aCodesStored) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PutCAD( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReleaseKeys( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PutUsageCode( 
            /* [in] */ LONG aUsageCode,
            /* [in] */ LONG aUsagePage,
            /* [in] */ BOOL aKeyRelease) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IKeyboard( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IKeyboard( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IKeyboard( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IKeyboard( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IKeyboardVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IKeyboard * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IKeyboard * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IKeyboard * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IKeyboard * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IKeyboard * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IKeyboard * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IKeyboard * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IKeyboard, get_KeyboardLEDs)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardLEDs )( 
            IKeyboard * This,
            /* [retval][out] */ SAFEARRAY * *aKeyboardLEDs);
        
        DECLSPEC_XFGVIRT(IKeyboard, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IKeyboard * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IKeyboard, get_InternalAndReservedAttribute1IKeyboard)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IKeyboard )( 
            IKeyboard * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IKeyboard, get_InternalAndReservedAttribute2IKeyboard)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IKeyboard )( 
            IKeyboard * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IKeyboard, get_InternalAndReservedAttribute3IKeyboard)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IKeyboard )( 
            IKeyboard * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IKeyboard, get_InternalAndReservedAttribute4IKeyboard)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IKeyboard )( 
            IKeyboard * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IKeyboard, PutScancode)
        HRESULT ( STDMETHODCALLTYPE *PutScancode )( 
            IKeyboard * This,
            /* [in] */ LONG aScancode);
        
        DECLSPEC_XFGVIRT(IKeyboard, PutScancodes)
        HRESULT ( STDMETHODCALLTYPE *PutScancodes )( 
            IKeyboard * This,
            /* [in] */ SAFEARRAY * aScancodes,
            /* [retval][out] */ ULONG *aCodesStored);
        
        DECLSPEC_XFGVIRT(IKeyboard, PutCAD)
        HRESULT ( STDMETHODCALLTYPE *PutCAD )( 
            IKeyboard * This);
        
        DECLSPEC_XFGVIRT(IKeyboard, ReleaseKeys)
        HRESULT ( STDMETHODCALLTYPE *ReleaseKeys )( 
            IKeyboard * This);
        
        DECLSPEC_XFGVIRT(IKeyboard, PutUsageCode)
        HRESULT ( STDMETHODCALLTYPE *PutUsageCode )( 
            IKeyboard * This,
            /* [in] */ LONG aUsageCode,
            /* [in] */ LONG aUsagePage,
            /* [in] */ BOOL aKeyRelease);
        
        DECLSPEC_XFGVIRT(IKeyboard, InternalAndReservedMethod1IKeyboard)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IKeyboard )( 
            IKeyboard * This);
        
        DECLSPEC_XFGVIRT(IKeyboard, InternalAndReservedMethod2IKeyboard)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IKeyboard )( 
            IKeyboard * This);
        
        DECLSPEC_XFGVIRT(IKeyboard, InternalAndReservedMethod3IKeyboard)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IKeyboard )( 
            IKeyboard * This);
        
        DECLSPEC_XFGVIRT(IKeyboard, InternalAndReservedMethod4IKeyboard)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IKeyboard )( 
            IKeyboard * This);
        
        END_INTERFACE
    } IKeyboardVtbl;

    interface IKeyboard
    {
        CONST_VTBL struct IKeyboardVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IKeyboard_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IKeyboard_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IKeyboard_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IKeyboard_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IKeyboard_get_KeyboardLEDs(This,aKeyboardLEDs)	\
    ( (This)->lpVtbl -> get_KeyboardLEDs(This,aKeyboardLEDs) ) 

#define IKeyboard_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IKeyboard_get_InternalAndReservedAttribute1IKeyboard(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IKeyboard(This,aReserved) ) 

#define IKeyboard_get_InternalAndReservedAttribute2IKeyboard(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IKeyboard(This,aReserved) ) 

#define IKeyboard_get_InternalAndReservedAttribute3IKeyboard(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IKeyboard(This,aReserved) ) 

#define IKeyboard_get_InternalAndReservedAttribute4IKeyboard(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IKeyboard(This,aReserved) ) 

#define IKeyboard_PutScancode(This,aScancode)	\
    ( (This)->lpVtbl -> PutScancode(This,aScancode) ) 

#define IKeyboard_PutScancodes(This,aScancodes,aCodesStored)	\
    ( (This)->lpVtbl -> PutScancodes(This,aScancodes,aCodesStored) ) 

#define IKeyboard_PutCAD(This)	\
    ( (This)->lpVtbl -> PutCAD(This) ) 

#define IKeyboard_ReleaseKeys(This)	\
    ( (This)->lpVtbl -> ReleaseKeys(This) ) 

#define IKeyboard_PutUsageCode(This,aUsageCode,aUsagePage,aKeyRelease)	\
    ( (This)->lpVtbl -> PutUsageCode(This,aUsageCode,aUsagePage,aKeyRelease) ) 

#define IKeyboard_InternalAndReservedMethod1IKeyboard(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IKeyboard(This) ) 

#define IKeyboard_InternalAndReservedMethod2IKeyboard(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IKeyboard(This) ) 

#define IKeyboard_InternalAndReservedMethod3IKeyboard(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IKeyboard(This) ) 

#define IKeyboard_InternalAndReservedMethod4IKeyboard(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IKeyboard(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IKeyboard_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0074 */
/* [local] */ 

#define COM_FORWARD_IKeyboard_GETTER_KeyboardLEDs_TO(smth) HRESULT STDMETHODCALLTYPE get_KeyboardLEDs (SAFEARRAY * * aKeyboardLEDs) { return smth get_KeyboardLEDs (aKeyboardLEDs); }
#define COM_FORWARD_IKeyboard_GETTER_KeyboardLEDs_TO_OBJ(obj) COM_FORWARD_IKeyboard_GETTER_KeyboardLEDs_TO ((obj)->)
#define COM_FORWARD_IKeyboard_GETTER_KeyboardLEDs_TO_BASE(base) COM_FORWARD_IKeyboard_GETTER_KeyboardLEDs_TO (base::)
#define COM_FORWARD_IKeyboard_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IKeyboard_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IKeyboard_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IKeyboard_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IKeyboard_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IKeyboard_PutScancode_TO(smth) HRESULT STDMETHODCALLTYPE PutScancode (LONG aScancode) { return smth PutScancode (aScancode); }
#define COM_FORWARD_IKeyboard_PutScancode_TO_OBJ(obj) COM_FORWARD_IKeyboard_PutScancode_TO ((obj)->)
#define COM_FORWARD_IKeyboard_PutScancode_TO_BASE(base) COM_FORWARD_IKeyboard_PutScancode_TO (base::)
#define COM_FORWARD_IKeyboard_PutScancodes_TO(smth) HRESULT STDMETHODCALLTYPE PutScancodes (SAFEARRAY * * aScancodes, ULONG * aCodesStored) { return smth PutScancodes (aScancodes, aCodesStored); }
#define COM_FORWARD_IKeyboard_PutScancodes_TO_OBJ(obj) COM_FORWARD_IKeyboard_PutScancodes_TO ((obj)->)
#define COM_FORWARD_IKeyboard_PutScancodes_TO_BASE(base) COM_FORWARD_IKeyboard_PutScancodes_TO (base::)
#define COM_FORWARD_IKeyboard_PutCAD_TO(smth) HRESULT STDMETHODCALLTYPE PutCAD() { return smth PutCAD(); }
#define COM_FORWARD_IKeyboard_PutCAD_TO_OBJ(obj) COM_FORWARD_IKeyboard_PutCAD_TO ((obj)->)
#define COM_FORWARD_IKeyboard_PutCAD_TO_BASE(base) COM_FORWARD_IKeyboard_PutCAD_TO (base::)
#define COM_FORWARD_IKeyboard_ReleaseKeys_TO(smth) HRESULT STDMETHODCALLTYPE ReleaseKeys() { return smth ReleaseKeys(); }
#define COM_FORWARD_IKeyboard_ReleaseKeys_TO_OBJ(obj) COM_FORWARD_IKeyboard_ReleaseKeys_TO ((obj)->)
#define COM_FORWARD_IKeyboard_ReleaseKeys_TO_BASE(base) COM_FORWARD_IKeyboard_ReleaseKeys_TO (base::)
#define COM_FORWARD_IKeyboard_PutUsageCode_TO(smth) HRESULT STDMETHODCALLTYPE PutUsageCode (LONG aUsageCode, LONG aUsagePage, BOOL aKeyRelease) { return smth PutUsageCode (aUsageCode, aUsagePage, aKeyRelease); }
#define COM_FORWARD_IKeyboard_PutUsageCode_TO_OBJ(obj) COM_FORWARD_IKeyboard_PutUsageCode_TO ((obj)->)
#define COM_FORWARD_IKeyboard_PutUsageCode_TO_BASE(base) COM_FORWARD_IKeyboard_PutUsageCode_TO (base::)
#define COM_FORWARD_IKeyboard_TO(smth) COM_FORWARD_IKeyboard_GETTER_KeyboardLEDs_TO (smth) COM_FORWARD_IKeyboard_GETTER_EventSource_TO (smth) COM_FORWARD_IKeyboard_PutScancode_TO (smth) COM_FORWARD_IKeyboard_PutScancodes_TO (smth) COM_FORWARD_IKeyboard_PutCAD_TO (smth) COM_FORWARD_IKeyboard_ReleaseKeys_TO (smth) COM_FORWARD_IKeyboard_PutUsageCode_TO (smth) 
#define COM_FORWARD_IKeyboard_TO_OBJ(obj) COM_FORWARD_IKeyboard_TO ((obj)->)
#define COM_FORWARD_IKeyboard_TO_BASE(base) COM_FORWARD_IKeyboard_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0074_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0074_v0_0_s_ifspec;

#ifndef __IMousePointerShape_INTERFACE_DEFINED__
#define __IMousePointerShape_INTERFACE_DEFINED__

/* interface IMousePointerShape */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMousePointerShape;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1e775ea3-9070-4f9c-b0d5-53054496dbe0")
    IMousePointerShape : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ BOOL *aVisible) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Alpha( 
            /* [retval][out] */ BOOL *aAlpha) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HotX( 
            /* [retval][out] */ ULONG *aHotX) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HotY( 
            /* [retval][out] */ ULONG *aHotY) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ ULONG *aWidth) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ ULONG *aHeight) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Shape( 
            /* [retval][out] */ SAFEARRAY * *aShape) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IMousePointerShape( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IMousePointerShape( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IMousePointerShape( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IMousePointerShape( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMousePointerShapeVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMousePointerShape * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMousePointerShape * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMousePointerShape * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMousePointerShape * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMousePointerShape * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMousePointerShape * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMousePointerShape * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IMousePointerShape, get_Visible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IMousePointerShape * This,
            /* [retval][out] */ BOOL *aVisible);
        
        DECLSPEC_XFGVIRT(IMousePointerShape, get_Alpha)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Alpha )( 
            IMousePointerShape * This,
            /* [retval][out] */ BOOL *aAlpha);
        
        DECLSPEC_XFGVIRT(IMousePointerShape, get_HotX)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HotX )( 
            IMousePointerShape * This,
            /* [retval][out] */ ULONG *aHotX);
        
        DECLSPEC_XFGVIRT(IMousePointerShape, get_HotY)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HotY )( 
            IMousePointerShape * This,
            /* [retval][out] */ ULONG *aHotY);
        
        DECLSPEC_XFGVIRT(IMousePointerShape, get_Width)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IMousePointerShape * This,
            /* [retval][out] */ ULONG *aWidth);
        
        DECLSPEC_XFGVIRT(IMousePointerShape, get_Height)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IMousePointerShape * This,
            /* [retval][out] */ ULONG *aHeight);
        
        DECLSPEC_XFGVIRT(IMousePointerShape, get_Shape)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shape )( 
            IMousePointerShape * This,
            /* [retval][out] */ SAFEARRAY * *aShape);
        
        DECLSPEC_XFGVIRT(IMousePointerShape, get_InternalAndReservedAttribute1IMousePointerShape)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IMousePointerShape )( 
            IMousePointerShape * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMousePointerShape, get_InternalAndReservedAttribute2IMousePointerShape)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IMousePointerShape )( 
            IMousePointerShape * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMousePointerShape, get_InternalAndReservedAttribute3IMousePointerShape)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IMousePointerShape )( 
            IMousePointerShape * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMousePointerShape, get_InternalAndReservedAttribute4IMousePointerShape)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IMousePointerShape )( 
            IMousePointerShape * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IMousePointerShapeVtbl;

    interface IMousePointerShape
    {
        CONST_VTBL struct IMousePointerShapeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMousePointerShape_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMousePointerShape_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMousePointerShape_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMousePointerShape_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMousePointerShape_get_Visible(This,aVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,aVisible) ) 

#define IMousePointerShape_get_Alpha(This,aAlpha)	\
    ( (This)->lpVtbl -> get_Alpha(This,aAlpha) ) 

#define IMousePointerShape_get_HotX(This,aHotX)	\
    ( (This)->lpVtbl -> get_HotX(This,aHotX) ) 

#define IMousePointerShape_get_HotY(This,aHotY)	\
    ( (This)->lpVtbl -> get_HotY(This,aHotY) ) 

#define IMousePointerShape_get_Width(This,aWidth)	\
    ( (This)->lpVtbl -> get_Width(This,aWidth) ) 

#define IMousePointerShape_get_Height(This,aHeight)	\
    ( (This)->lpVtbl -> get_Height(This,aHeight) ) 

#define IMousePointerShape_get_Shape(This,aShape)	\
    ( (This)->lpVtbl -> get_Shape(This,aShape) ) 

#define IMousePointerShape_get_InternalAndReservedAttribute1IMousePointerShape(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IMousePointerShape(This,aReserved) ) 

#define IMousePointerShape_get_InternalAndReservedAttribute2IMousePointerShape(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IMousePointerShape(This,aReserved) ) 

#define IMousePointerShape_get_InternalAndReservedAttribute3IMousePointerShape(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IMousePointerShape(This,aReserved) ) 

#define IMousePointerShape_get_InternalAndReservedAttribute4IMousePointerShape(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IMousePointerShape(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMousePointerShape_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0075 */
/* [local] */ 

#define COM_FORWARD_IMousePointerShape_GETTER_Visible_TO(smth) HRESULT STDMETHODCALLTYPE get_Visible (BOOL * aVisible) { return smth get_Visible (aVisible); }
#define COM_FORWARD_IMousePointerShape_GETTER_Visible_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_Visible_TO ((obj)->)
#define COM_FORWARD_IMousePointerShape_GETTER_Visible_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_Visible_TO (base::)
#define COM_FORWARD_IMousePointerShape_GETTER_Alpha_TO(smth) HRESULT STDMETHODCALLTYPE get_Alpha (BOOL * aAlpha) { return smth get_Alpha (aAlpha); }
#define COM_FORWARD_IMousePointerShape_GETTER_Alpha_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_Alpha_TO ((obj)->)
#define COM_FORWARD_IMousePointerShape_GETTER_Alpha_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_Alpha_TO (base::)
#define COM_FORWARD_IMousePointerShape_GETTER_HotX_TO(smth) HRESULT STDMETHODCALLTYPE get_HotX (ULONG * aHotX) { return smth get_HotX (aHotX); }
#define COM_FORWARD_IMousePointerShape_GETTER_HotX_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_HotX_TO ((obj)->)
#define COM_FORWARD_IMousePointerShape_GETTER_HotX_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_HotX_TO (base::)
#define COM_FORWARD_IMousePointerShape_GETTER_HotY_TO(smth) HRESULT STDMETHODCALLTYPE get_HotY (ULONG * aHotY) { return smth get_HotY (aHotY); }
#define COM_FORWARD_IMousePointerShape_GETTER_HotY_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_HotY_TO ((obj)->)
#define COM_FORWARD_IMousePointerShape_GETTER_HotY_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_HotY_TO (base::)
#define COM_FORWARD_IMousePointerShape_GETTER_Width_TO(smth) HRESULT STDMETHODCALLTYPE get_Width (ULONG * aWidth) { return smth get_Width (aWidth); }
#define COM_FORWARD_IMousePointerShape_GETTER_Width_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_Width_TO ((obj)->)
#define COM_FORWARD_IMousePointerShape_GETTER_Width_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_Width_TO (base::)
#define COM_FORWARD_IMousePointerShape_GETTER_Height_TO(smth) HRESULT STDMETHODCALLTYPE get_Height (ULONG * aHeight) { return smth get_Height (aHeight); }
#define COM_FORWARD_IMousePointerShape_GETTER_Height_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_Height_TO ((obj)->)
#define COM_FORWARD_IMousePointerShape_GETTER_Height_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_Height_TO (base::)
#define COM_FORWARD_IMousePointerShape_GETTER_Shape_TO(smth) HRESULT STDMETHODCALLTYPE get_Shape (SAFEARRAY * * aShape) { return smth get_Shape (aShape); }
#define COM_FORWARD_IMousePointerShape_GETTER_Shape_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_GETTER_Shape_TO ((obj)->)
#define COM_FORWARD_IMousePointerShape_GETTER_Shape_TO_BASE(base) COM_FORWARD_IMousePointerShape_GETTER_Shape_TO (base::)
#define COM_FORWARD_IMousePointerShape_TO(smth) COM_FORWARD_IMousePointerShape_GETTER_Visible_TO (smth) COM_FORWARD_IMousePointerShape_GETTER_Alpha_TO (smth) COM_FORWARD_IMousePointerShape_GETTER_HotX_TO (smth) COM_FORWARD_IMousePointerShape_GETTER_HotY_TO (smth) COM_FORWARD_IMousePointerShape_GETTER_Width_TO (smth) COM_FORWARD_IMousePointerShape_GETTER_Height_TO (smth) COM_FORWARD_IMousePointerShape_GETTER_Shape_TO (smth) 
#define COM_FORWARD_IMousePointerShape_TO_OBJ(obj) COM_FORWARD_IMousePointerShape_TO ((obj)->)
#define COM_FORWARD_IMousePointerShape_TO_BASE(base) COM_FORWARD_IMousePointerShape_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0075_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0075_v0_0_s_ifspec;

#ifndef __IMouse_INTERFACE_DEFINED__
#define __IMouse_INTERFACE_DEFINED__

/* interface IMouse */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMouse;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("25360a74-55e5-4f14-ac2a-f5cf8e62e4af")
    IMouse : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AbsoluteSupported( 
            /* [retval][out] */ BOOL *aAbsoluteSupported) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeSupported( 
            /* [retval][out] */ BOOL *aRelativeSupported) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TouchScreenSupported( 
            /* [retval][out] */ BOOL *aTouchScreenSupported) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TouchPadSupported( 
            /* [retval][out] */ BOOL *aTouchPadSupported) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NeedsHostCursor( 
            /* [retval][out] */ BOOL *aNeedsHostCursor) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerShape( 
            /* [retval][out] */ IMousePointerShape **aPointerShape) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IMouse( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IMouse( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IMouse( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IMouse( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PutMouseEvent( 
            /* [in] */ LONG aDx,
            /* [in] */ LONG aDy,
            /* [in] */ LONG aDz,
            /* [in] */ LONG aDw,
            /* [in] */ LONG aButtonState) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PutMouseEventAbsolute( 
            /* [in] */ LONG aX,
            /* [in] */ LONG aY,
            /* [in] */ LONG aDz,
            /* [in] */ LONG aDw,
            /* [in] */ LONG aButtonState) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PutEventMultiTouch( 
            /* [in] */ LONG aCount,
            /* [in] */ SAFEARRAY * aContacts,
            /* [in] */ BOOL aIsTouchScreen,
            /* [in] */ ULONG aScanTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PutEventMultiTouchString( 
            /* [in] */ LONG aCount,
            /* [in] */ BSTR aContacts,
            /* [in] */ BOOL aIsTouchScreen,
            /* [in] */ ULONG aScanTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IMouse( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IMouse( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IMouse( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IMouse( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMouseVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMouse * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMouse * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMouse * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMouse * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMouse * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMouse * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMouse * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IMouse, get_AbsoluteSupported)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AbsoluteSupported )( 
            IMouse * This,
            /* [retval][out] */ BOOL *aAbsoluteSupported);
        
        DECLSPEC_XFGVIRT(IMouse, get_RelativeSupported)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeSupported )( 
            IMouse * This,
            /* [retval][out] */ BOOL *aRelativeSupported);
        
        DECLSPEC_XFGVIRT(IMouse, get_TouchScreenSupported)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchScreenSupported )( 
            IMouse * This,
            /* [retval][out] */ BOOL *aTouchScreenSupported);
        
        DECLSPEC_XFGVIRT(IMouse, get_TouchPadSupported)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchPadSupported )( 
            IMouse * This,
            /* [retval][out] */ BOOL *aTouchPadSupported);
        
        DECLSPEC_XFGVIRT(IMouse, get_NeedsHostCursor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NeedsHostCursor )( 
            IMouse * This,
            /* [retval][out] */ BOOL *aNeedsHostCursor);
        
        DECLSPEC_XFGVIRT(IMouse, get_PointerShape)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerShape )( 
            IMouse * This,
            /* [retval][out] */ IMousePointerShape **aPointerShape);
        
        DECLSPEC_XFGVIRT(IMouse, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IMouse * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IMouse, get_InternalAndReservedAttribute1IMouse)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IMouse )( 
            IMouse * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMouse, get_InternalAndReservedAttribute2IMouse)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IMouse )( 
            IMouse * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMouse, get_InternalAndReservedAttribute3IMouse)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IMouse )( 
            IMouse * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMouse, get_InternalAndReservedAttribute4IMouse)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IMouse )( 
            IMouse * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMouse, PutMouseEvent)
        HRESULT ( STDMETHODCALLTYPE *PutMouseEvent )( 
            IMouse * This,
            /* [in] */ LONG aDx,
            /* [in] */ LONG aDy,
            /* [in] */ LONG aDz,
            /* [in] */ LONG aDw,
            /* [in] */ LONG aButtonState);
        
        DECLSPEC_XFGVIRT(IMouse, PutMouseEventAbsolute)
        HRESULT ( STDMETHODCALLTYPE *PutMouseEventAbsolute )( 
            IMouse * This,
            /* [in] */ LONG aX,
            /* [in] */ LONG aY,
            /* [in] */ LONG aDz,
            /* [in] */ LONG aDw,
            /* [in] */ LONG aButtonState);
        
        DECLSPEC_XFGVIRT(IMouse, PutEventMultiTouch)
        HRESULT ( STDMETHODCALLTYPE *PutEventMultiTouch )( 
            IMouse * This,
            /* [in] */ LONG aCount,
            /* [in] */ SAFEARRAY * aContacts,
            /* [in] */ BOOL aIsTouchScreen,
            /* [in] */ ULONG aScanTime);
        
        DECLSPEC_XFGVIRT(IMouse, PutEventMultiTouchString)
        HRESULT ( STDMETHODCALLTYPE *PutEventMultiTouchString )( 
            IMouse * This,
            /* [in] */ LONG aCount,
            /* [in] */ BSTR aContacts,
            /* [in] */ BOOL aIsTouchScreen,
            /* [in] */ ULONG aScanTime);
        
        DECLSPEC_XFGVIRT(IMouse, InternalAndReservedMethod1IMouse)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IMouse )( 
            IMouse * This);
        
        DECLSPEC_XFGVIRT(IMouse, InternalAndReservedMethod2IMouse)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IMouse )( 
            IMouse * This);
        
        DECLSPEC_XFGVIRT(IMouse, InternalAndReservedMethod3IMouse)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IMouse )( 
            IMouse * This);
        
        DECLSPEC_XFGVIRT(IMouse, InternalAndReservedMethod4IMouse)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IMouse )( 
            IMouse * This);
        
        END_INTERFACE
    } IMouseVtbl;

    interface IMouse
    {
        CONST_VTBL struct IMouseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMouse_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMouse_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMouse_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMouse_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMouse_get_AbsoluteSupported(This,aAbsoluteSupported)	\
    ( (This)->lpVtbl -> get_AbsoluteSupported(This,aAbsoluteSupported) ) 

#define IMouse_get_RelativeSupported(This,aRelativeSupported)	\
    ( (This)->lpVtbl -> get_RelativeSupported(This,aRelativeSupported) ) 

#define IMouse_get_TouchScreenSupported(This,aTouchScreenSupported)	\
    ( (This)->lpVtbl -> get_TouchScreenSupported(This,aTouchScreenSupported) ) 

#define IMouse_get_TouchPadSupported(This,aTouchPadSupported)	\
    ( (This)->lpVtbl -> get_TouchPadSupported(This,aTouchPadSupported) ) 

#define IMouse_get_NeedsHostCursor(This,aNeedsHostCursor)	\
    ( (This)->lpVtbl -> get_NeedsHostCursor(This,aNeedsHostCursor) ) 

#define IMouse_get_PointerShape(This,aPointerShape)	\
    ( (This)->lpVtbl -> get_PointerShape(This,aPointerShape) ) 

#define IMouse_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IMouse_get_InternalAndReservedAttribute1IMouse(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IMouse(This,aReserved) ) 

#define IMouse_get_InternalAndReservedAttribute2IMouse(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IMouse(This,aReserved) ) 

#define IMouse_get_InternalAndReservedAttribute3IMouse(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IMouse(This,aReserved) ) 

#define IMouse_get_InternalAndReservedAttribute4IMouse(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IMouse(This,aReserved) ) 

#define IMouse_PutMouseEvent(This,aDx,aDy,aDz,aDw,aButtonState)	\
    ( (This)->lpVtbl -> PutMouseEvent(This,aDx,aDy,aDz,aDw,aButtonState) ) 

#define IMouse_PutMouseEventAbsolute(This,aX,aY,aDz,aDw,aButtonState)	\
    ( (This)->lpVtbl -> PutMouseEventAbsolute(This,aX,aY,aDz,aDw,aButtonState) ) 

#define IMouse_PutEventMultiTouch(This,aCount,aContacts,aIsTouchScreen,aScanTime)	\
    ( (This)->lpVtbl -> PutEventMultiTouch(This,aCount,aContacts,aIsTouchScreen,aScanTime) ) 

#define IMouse_PutEventMultiTouchString(This,aCount,aContacts,aIsTouchScreen,aScanTime)	\
    ( (This)->lpVtbl -> PutEventMultiTouchString(This,aCount,aContacts,aIsTouchScreen,aScanTime) ) 

#define IMouse_InternalAndReservedMethod1IMouse(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IMouse(This) ) 

#define IMouse_InternalAndReservedMethod2IMouse(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IMouse(This) ) 

#define IMouse_InternalAndReservedMethod3IMouse(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IMouse(This) ) 

#define IMouse_InternalAndReservedMethod4IMouse(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IMouse(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMouse_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0076 */
/* [local] */ 

#define COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_AbsoluteSupported (BOOL * aAbsoluteSupported) { return smth get_AbsoluteSupported (aAbsoluteSupported); }
#define COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO ((obj)->)
#define COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO_BASE(base) COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO (base::)
#define COM_FORWARD_IMouse_GETTER_RelativeSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_RelativeSupported (BOOL * aRelativeSupported) { return smth get_RelativeSupported (aRelativeSupported); }
#define COM_FORWARD_IMouse_GETTER_RelativeSupported_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_RelativeSupported_TO ((obj)->)
#define COM_FORWARD_IMouse_GETTER_RelativeSupported_TO_BASE(base) COM_FORWARD_IMouse_GETTER_RelativeSupported_TO (base::)
#define COM_FORWARD_IMouse_GETTER_TouchScreenSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_TouchScreenSupported (BOOL * aTouchScreenSupported) { return smth get_TouchScreenSupported (aTouchScreenSupported); }
#define COM_FORWARD_IMouse_GETTER_TouchScreenSupported_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_TouchScreenSupported_TO ((obj)->)
#define COM_FORWARD_IMouse_GETTER_TouchScreenSupported_TO_BASE(base) COM_FORWARD_IMouse_GETTER_TouchScreenSupported_TO (base::)
#define COM_FORWARD_IMouse_GETTER_TouchPadSupported_TO(smth) HRESULT STDMETHODCALLTYPE get_TouchPadSupported (BOOL * aTouchPadSupported) { return smth get_TouchPadSupported (aTouchPadSupported); }
#define COM_FORWARD_IMouse_GETTER_TouchPadSupported_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_TouchPadSupported_TO ((obj)->)
#define COM_FORWARD_IMouse_GETTER_TouchPadSupported_TO_BASE(base) COM_FORWARD_IMouse_GETTER_TouchPadSupported_TO (base::)
#define COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO(smth) HRESULT STDMETHODCALLTYPE get_NeedsHostCursor (BOOL * aNeedsHostCursor) { return smth get_NeedsHostCursor (aNeedsHostCursor); }
#define COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO ((obj)->)
#define COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO_BASE(base) COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO (base::)
#define COM_FORWARD_IMouse_GETTER_PointerShape_TO(smth) HRESULT STDMETHODCALLTYPE get_PointerShape (IMousePointerShape * * aPointerShape) { return smth get_PointerShape (aPointerShape); }
#define COM_FORWARD_IMouse_GETTER_PointerShape_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_PointerShape_TO ((obj)->)
#define COM_FORWARD_IMouse_GETTER_PointerShape_TO_BASE(base) COM_FORWARD_IMouse_GETTER_PointerShape_TO (base::)
#define COM_FORWARD_IMouse_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IMouse_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IMouse_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IMouse_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IMouse_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IMouse_PutMouseEvent_TO(smth) HRESULT STDMETHODCALLTYPE PutMouseEvent (LONG aDx, LONG aDy, LONG aDz, LONG aDw, LONG aButtonState) { return smth PutMouseEvent (aDx, aDy, aDz, aDw, aButtonState); }
#define COM_FORWARD_IMouse_PutMouseEvent_TO_OBJ(obj) COM_FORWARD_IMouse_PutMouseEvent_TO ((obj)->)
#define COM_FORWARD_IMouse_PutMouseEvent_TO_BASE(base) COM_FORWARD_IMouse_PutMouseEvent_TO (base::)
#define COM_FORWARD_IMouse_PutMouseEventAbsolute_TO(smth) HRESULT STDMETHODCALLTYPE PutMouseEventAbsolute (LONG aX, LONG aY, LONG aDz, LONG aDw, LONG aButtonState) { return smth PutMouseEventAbsolute (aX, aY, aDz, aDw, aButtonState); }
#define COM_FORWARD_IMouse_PutMouseEventAbsolute_TO_OBJ(obj) COM_FORWARD_IMouse_PutMouseEventAbsolute_TO ((obj)->)
#define COM_FORWARD_IMouse_PutMouseEventAbsolute_TO_BASE(base) COM_FORWARD_IMouse_PutMouseEventAbsolute_TO (base::)
#define COM_FORWARD_IMouse_PutEventMultiTouch_TO(smth) HRESULT STDMETHODCALLTYPE PutEventMultiTouch (LONG aCount, SAFEARRAY * * aContacts, BOOL aIsTouchScreen, ULONG aScanTime) { return smth PutEventMultiTouch (aCount, aContacts, aIsTouchScreen, aScanTime); }
#define COM_FORWARD_IMouse_PutEventMultiTouch_TO_OBJ(obj) COM_FORWARD_IMouse_PutEventMultiTouch_TO ((obj)->)
#define COM_FORWARD_IMouse_PutEventMultiTouch_TO_BASE(base) COM_FORWARD_IMouse_PutEventMultiTouch_TO (base::)
#define COM_FORWARD_IMouse_PutEventMultiTouchString_TO(smth) HRESULT STDMETHODCALLTYPE PutEventMultiTouchString (LONG aCount, BSTR aContacts, BOOL aIsTouchScreen, ULONG aScanTime) { return smth PutEventMultiTouchString (aCount, aContacts, aIsTouchScreen, aScanTime); }
#define COM_FORWARD_IMouse_PutEventMultiTouchString_TO_OBJ(obj) COM_FORWARD_IMouse_PutEventMultiTouchString_TO ((obj)->)
#define COM_FORWARD_IMouse_PutEventMultiTouchString_TO_BASE(base) COM_FORWARD_IMouse_PutEventMultiTouchString_TO (base::)
#define COM_FORWARD_IMouse_TO(smth) COM_FORWARD_IMouse_GETTER_AbsoluteSupported_TO (smth) COM_FORWARD_IMouse_GETTER_RelativeSupported_TO (smth) COM_FORWARD_IMouse_GETTER_TouchScreenSupported_TO (smth) COM_FORWARD_IMouse_GETTER_TouchPadSupported_TO (smth) COM_FORWARD_IMouse_GETTER_NeedsHostCursor_TO (smth) COM_FORWARD_IMouse_GETTER_PointerShape_TO (smth) COM_FORWARD_IMouse_GETTER_EventSource_TO (smth) COM_FORWARD_IMouse_PutMouseEvent_TO (smth) COM_FORWARD_IMouse_PutMouseEventAbsolute_TO (smth) COM_FORWARD_IMouse_PutEventMultiTouch_TO (smth) COM_FORWARD_IMouse_PutEventMultiTouchString_TO (smth) 
#define COM_FORWARD_IMouse_TO_OBJ(obj) COM_FORWARD_IMouse_TO ((obj)->)
#define COM_FORWARD_IMouse_TO_BASE(base) COM_FORWARD_IMouse_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0076_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0076_v0_0_s_ifspec;

#ifndef __IDisplaySourceBitmap_INTERFACE_DEFINED__
#define __IDisplaySourceBitmap_INTERFACE_DEFINED__

/* interface IDisplaySourceBitmap */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDisplaySourceBitmap;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5094f67a-8084-11e9-b185-dbe296e54799")
    IDisplaySourceBitmap : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ScreenId( 
            /* [retval][out] */ ULONG *aScreenId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryBitmapInfo( 
            /* [out] */ BYTE **aAddress,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [out] */ ULONG *aBitsPerPixel,
            /* [out] */ ULONG *aBytesPerLine,
            /* [out] */ BitmapFormat *aBitmapFormat) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDisplaySourceBitmapVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDisplaySourceBitmap * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDisplaySourceBitmap * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDisplaySourceBitmap * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDisplaySourceBitmap * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDisplaySourceBitmap * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDisplaySourceBitmap * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDisplaySourceBitmap * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDisplaySourceBitmap, get_ScreenId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScreenId )( 
            IDisplaySourceBitmap * This,
            /* [retval][out] */ ULONG *aScreenId);
        
        DECLSPEC_XFGVIRT(IDisplaySourceBitmap, QueryBitmapInfo)
        HRESULT ( STDMETHODCALLTYPE *QueryBitmapInfo )( 
            IDisplaySourceBitmap * This,
            /* [out] */ BYTE **aAddress,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [out] */ ULONG *aBitsPerPixel,
            /* [out] */ ULONG *aBytesPerLine,
            /* [out] */ BitmapFormat *aBitmapFormat);
        
        END_INTERFACE
    } IDisplaySourceBitmapVtbl;

    interface IDisplaySourceBitmap
    {
        CONST_VTBL struct IDisplaySourceBitmapVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDisplaySourceBitmap_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDisplaySourceBitmap_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDisplaySourceBitmap_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDisplaySourceBitmap_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDisplaySourceBitmap_get_ScreenId(This,aScreenId)	\
    ( (This)->lpVtbl -> get_ScreenId(This,aScreenId) ) 

#define IDisplaySourceBitmap_QueryBitmapInfo(This,aAddress,aWidth,aHeight,aBitsPerPixel,aBytesPerLine,aBitmapFormat)	\
    ( (This)->lpVtbl -> QueryBitmapInfo(This,aAddress,aWidth,aHeight,aBitsPerPixel,aBytesPerLine,aBitmapFormat) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDisplaySourceBitmap_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0077 */
/* [local] */ 

#define COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO(smth) HRESULT STDMETHODCALLTYPE get_ScreenId (ULONG * aScreenId) { return smth get_ScreenId (aScreenId); }
#define COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO_OBJ(obj) COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO ((obj)->)
#define COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO_BASE(base) COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO (base::)
#define COM_FORWARD_IDisplaySourceBitmap_QueryBitmapInfo_TO(smth) HRESULT STDMETHODCALLTYPE QueryBitmapInfo (BYTE * * aAddress, ULONG * aWidth, ULONG * aHeight, ULONG * aBitsPerPixel, ULONG * aBytesPerLine, BitmapFormat * aBitmapFormat) { return smth QueryBitmapInfo (aAddress, aWidth, aHeight, aBitsPerPixel, aBytesPerLine, aBitmapFormat); }
#define COM_FORWARD_IDisplaySourceBitmap_QueryBitmapInfo_TO_OBJ(obj) COM_FORWARD_IDisplaySourceBitmap_QueryBitmapInfo_TO ((obj)->)
#define COM_FORWARD_IDisplaySourceBitmap_QueryBitmapInfo_TO_BASE(base) COM_FORWARD_IDisplaySourceBitmap_QueryBitmapInfo_TO (base::)
#define COM_FORWARD_IDisplaySourceBitmap_TO(smth) COM_FORWARD_IDisplaySourceBitmap_GETTER_ScreenId_TO (smth) COM_FORWARD_IDisplaySourceBitmap_QueryBitmapInfo_TO (smth) 
#define COM_FORWARD_IDisplaySourceBitmap_TO_OBJ(obj) COM_FORWARD_IDisplaySourceBitmap_TO ((obj)->)
#define COM_FORWARD_IDisplaySourceBitmap_TO_BASE(base) COM_FORWARD_IDisplaySourceBitmap_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0077_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0077_v0_0_s_ifspec;

#ifndef __IFramebuffer_INTERFACE_DEFINED__
#define __IFramebuffer_INTERFACE_DEFINED__

/* interface IFramebuffer */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IFramebuffer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1e8d3f27-b45c-48ae-8b36-d35e83d207aa")
    IFramebuffer : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ ULONG *aWidth) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ ULONG *aHeight) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BitsPerPixel( 
            /* [retval][out] */ ULONG *aBitsPerPixel) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BytesPerLine( 
            /* [retval][out] */ ULONG *aBytesPerLine) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PixelFormat( 
            /* [retval][out] */ BitmapFormat *aPixelFormat) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HeightReduction( 
            /* [retval][out] */ ULONG *aHeightReduction) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Overlay( 
            /* [retval][out] */ IFramebufferOverlay **aOverlay) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WinId( 
            /* [retval][out] */ LONG64 *aWinId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Capabilities( 
            /* [retval][out] */ SAFEARRAY * *aCapabilities) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NotifyUpdate( 
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NotifyUpdateImage( 
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ SAFEARRAY * aImage) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NotifyChange( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aXOrigin,
            /* [in] */ ULONG aYOrigin,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE VideoModeSupported( 
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ ULONG aBpp,
            /* [retval][out] */ BOOL *aSupported) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVisibleRegion( 
            /* [in] */ BYTE *aRectangles,
            /* [in] */ ULONG aCount,
            /* [retval][out] */ ULONG *aCountCopied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetVisibleRegion( 
            /* [in] */ BYTE *aRectangles,
            /* [in] */ ULONG aCount) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ProcessVHWACommand( 
            /* [in] */ BYTE *aCommand,
            /* [in] */ LONG aEnmCmd,
            /* [in] */ BOOL aFromGuest) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Notify3DEvent( 
            /* [in] */ ULONG aType,
            /* [in] */ SAFEARRAY * aData) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IFramebufferVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IFramebuffer * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IFramebuffer * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IFramebuffer * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IFramebuffer * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IFramebuffer * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IFramebuffer * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IFramebuffer * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_Width)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IFramebuffer * This,
            /* [retval][out] */ ULONG *aWidth);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_Height)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IFramebuffer * This,
            /* [retval][out] */ ULONG *aHeight);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_BitsPerPixel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitsPerPixel )( 
            IFramebuffer * This,
            /* [retval][out] */ ULONG *aBitsPerPixel);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_BytesPerLine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BytesPerLine )( 
            IFramebuffer * This,
            /* [retval][out] */ ULONG *aBytesPerLine);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_PixelFormat)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelFormat )( 
            IFramebuffer * This,
            /* [retval][out] */ BitmapFormat *aPixelFormat);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_HeightReduction)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HeightReduction )( 
            IFramebuffer * This,
            /* [retval][out] */ ULONG *aHeightReduction);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_Overlay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Overlay )( 
            IFramebuffer * This,
            /* [retval][out] */ IFramebufferOverlay **aOverlay);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_WinId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WinId )( 
            IFramebuffer * This,
            /* [retval][out] */ LONG64 *aWinId);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_Capabilities)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Capabilities )( 
            IFramebuffer * This,
            /* [retval][out] */ SAFEARRAY * *aCapabilities);
        
        DECLSPEC_XFGVIRT(IFramebuffer, NotifyUpdate)
        HRESULT ( STDMETHODCALLTYPE *NotifyUpdate )( 
            IFramebuffer * This,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight);
        
        DECLSPEC_XFGVIRT(IFramebuffer, NotifyUpdateImage)
        HRESULT ( STDMETHODCALLTYPE *NotifyUpdateImage )( 
            IFramebuffer * This,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ SAFEARRAY * aImage);
        
        DECLSPEC_XFGVIRT(IFramebuffer, NotifyChange)
        HRESULT ( STDMETHODCALLTYPE *NotifyChange )( 
            IFramebuffer * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aXOrigin,
            /* [in] */ ULONG aYOrigin,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight);
        
        DECLSPEC_XFGVIRT(IFramebuffer, VideoModeSupported)
        HRESULT ( STDMETHODCALLTYPE *VideoModeSupported )( 
            IFramebuffer * This,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ ULONG aBpp,
            /* [retval][out] */ BOOL *aSupported);
        
        DECLSPEC_XFGVIRT(IFramebuffer, GetVisibleRegion)
        HRESULT ( STDMETHODCALLTYPE *GetVisibleRegion )( 
            IFramebuffer * This,
            /* [in] */ BYTE *aRectangles,
            /* [in] */ ULONG aCount,
            /* [retval][out] */ ULONG *aCountCopied);
        
        DECLSPEC_XFGVIRT(IFramebuffer, SetVisibleRegion)
        HRESULT ( STDMETHODCALLTYPE *SetVisibleRegion )( 
            IFramebuffer * This,
            /* [in] */ BYTE *aRectangles,
            /* [in] */ ULONG aCount);
        
        DECLSPEC_XFGVIRT(IFramebuffer, ProcessVHWACommand)
        HRESULT ( STDMETHODCALLTYPE *ProcessVHWACommand )( 
            IFramebuffer * This,
            /* [in] */ BYTE *aCommand,
            /* [in] */ LONG aEnmCmd,
            /* [in] */ BOOL aFromGuest);
        
        DECLSPEC_XFGVIRT(IFramebuffer, Notify3DEvent)
        HRESULT ( STDMETHODCALLTYPE *Notify3DEvent )( 
            IFramebuffer * This,
            /* [in] */ ULONG aType,
            /* [in] */ SAFEARRAY * aData);
        
        END_INTERFACE
    } IFramebufferVtbl;

    interface IFramebuffer
    {
        CONST_VTBL struct IFramebufferVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IFramebuffer_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IFramebuffer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IFramebuffer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IFramebuffer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IFramebuffer_get_Width(This,aWidth)	\
    ( (This)->lpVtbl -> get_Width(This,aWidth) ) 

#define IFramebuffer_get_Height(This,aHeight)	\
    ( (This)->lpVtbl -> get_Height(This,aHeight) ) 

#define IFramebuffer_get_BitsPerPixel(This,aBitsPerPixel)	\
    ( (This)->lpVtbl -> get_BitsPerPixel(This,aBitsPerPixel) ) 

#define IFramebuffer_get_BytesPerLine(This,aBytesPerLine)	\
    ( (This)->lpVtbl -> get_BytesPerLine(This,aBytesPerLine) ) 

#define IFramebuffer_get_PixelFormat(This,aPixelFormat)	\
    ( (This)->lpVtbl -> get_PixelFormat(This,aPixelFormat) ) 

#define IFramebuffer_get_HeightReduction(This,aHeightReduction)	\
    ( (This)->lpVtbl -> get_HeightReduction(This,aHeightReduction) ) 

#define IFramebuffer_get_Overlay(This,aOverlay)	\
    ( (This)->lpVtbl -> get_Overlay(This,aOverlay) ) 

#define IFramebuffer_get_WinId(This,aWinId)	\
    ( (This)->lpVtbl -> get_WinId(This,aWinId) ) 

#define IFramebuffer_get_Capabilities(This,aCapabilities)	\
    ( (This)->lpVtbl -> get_Capabilities(This,aCapabilities) ) 

#define IFramebuffer_NotifyUpdate(This,aX,aY,aWidth,aHeight)	\
    ( (This)->lpVtbl -> NotifyUpdate(This,aX,aY,aWidth,aHeight) ) 

#define IFramebuffer_NotifyUpdateImage(This,aX,aY,aWidth,aHeight,aImage)	\
    ( (This)->lpVtbl -> NotifyUpdateImage(This,aX,aY,aWidth,aHeight,aImage) ) 

#define IFramebuffer_NotifyChange(This,aScreenId,aXOrigin,aYOrigin,aWidth,aHeight)	\
    ( (This)->lpVtbl -> NotifyChange(This,aScreenId,aXOrigin,aYOrigin,aWidth,aHeight) ) 

#define IFramebuffer_VideoModeSupported(This,aWidth,aHeight,aBpp,aSupported)	\
    ( (This)->lpVtbl -> VideoModeSupported(This,aWidth,aHeight,aBpp,aSupported) ) 

#define IFramebuffer_GetVisibleRegion(This,aRectangles,aCount,aCountCopied)	\
    ( (This)->lpVtbl -> GetVisibleRegion(This,aRectangles,aCount,aCountCopied) ) 

#define IFramebuffer_SetVisibleRegion(This,aRectangles,aCount)	\
    ( (This)->lpVtbl -> SetVisibleRegion(This,aRectangles,aCount) ) 

#define IFramebuffer_ProcessVHWACommand(This,aCommand,aEnmCmd,aFromGuest)	\
    ( (This)->lpVtbl -> ProcessVHWACommand(This,aCommand,aEnmCmd,aFromGuest) ) 

#define IFramebuffer_Notify3DEvent(This,aType,aData)	\
    ( (This)->lpVtbl -> Notify3DEvent(This,aType,aData) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IFramebuffer_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0078 */
/* [local] */ 

#define COM_FORWARD_IFramebuffer_GETTER_Width_TO(smth) HRESULT STDMETHODCALLTYPE get_Width (ULONG * aWidth) { return smth get_Width (aWidth); }
#define COM_FORWARD_IFramebuffer_GETTER_Width_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_Width_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_GETTER_Width_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_Width_TO (base::)
#define COM_FORWARD_IFramebuffer_GETTER_Height_TO(smth) HRESULT STDMETHODCALLTYPE get_Height (ULONG * aHeight) { return smth get_Height (aHeight); }
#define COM_FORWARD_IFramebuffer_GETTER_Height_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_Height_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_GETTER_Height_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_Height_TO (base::)
#define COM_FORWARD_IFramebuffer_GETTER_BitsPerPixel_TO(smth) HRESULT STDMETHODCALLTYPE get_BitsPerPixel (ULONG * aBitsPerPixel) { return smth get_BitsPerPixel (aBitsPerPixel); }
#define COM_FORWARD_IFramebuffer_GETTER_BitsPerPixel_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_BitsPerPixel_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_GETTER_BitsPerPixel_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_BitsPerPixel_TO (base::)
#define COM_FORWARD_IFramebuffer_GETTER_BytesPerLine_TO(smth) HRESULT STDMETHODCALLTYPE get_BytesPerLine (ULONG * aBytesPerLine) { return smth get_BytesPerLine (aBytesPerLine); }
#define COM_FORWARD_IFramebuffer_GETTER_BytesPerLine_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_BytesPerLine_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_GETTER_BytesPerLine_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_BytesPerLine_TO (base::)
#define COM_FORWARD_IFramebuffer_GETTER_PixelFormat_TO(smth) HRESULT STDMETHODCALLTYPE get_PixelFormat (BitmapFormat * aPixelFormat) { return smth get_PixelFormat (aPixelFormat); }
#define COM_FORWARD_IFramebuffer_GETTER_PixelFormat_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_PixelFormat_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_GETTER_PixelFormat_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_PixelFormat_TO (base::)
#define COM_FORWARD_IFramebuffer_GETTER_HeightReduction_TO(smth) HRESULT STDMETHODCALLTYPE get_HeightReduction (ULONG * aHeightReduction) { return smth get_HeightReduction (aHeightReduction); }
#define COM_FORWARD_IFramebuffer_GETTER_HeightReduction_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_HeightReduction_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_GETTER_HeightReduction_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_HeightReduction_TO (base::)
#define COM_FORWARD_IFramebuffer_GETTER_Overlay_TO(smth) HRESULT STDMETHODCALLTYPE get_Overlay (IFramebufferOverlay * * aOverlay) { return smth get_Overlay (aOverlay); }
#define COM_FORWARD_IFramebuffer_GETTER_Overlay_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_Overlay_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_GETTER_Overlay_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_Overlay_TO (base::)
#define COM_FORWARD_IFramebuffer_GETTER_WinId_TO(smth) HRESULT STDMETHODCALLTYPE get_WinId (LONG64 * aWinId) { return smth get_WinId (aWinId); }
#define COM_FORWARD_IFramebuffer_GETTER_WinId_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_WinId_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_GETTER_WinId_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_WinId_TO (base::)
#define COM_FORWARD_IFramebuffer_GETTER_Capabilities_TO(smth) HRESULT STDMETHODCALLTYPE get_Capabilities (SAFEARRAY * * aCapabilities) { return smth get_Capabilities (aCapabilities); }
#define COM_FORWARD_IFramebuffer_GETTER_Capabilities_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GETTER_Capabilities_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_GETTER_Capabilities_TO_BASE(base) COM_FORWARD_IFramebuffer_GETTER_Capabilities_TO (base::)
#define COM_FORWARD_IFramebuffer_NotifyUpdate_TO(smth) HRESULT STDMETHODCALLTYPE NotifyUpdate (ULONG aX, ULONG aY, ULONG aWidth, ULONG aHeight) { return smth NotifyUpdate (aX, aY, aWidth, aHeight); }
#define COM_FORWARD_IFramebuffer_NotifyUpdate_TO_OBJ(obj) COM_FORWARD_IFramebuffer_NotifyUpdate_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_NotifyUpdate_TO_BASE(base) COM_FORWARD_IFramebuffer_NotifyUpdate_TO (base::)
#define COM_FORWARD_IFramebuffer_NotifyUpdateImage_TO(smth) HRESULT STDMETHODCALLTYPE NotifyUpdateImage (ULONG aX, ULONG aY, ULONG aWidth, ULONG aHeight, SAFEARRAY * * aImage) { return smth NotifyUpdateImage (aX, aY, aWidth, aHeight, aImage); }
#define COM_FORWARD_IFramebuffer_NotifyUpdateImage_TO_OBJ(obj) COM_FORWARD_IFramebuffer_NotifyUpdateImage_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_NotifyUpdateImage_TO_BASE(base) COM_FORWARD_IFramebuffer_NotifyUpdateImage_TO (base::)
#define COM_FORWARD_IFramebuffer_NotifyChange_TO(smth) HRESULT STDMETHODCALLTYPE NotifyChange (ULONG aScreenId, ULONG aXOrigin, ULONG aYOrigin, ULONG aWidth, ULONG aHeight) { return smth NotifyChange (aScreenId, aXOrigin, aYOrigin, aWidth, aHeight); }
#define COM_FORWARD_IFramebuffer_NotifyChange_TO_OBJ(obj) COM_FORWARD_IFramebuffer_NotifyChange_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_NotifyChange_TO_BASE(base) COM_FORWARD_IFramebuffer_NotifyChange_TO (base::)
#define COM_FORWARD_IFramebuffer_VideoModeSupported_TO(smth) HRESULT STDMETHODCALLTYPE VideoModeSupported (ULONG aWidth, ULONG aHeight, ULONG aBpp, BOOL * aSupported) { return smth VideoModeSupported (aWidth, aHeight, aBpp, aSupported); }
#define COM_FORWARD_IFramebuffer_VideoModeSupported_TO_OBJ(obj) COM_FORWARD_IFramebuffer_VideoModeSupported_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_VideoModeSupported_TO_BASE(base) COM_FORWARD_IFramebuffer_VideoModeSupported_TO (base::)
#define COM_FORWARD_IFramebuffer_GetVisibleRegion_TO(smth) HRESULT STDMETHODCALLTYPE GetVisibleRegion (BYTE * aRectangles, ULONG aCount, ULONG * aCountCopied) { return smth GetVisibleRegion (aRectangles, aCount, aCountCopied); }
#define COM_FORWARD_IFramebuffer_GetVisibleRegion_TO_OBJ(obj) COM_FORWARD_IFramebuffer_GetVisibleRegion_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_GetVisibleRegion_TO_BASE(base) COM_FORWARD_IFramebuffer_GetVisibleRegion_TO (base::)
#define COM_FORWARD_IFramebuffer_SetVisibleRegion_TO(smth) HRESULT STDMETHODCALLTYPE SetVisibleRegion (BYTE * aRectangles, ULONG aCount) { return smth SetVisibleRegion (aRectangles, aCount); }
#define COM_FORWARD_IFramebuffer_SetVisibleRegion_TO_OBJ(obj) COM_FORWARD_IFramebuffer_SetVisibleRegion_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_SetVisibleRegion_TO_BASE(base) COM_FORWARD_IFramebuffer_SetVisibleRegion_TO (base::)
#define COM_FORWARD_IFramebuffer_ProcessVHWACommand_TO(smth) HRESULT STDMETHODCALLTYPE ProcessVHWACommand (BYTE * aCommand, LONG aEnmCmd, BOOL aFromGuest) { return smth ProcessVHWACommand (aCommand, aEnmCmd, aFromGuest); }
#define COM_FORWARD_IFramebuffer_ProcessVHWACommand_TO_OBJ(obj) COM_FORWARD_IFramebuffer_ProcessVHWACommand_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_ProcessVHWACommand_TO_BASE(base) COM_FORWARD_IFramebuffer_ProcessVHWACommand_TO (base::)
#define COM_FORWARD_IFramebuffer_Notify3DEvent_TO(smth) HRESULT STDMETHODCALLTYPE Notify3DEvent (ULONG aType, SAFEARRAY * * aData) { return smth Notify3DEvent (aType, aData); }
#define COM_FORWARD_IFramebuffer_Notify3DEvent_TO_OBJ(obj) COM_FORWARD_IFramebuffer_Notify3DEvent_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_Notify3DEvent_TO_BASE(base) COM_FORWARD_IFramebuffer_Notify3DEvent_TO (base::)
#define COM_FORWARD_IFramebuffer_TO(smth) COM_FORWARD_IFramebuffer_GETTER_Width_TO (smth) COM_FORWARD_IFramebuffer_GETTER_Height_TO (smth) COM_FORWARD_IFramebuffer_GETTER_BitsPerPixel_TO (smth) COM_FORWARD_IFramebuffer_GETTER_BytesPerLine_TO (smth) COM_FORWARD_IFramebuffer_GETTER_PixelFormat_TO (smth) COM_FORWARD_IFramebuffer_GETTER_HeightReduction_TO (smth) COM_FORWARD_IFramebuffer_GETTER_Overlay_TO (smth) COM_FORWARD_IFramebuffer_GETTER_WinId_TO (smth) COM_FORWARD_IFramebuffer_GETTER_Capabilities_TO (smth) COM_FORWARD_IFramebuffer_NotifyUpdate_TO (smth) COM_FORWARD_IFramebuffer_NotifyUpdateImage_TO (smth) COM_FORWARD_IFramebuffer_NotifyChange_TO (smth) COM_FORWARD_IFramebuffer_VideoModeSupported_TO (smth) COM_FORWARD_IFramebuffer_GetVisibleRegion_TO (smth) COM_FORWARD_IFramebuffer_SetVisibleRegion_TO (smth) COM_FORWARD_IFramebuffer_ProcessVHWACommand_TO (smth) COM_FORWARD_IFramebuffer_Notify3DEvent_TO (smth) 
#define COM_FORWARD_IFramebuffer_TO_OBJ(obj) COM_FORWARD_IFramebuffer_TO ((obj)->)
#define COM_FORWARD_IFramebuffer_TO_BASE(base) COM_FORWARD_IFramebuffer_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0078_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0078_v0_0_s_ifspec;

#ifndef __IFramebufferOverlay_INTERFACE_DEFINED__
#define __IFramebufferOverlay_INTERFACE_DEFINED__

/* interface IFramebufferOverlay */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IFramebufferOverlay;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("af398a9a-6b76-4805-8fab-00a9dcf4732b")
    IFramebufferOverlay : public IFramebuffer
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_X( 
            /* [retval][out] */ ULONG *aX) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Y( 
            /* [retval][out] */ ULONG *aY) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ BOOL *aVisible) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ BOOL aVisible) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Alpha( 
            /* [retval][out] */ ULONG *aAlpha) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Alpha( 
            /* [in] */ ULONG aAlpha) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IFramebufferOverlayVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IFramebufferOverlay * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IFramebufferOverlay * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IFramebufferOverlay * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IFramebufferOverlay * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IFramebufferOverlay * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IFramebufferOverlay * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IFramebufferOverlay * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_Width)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ ULONG *aWidth);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_Height)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ ULONG *aHeight);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_BitsPerPixel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitsPerPixel )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ ULONG *aBitsPerPixel);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_BytesPerLine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BytesPerLine )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ ULONG *aBytesPerLine);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_PixelFormat)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelFormat )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ BitmapFormat *aPixelFormat);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_HeightReduction)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HeightReduction )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ ULONG *aHeightReduction);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_Overlay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Overlay )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ IFramebufferOverlay **aOverlay);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_WinId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WinId )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ LONG64 *aWinId);
        
        DECLSPEC_XFGVIRT(IFramebuffer, get_Capabilities)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Capabilities )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ SAFEARRAY * *aCapabilities);
        
        DECLSPEC_XFGVIRT(IFramebuffer, NotifyUpdate)
        HRESULT ( STDMETHODCALLTYPE *NotifyUpdate )( 
            IFramebufferOverlay * This,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight);
        
        DECLSPEC_XFGVIRT(IFramebuffer, NotifyUpdateImage)
        HRESULT ( STDMETHODCALLTYPE *NotifyUpdateImage )( 
            IFramebufferOverlay * This,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ SAFEARRAY * aImage);
        
        DECLSPEC_XFGVIRT(IFramebuffer, NotifyChange)
        HRESULT ( STDMETHODCALLTYPE *NotifyChange )( 
            IFramebufferOverlay * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aXOrigin,
            /* [in] */ ULONG aYOrigin,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight);
        
        DECLSPEC_XFGVIRT(IFramebuffer, VideoModeSupported)
        HRESULT ( STDMETHODCALLTYPE *VideoModeSupported )( 
            IFramebufferOverlay * This,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ ULONG aBpp,
            /* [retval][out] */ BOOL *aSupported);
        
        DECLSPEC_XFGVIRT(IFramebuffer, GetVisibleRegion)
        HRESULT ( STDMETHODCALLTYPE *GetVisibleRegion )( 
            IFramebufferOverlay * This,
            /* [in] */ BYTE *aRectangles,
            /* [in] */ ULONG aCount,
            /* [retval][out] */ ULONG *aCountCopied);
        
        DECLSPEC_XFGVIRT(IFramebuffer, SetVisibleRegion)
        HRESULT ( STDMETHODCALLTYPE *SetVisibleRegion )( 
            IFramebufferOverlay * This,
            /* [in] */ BYTE *aRectangles,
            /* [in] */ ULONG aCount);
        
        DECLSPEC_XFGVIRT(IFramebuffer, ProcessVHWACommand)
        HRESULT ( STDMETHODCALLTYPE *ProcessVHWACommand )( 
            IFramebufferOverlay * This,
            /* [in] */ BYTE *aCommand,
            /* [in] */ LONG aEnmCmd,
            /* [in] */ BOOL aFromGuest);
        
        DECLSPEC_XFGVIRT(IFramebuffer, Notify3DEvent)
        HRESULT ( STDMETHODCALLTYPE *Notify3DEvent )( 
            IFramebufferOverlay * This,
            /* [in] */ ULONG aType,
            /* [in] */ SAFEARRAY * aData);
        
        DECLSPEC_XFGVIRT(IFramebufferOverlay, get_X)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_X )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ ULONG *aX);
        
        DECLSPEC_XFGVIRT(IFramebufferOverlay, get_Y)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Y )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ ULONG *aY);
        
        DECLSPEC_XFGVIRT(IFramebufferOverlay, get_Visible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ BOOL *aVisible);
        
        DECLSPEC_XFGVIRT(IFramebufferOverlay, put_Visible)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IFramebufferOverlay * This,
            /* [in] */ BOOL aVisible);
        
        DECLSPEC_XFGVIRT(IFramebufferOverlay, get_Alpha)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Alpha )( 
            IFramebufferOverlay * This,
            /* [retval][out] */ ULONG *aAlpha);
        
        DECLSPEC_XFGVIRT(IFramebufferOverlay, put_Alpha)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Alpha )( 
            IFramebufferOverlay * This,
            /* [in] */ ULONG aAlpha);
        
        DECLSPEC_XFGVIRT(IFramebufferOverlay, Move)
        HRESULT ( STDMETHODCALLTYPE *Move )( 
            IFramebufferOverlay * This,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY);
        
        END_INTERFACE
    } IFramebufferOverlayVtbl;

    interface IFramebufferOverlay
    {
        CONST_VTBL struct IFramebufferOverlayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IFramebufferOverlay_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IFramebufferOverlay_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IFramebufferOverlay_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IFramebufferOverlay_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IFramebufferOverlay_get_Width(This,aWidth)	\
    ( (This)->lpVtbl -> get_Width(This,aWidth) ) 

#define IFramebufferOverlay_get_Height(This,aHeight)	\
    ( (This)->lpVtbl -> get_Height(This,aHeight) ) 

#define IFramebufferOverlay_get_BitsPerPixel(This,aBitsPerPixel)	\
    ( (This)->lpVtbl -> get_BitsPerPixel(This,aBitsPerPixel) ) 

#define IFramebufferOverlay_get_BytesPerLine(This,aBytesPerLine)	\
    ( (This)->lpVtbl -> get_BytesPerLine(This,aBytesPerLine) ) 

#define IFramebufferOverlay_get_PixelFormat(This,aPixelFormat)	\
    ( (This)->lpVtbl -> get_PixelFormat(This,aPixelFormat) ) 

#define IFramebufferOverlay_get_HeightReduction(This,aHeightReduction)	\
    ( (This)->lpVtbl -> get_HeightReduction(This,aHeightReduction) ) 

#define IFramebufferOverlay_get_Overlay(This,aOverlay)	\
    ( (This)->lpVtbl -> get_Overlay(This,aOverlay) ) 

#define IFramebufferOverlay_get_WinId(This,aWinId)	\
    ( (This)->lpVtbl -> get_WinId(This,aWinId) ) 

#define IFramebufferOverlay_get_Capabilities(This,aCapabilities)	\
    ( (This)->lpVtbl -> get_Capabilities(This,aCapabilities) ) 

#define IFramebufferOverlay_NotifyUpdate(This,aX,aY,aWidth,aHeight)	\
    ( (This)->lpVtbl -> NotifyUpdate(This,aX,aY,aWidth,aHeight) ) 

#define IFramebufferOverlay_NotifyUpdateImage(This,aX,aY,aWidth,aHeight,aImage)	\
    ( (This)->lpVtbl -> NotifyUpdateImage(This,aX,aY,aWidth,aHeight,aImage) ) 

#define IFramebufferOverlay_NotifyChange(This,aScreenId,aXOrigin,aYOrigin,aWidth,aHeight)	\
    ( (This)->lpVtbl -> NotifyChange(This,aScreenId,aXOrigin,aYOrigin,aWidth,aHeight) ) 

#define IFramebufferOverlay_VideoModeSupported(This,aWidth,aHeight,aBpp,aSupported)	\
    ( (This)->lpVtbl -> VideoModeSupported(This,aWidth,aHeight,aBpp,aSupported) ) 

#define IFramebufferOverlay_GetVisibleRegion(This,aRectangles,aCount,aCountCopied)	\
    ( (This)->lpVtbl -> GetVisibleRegion(This,aRectangles,aCount,aCountCopied) ) 

#define IFramebufferOverlay_SetVisibleRegion(This,aRectangles,aCount)	\
    ( (This)->lpVtbl -> SetVisibleRegion(This,aRectangles,aCount) ) 

#define IFramebufferOverlay_ProcessVHWACommand(This,aCommand,aEnmCmd,aFromGuest)	\
    ( (This)->lpVtbl -> ProcessVHWACommand(This,aCommand,aEnmCmd,aFromGuest) ) 

#define IFramebufferOverlay_Notify3DEvent(This,aType,aData)	\
    ( (This)->lpVtbl -> Notify3DEvent(This,aType,aData) ) 


#define IFramebufferOverlay_get_X(This,aX)	\
    ( (This)->lpVtbl -> get_X(This,aX) ) 

#define IFramebufferOverlay_get_Y(This,aY)	\
    ( (This)->lpVtbl -> get_Y(This,aY) ) 

#define IFramebufferOverlay_get_Visible(This,aVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,aVisible) ) 

#define IFramebufferOverlay_put_Visible(This,aVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,aVisible) ) 

#define IFramebufferOverlay_get_Alpha(This,aAlpha)	\
    ( (This)->lpVtbl -> get_Alpha(This,aAlpha) ) 

#define IFramebufferOverlay_put_Alpha(This,aAlpha)	\
    ( (This)->lpVtbl -> put_Alpha(This,aAlpha) ) 

#define IFramebufferOverlay_Move(This,aX,aY)	\
    ( (This)->lpVtbl -> Move(This,aX,aY) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IFramebufferOverlay_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0079 */
/* [local] */ 

#define COM_FORWARD_IFramebufferOverlay_GETTER_X_TO(smth) HRESULT STDMETHODCALLTYPE get_X (ULONG * aX) { return smth get_X (aX); }
#define COM_FORWARD_IFramebufferOverlay_GETTER_X_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_GETTER_X_TO ((obj)->)
#define COM_FORWARD_IFramebufferOverlay_GETTER_X_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_GETTER_X_TO (base::)
#define COM_FORWARD_IFramebufferOverlay_GETTER_Y_TO(smth) HRESULT STDMETHODCALLTYPE get_Y (ULONG * aY) { return smth get_Y (aY); }
#define COM_FORWARD_IFramebufferOverlay_GETTER_Y_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_GETTER_Y_TO ((obj)->)
#define COM_FORWARD_IFramebufferOverlay_GETTER_Y_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_GETTER_Y_TO (base::)
#define COM_FORWARD_IFramebufferOverlay_GETTER_Visible_TO(smth) HRESULT STDMETHODCALLTYPE get_Visible (BOOL * aVisible) { return smth get_Visible (aVisible); }
#define COM_FORWARD_IFramebufferOverlay_GETTER_Visible_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_GETTER_Visible_TO ((obj)->)
#define COM_FORWARD_IFramebufferOverlay_GETTER_Visible_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_GETTER_Visible_TO (base::)
#define COM_FORWARD_IFramebufferOverlay_SETTER_Visible_TO(smth) HRESULT STDMETHODCALLTYPE put_Visible (BOOL aVisible) { return smth put_Visible (aVisible); }
#define COM_FORWARD_IFramebufferOverlay_SETTER_Visible_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_SETTER_Visible_TO ((obj)->)
#define COM_FORWARD_IFramebufferOverlay_SETTER_Visible_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_SETTER_Visible_TO (base::)
#define COM_FORWARD_IFramebufferOverlay_GETTER_Alpha_TO(smth) HRESULT STDMETHODCALLTYPE get_Alpha (ULONG * aAlpha) { return smth get_Alpha (aAlpha); }
#define COM_FORWARD_IFramebufferOverlay_GETTER_Alpha_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_GETTER_Alpha_TO ((obj)->)
#define COM_FORWARD_IFramebufferOverlay_GETTER_Alpha_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_GETTER_Alpha_TO (base::)
#define COM_FORWARD_IFramebufferOverlay_SETTER_Alpha_TO(smth) HRESULT STDMETHODCALLTYPE put_Alpha (ULONG aAlpha) { return smth put_Alpha (aAlpha); }
#define COM_FORWARD_IFramebufferOverlay_SETTER_Alpha_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_SETTER_Alpha_TO ((obj)->)
#define COM_FORWARD_IFramebufferOverlay_SETTER_Alpha_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_SETTER_Alpha_TO (base::)
#define COM_FORWARD_IFramebufferOverlay_Move_TO(smth) HRESULT STDMETHODCALLTYPE Move (ULONG aX, ULONG aY) { return smth Move (aX, aY); }
#define COM_FORWARD_IFramebufferOverlay_Move_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_Move_TO ((obj)->)
#define COM_FORWARD_IFramebufferOverlay_Move_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_Move_TO (base::)
#define COM_FORWARD_IFramebufferOverlay_TO(smth) COM_FORWARD_IFramebufferOverlay_GETTER_X_TO (smth) COM_FORWARD_IFramebufferOverlay_GETTER_Y_TO (smth) COM_FORWARD_IFramebufferOverlay_GETTER_Visible_TO (smth) COM_FORWARD_IFramebufferOverlay_SETTER_Visible_TO (smth) COM_FORWARD_IFramebufferOverlay_GETTER_Alpha_TO (smth) COM_FORWARD_IFramebufferOverlay_SETTER_Alpha_TO (smth) COM_FORWARD_IFramebufferOverlay_Move_TO (smth) 
#define COM_FORWARD_IFramebufferOverlay_TO_OBJ(obj) COM_FORWARD_IFramebufferOverlay_TO ((obj)->)
#define COM_FORWARD_IFramebufferOverlay_TO_BASE(base) COM_FORWARD_IFramebufferOverlay_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0079_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0079_v0_0_s_ifspec;

#ifndef __IGuestScreenInfo_INTERFACE_DEFINED__
#define __IGuestScreenInfo_INTERFACE_DEFINED__

/* interface IGuestScreenInfo */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestScreenInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6b2f98f8-9641-4397-854a-040439d0114b")
    IGuestScreenInfo : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ScreenId( 
            /* [retval][out] */ ULONG *aScreenId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestMonitorStatus( 
            /* [retval][out] */ GuestMonitorStatus *aGuestMonitorStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Primary( 
            /* [retval][out] */ BOOL *aPrimary) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Origin( 
            /* [retval][out] */ BOOL *aOrigin) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OriginX( 
            /* [retval][out] */ LONG *aOriginX) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OriginY( 
            /* [retval][out] */ LONG *aOriginY) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ ULONG *aWidth) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ ULONG *aHeight) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BitsPerPixel( 
            /* [retval][out] */ ULONG *aBitsPerPixel) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExtendedInfo( 
            /* [retval][out] */ BSTR *aExtendedInfo) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestScreenInfoVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestScreenInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestScreenInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestScreenInfo * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestScreenInfo * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestScreenInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestScreenInfo * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestScreenInfo * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IGuestScreenInfo, get_ScreenId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScreenId )( 
            IGuestScreenInfo * This,
            /* [retval][out] */ ULONG *aScreenId);
        
        DECLSPEC_XFGVIRT(IGuestScreenInfo, get_GuestMonitorStatus)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestMonitorStatus )( 
            IGuestScreenInfo * This,
            /* [retval][out] */ GuestMonitorStatus *aGuestMonitorStatus);
        
        DECLSPEC_XFGVIRT(IGuestScreenInfo, get_Primary)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Primary )( 
            IGuestScreenInfo * This,
            /* [retval][out] */ BOOL *aPrimary);
        
        DECLSPEC_XFGVIRT(IGuestScreenInfo, get_Origin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin )( 
            IGuestScreenInfo * This,
            /* [retval][out] */ BOOL *aOrigin);
        
        DECLSPEC_XFGVIRT(IGuestScreenInfo, get_OriginX)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OriginX )( 
            IGuestScreenInfo * This,
            /* [retval][out] */ LONG *aOriginX);
        
        DECLSPEC_XFGVIRT(IGuestScreenInfo, get_OriginY)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OriginY )( 
            IGuestScreenInfo * This,
            /* [retval][out] */ LONG *aOriginY);
        
        DECLSPEC_XFGVIRT(IGuestScreenInfo, get_Width)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IGuestScreenInfo * This,
            /* [retval][out] */ ULONG *aWidth);
        
        DECLSPEC_XFGVIRT(IGuestScreenInfo, get_Height)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IGuestScreenInfo * This,
            /* [retval][out] */ ULONG *aHeight);
        
        DECLSPEC_XFGVIRT(IGuestScreenInfo, get_BitsPerPixel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitsPerPixel )( 
            IGuestScreenInfo * This,
            /* [retval][out] */ ULONG *aBitsPerPixel);
        
        DECLSPEC_XFGVIRT(IGuestScreenInfo, get_ExtendedInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedInfo )( 
            IGuestScreenInfo * This,
            /* [retval][out] */ BSTR *aExtendedInfo);
        
        END_INTERFACE
    } IGuestScreenInfoVtbl;

    interface IGuestScreenInfo
    {
        CONST_VTBL struct IGuestScreenInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestScreenInfo_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestScreenInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestScreenInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestScreenInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestScreenInfo_get_ScreenId(This,aScreenId)	\
    ( (This)->lpVtbl -> get_ScreenId(This,aScreenId) ) 

#define IGuestScreenInfo_get_GuestMonitorStatus(This,aGuestMonitorStatus)	\
    ( (This)->lpVtbl -> get_GuestMonitorStatus(This,aGuestMonitorStatus) ) 

#define IGuestScreenInfo_get_Primary(This,aPrimary)	\
    ( (This)->lpVtbl -> get_Primary(This,aPrimary) ) 

#define IGuestScreenInfo_get_Origin(This,aOrigin)	\
    ( (This)->lpVtbl -> get_Origin(This,aOrigin) ) 

#define IGuestScreenInfo_get_OriginX(This,aOriginX)	\
    ( (This)->lpVtbl -> get_OriginX(This,aOriginX) ) 

#define IGuestScreenInfo_get_OriginY(This,aOriginY)	\
    ( (This)->lpVtbl -> get_OriginY(This,aOriginY) ) 

#define IGuestScreenInfo_get_Width(This,aWidth)	\
    ( (This)->lpVtbl -> get_Width(This,aWidth) ) 

#define IGuestScreenInfo_get_Height(This,aHeight)	\
    ( (This)->lpVtbl -> get_Height(This,aHeight) ) 

#define IGuestScreenInfo_get_BitsPerPixel(This,aBitsPerPixel)	\
    ( (This)->lpVtbl -> get_BitsPerPixel(This,aBitsPerPixel) ) 

#define IGuestScreenInfo_get_ExtendedInfo(This,aExtendedInfo)	\
    ( (This)->lpVtbl -> get_ExtendedInfo(This,aExtendedInfo) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestScreenInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0080 */
/* [local] */ 

#define COM_FORWARD_IGuestScreenInfo_GETTER_ScreenId_TO(smth) HRESULT STDMETHODCALLTYPE get_ScreenId (ULONG * aScreenId) { return smth get_ScreenId (aScreenId); }
#define COM_FORWARD_IGuestScreenInfo_GETTER_ScreenId_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_ScreenId_TO ((obj)->)
#define COM_FORWARD_IGuestScreenInfo_GETTER_ScreenId_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_ScreenId_TO (base::)
#define COM_FORWARD_IGuestScreenInfo_GETTER_GuestMonitorStatus_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestMonitorStatus (GuestMonitorStatus * aGuestMonitorStatus) { return smth get_GuestMonitorStatus (aGuestMonitorStatus); }
#define COM_FORWARD_IGuestScreenInfo_GETTER_GuestMonitorStatus_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_GuestMonitorStatus_TO ((obj)->)
#define COM_FORWARD_IGuestScreenInfo_GETTER_GuestMonitorStatus_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_GuestMonitorStatus_TO (base::)
#define COM_FORWARD_IGuestScreenInfo_GETTER_Primary_TO(smth) HRESULT STDMETHODCALLTYPE get_Primary (BOOL * aPrimary) { return smth get_Primary (aPrimary); }
#define COM_FORWARD_IGuestScreenInfo_GETTER_Primary_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_Primary_TO ((obj)->)
#define COM_FORWARD_IGuestScreenInfo_GETTER_Primary_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_Primary_TO (base::)
#define COM_FORWARD_IGuestScreenInfo_GETTER_Origin_TO(smth) HRESULT STDMETHODCALLTYPE get_Origin (BOOL * aOrigin) { return smth get_Origin (aOrigin); }
#define COM_FORWARD_IGuestScreenInfo_GETTER_Origin_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_Origin_TO ((obj)->)
#define COM_FORWARD_IGuestScreenInfo_GETTER_Origin_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_Origin_TO (base::)
#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginX_TO(smth) HRESULT STDMETHODCALLTYPE get_OriginX (LONG * aOriginX) { return smth get_OriginX (aOriginX); }
#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginX_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_OriginX_TO ((obj)->)
#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginX_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_OriginX_TO (base::)
#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginY_TO(smth) HRESULT STDMETHODCALLTYPE get_OriginY (LONG * aOriginY) { return smth get_OriginY (aOriginY); }
#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginY_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_OriginY_TO ((obj)->)
#define COM_FORWARD_IGuestScreenInfo_GETTER_OriginY_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_OriginY_TO (base::)
#define COM_FORWARD_IGuestScreenInfo_GETTER_Width_TO(smth) HRESULT STDMETHODCALLTYPE get_Width (ULONG * aWidth) { return smth get_Width (aWidth); }
#define COM_FORWARD_IGuestScreenInfo_GETTER_Width_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_Width_TO ((obj)->)
#define COM_FORWARD_IGuestScreenInfo_GETTER_Width_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_Width_TO (base::)
#define COM_FORWARD_IGuestScreenInfo_GETTER_Height_TO(smth) HRESULT STDMETHODCALLTYPE get_Height (ULONG * aHeight) { return smth get_Height (aHeight); }
#define COM_FORWARD_IGuestScreenInfo_GETTER_Height_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_Height_TO ((obj)->)
#define COM_FORWARD_IGuestScreenInfo_GETTER_Height_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_Height_TO (base::)
#define COM_FORWARD_IGuestScreenInfo_GETTER_BitsPerPixel_TO(smth) HRESULT STDMETHODCALLTYPE get_BitsPerPixel (ULONG * aBitsPerPixel) { return smth get_BitsPerPixel (aBitsPerPixel); }
#define COM_FORWARD_IGuestScreenInfo_GETTER_BitsPerPixel_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_BitsPerPixel_TO ((obj)->)
#define COM_FORWARD_IGuestScreenInfo_GETTER_BitsPerPixel_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_BitsPerPixel_TO (base::)
#define COM_FORWARD_IGuestScreenInfo_GETTER_ExtendedInfo_TO(smth) HRESULT STDMETHODCALLTYPE get_ExtendedInfo (BSTR * aExtendedInfo) { return smth get_ExtendedInfo (aExtendedInfo); }
#define COM_FORWARD_IGuestScreenInfo_GETTER_ExtendedInfo_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_GETTER_ExtendedInfo_TO ((obj)->)
#define COM_FORWARD_IGuestScreenInfo_GETTER_ExtendedInfo_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_GETTER_ExtendedInfo_TO (base::)
#define COM_FORWARD_IGuestScreenInfo_TO(smth) COM_FORWARD_IGuestScreenInfo_GETTER_ScreenId_TO (smth) COM_FORWARD_IGuestScreenInfo_GETTER_GuestMonitorStatus_TO (smth) COM_FORWARD_IGuestScreenInfo_GETTER_Primary_TO (smth) COM_FORWARD_IGuestScreenInfo_GETTER_Origin_TO (smth) COM_FORWARD_IGuestScreenInfo_GETTER_OriginX_TO (smth) COM_FORWARD_IGuestScreenInfo_GETTER_OriginY_TO (smth) COM_FORWARD_IGuestScreenInfo_GETTER_Width_TO (smth) COM_FORWARD_IGuestScreenInfo_GETTER_Height_TO (smth) COM_FORWARD_IGuestScreenInfo_GETTER_BitsPerPixel_TO (smth) COM_FORWARD_IGuestScreenInfo_GETTER_ExtendedInfo_TO (smth) 
#define COM_FORWARD_IGuestScreenInfo_TO_OBJ(obj) COM_FORWARD_IGuestScreenInfo_TO ((obj)->)
#define COM_FORWARD_IGuestScreenInfo_TO_BASE(base) COM_FORWARD_IGuestScreenInfo_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0080_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0080_v0_0_s_ifspec;

#ifndef __IDisplay_INTERFACE_DEFINED__
#define __IDisplay_INTERFACE_DEFINED__

/* interface IDisplay */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDisplay;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4680b2de-8690-11e9-b83d-5719e53cf1de")
    IDisplay : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestScreenLayout( 
            /* [retval][out] */ SAFEARRAY * *aGuestScreenLayout) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16IDisplay( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetScreenResolution( 
            /* [in] */ ULONG aScreenId,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [out] */ ULONG *aBitsPerPixel,
            /* [out] */ LONG *aXOrigin,
            /* [out] */ LONG *aYOrigin,
            /* [out] */ GuestMonitorStatus *aGuestMonitorStatus) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AttachFramebuffer( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ IFramebuffer *aFramebuffer,
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DetachFramebuffer( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ BSTR aId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryFramebuffer( 
            /* [in] */ ULONG aScreenId,
            /* [retval][out] */ IFramebuffer **aFramebuffer) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetVideoModeHint( 
            /* [in] */ ULONG aDisplay,
            /* [in] */ BOOL aEnabled,
            /* [in] */ BOOL aChangeOrigin,
            /* [in] */ LONG aOriginX,
            /* [in] */ LONG aOriginY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ ULONG aBitsPerPixel,
            /* [in] */ BOOL aNotify) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVideoModeHint( 
            /* [in] */ ULONG aDisplay,
            /* [out] */ BOOL *aEnabled,
            /* [out] */ BOOL *aChangeOrigin,
            /* [out] */ LONG *aOriginX,
            /* [out] */ LONG *aOriginY,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [out] */ ULONG *aBitsPerPixel) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSeamlessMode( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TakeScreenShot( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ BYTE *aAddress,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ BitmapFormat aBitmapFormat) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TakeScreenShotToArray( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ BitmapFormat aBitmapFormat,
            /* [retval][out] */ SAFEARRAY * *aScreenData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DrawToScreen( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ BYTE *aAddress,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InvalidateAndUpdate( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InvalidateAndUpdateScreen( 
            /* [in] */ ULONG aScreenId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CompleteVHWACommand( 
            /* [in] */ BYTE *aCommand) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ViewportChanged( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QuerySourceBitmap( 
            /* [in] */ ULONG aScreenId,
            /* [out] */ IDisplaySourceBitmap **aDisplaySourceBitmap) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NotifyScaleFactorChange( 
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aU32ScaleFactorWMultiplied,
            /* [in] */ ULONG aU32ScaleFactorHMultiplied) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NotifyHiDPIOutputPolicyChange( 
            /* [in] */ BOOL aFUnscaledHiDPI) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetScreenLayout( 
            /* [in] */ ScreenLayoutMode aScreenLayoutMode,
            /* [in] */ SAFEARRAY * aGuestScreenInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DetachScreens( 
            /* [in] */ SAFEARRAY * aScreenIds) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateGuestScreenInfo( 
            /* [in] */ ULONG aDisplay,
            /* [in] */ GuestMonitorStatus aStatus,
            /* [in] */ BOOL aPrimary,
            /* [in] */ BOOL aChangeOrigin,
            /* [in] */ LONG aOriginX,
            /* [in] */ LONG aOriginY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ ULONG aBitsPerPixel,
            /* [retval][out] */ IGuestScreenInfo **aGuestScreenInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IDisplay( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IDisplay( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IDisplay( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IDisplay( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IDisplay( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IDisplay( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IDisplay( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IDisplay( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDisplayVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDisplay * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDisplay * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDisplay * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDisplay * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDisplay * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDisplay * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDisplay * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IDisplay, get_GuestScreenLayout)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestScreenLayout )( 
            IDisplay * This,
            /* [retval][out] */ SAFEARRAY * *aGuestScreenLayout);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute1IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute2IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute3IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute4IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute5IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute6IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute7IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute8IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute9IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute10IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute11IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute12IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute13IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute14IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute15IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, get_InternalAndReservedAttribute16IDisplay)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IDisplay )( 
            IDisplay * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IDisplay, GetScreenResolution)
        HRESULT ( STDMETHODCALLTYPE *GetScreenResolution )( 
            IDisplay * This,
            /* [in] */ ULONG aScreenId,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [out] */ ULONG *aBitsPerPixel,
            /* [out] */ LONG *aXOrigin,
            /* [out] */ LONG *aYOrigin,
            /* [out] */ GuestMonitorStatus *aGuestMonitorStatus);
        
        DECLSPEC_XFGVIRT(IDisplay, AttachFramebuffer)
        HRESULT ( STDMETHODCALLTYPE *AttachFramebuffer )( 
            IDisplay * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ IFramebuffer *aFramebuffer,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IDisplay, DetachFramebuffer)
        HRESULT ( STDMETHODCALLTYPE *DetachFramebuffer )( 
            IDisplay * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ BSTR aId);
        
        DECLSPEC_XFGVIRT(IDisplay, QueryFramebuffer)
        HRESULT ( STDMETHODCALLTYPE *QueryFramebuffer )( 
            IDisplay * This,
            /* [in] */ ULONG aScreenId,
            /* [retval][out] */ IFramebuffer **aFramebuffer);
        
        DECLSPEC_XFGVIRT(IDisplay, SetVideoModeHint)
        HRESULT ( STDMETHODCALLTYPE *SetVideoModeHint )( 
            IDisplay * This,
            /* [in] */ ULONG aDisplay,
            /* [in] */ BOOL aEnabled,
            /* [in] */ BOOL aChangeOrigin,
            /* [in] */ LONG aOriginX,
            /* [in] */ LONG aOriginY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ ULONG aBitsPerPixel,
            /* [in] */ BOOL aNotify);
        
        DECLSPEC_XFGVIRT(IDisplay, GetVideoModeHint)
        HRESULT ( STDMETHODCALLTYPE *GetVideoModeHint )( 
            IDisplay * This,
            /* [in] */ ULONG aDisplay,
            /* [out] */ BOOL *aEnabled,
            /* [out] */ BOOL *aChangeOrigin,
            /* [out] */ LONG *aOriginX,
            /* [out] */ LONG *aOriginY,
            /* [out] */ ULONG *aWidth,
            /* [out] */ ULONG *aHeight,
            /* [out] */ ULONG *aBitsPerPixel);
        
        DECLSPEC_XFGVIRT(IDisplay, SetSeamlessMode)
        HRESULT ( STDMETHODCALLTYPE *SetSeamlessMode )( 
            IDisplay * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IDisplay, TakeScreenShot)
        HRESULT ( STDMETHODCALLTYPE *TakeScreenShot )( 
            IDisplay * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ BYTE *aAddress,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ BitmapFormat aBitmapFormat);
        
        DECLSPEC_XFGVIRT(IDisplay, TakeScreenShotToArray)
        HRESULT ( STDMETHODCALLTYPE *TakeScreenShotToArray )( 
            IDisplay * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ BitmapFormat aBitmapFormat,
            /* [retval][out] */ SAFEARRAY * *aScreenData);
        
        DECLSPEC_XFGVIRT(IDisplay, DrawToScreen)
        HRESULT ( STDMETHODCALLTYPE *DrawToScreen )( 
            IDisplay * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ BYTE *aAddress,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight);
        
        DECLSPEC_XFGVIRT(IDisplay, InvalidateAndUpdate)
        HRESULT ( STDMETHODCALLTYPE *InvalidateAndUpdate )( 
            IDisplay * This);
        
        DECLSPEC_XFGVIRT(IDisplay, InvalidateAndUpdateScreen)
        HRESULT ( STDMETHODCALLTYPE *InvalidateAndUpdateScreen )( 
            IDisplay * This,
            /* [in] */ ULONG aScreenId);
        
        DECLSPEC_XFGVIRT(IDisplay, CompleteVHWACommand)
        HRESULT ( STDMETHODCALLTYPE *CompleteVHWACommand )( 
            IDisplay * This,
            /* [in] */ BYTE *aCommand);
        
        DECLSPEC_XFGVIRT(IDisplay, ViewportChanged)
        HRESULT ( STDMETHODCALLTYPE *ViewportChanged )( 
            IDisplay * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aX,
            /* [in] */ ULONG aY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight);
        
        DECLSPEC_XFGVIRT(IDisplay, QuerySourceBitmap)
        HRESULT ( STDMETHODCALLTYPE *QuerySourceBitmap )( 
            IDisplay * This,
            /* [in] */ ULONG aScreenId,
            /* [out] */ IDisplaySourceBitmap **aDisplaySourceBitmap);
        
        DECLSPEC_XFGVIRT(IDisplay, NotifyScaleFactorChange)
        HRESULT ( STDMETHODCALLTYPE *NotifyScaleFactorChange )( 
            IDisplay * This,
            /* [in] */ ULONG aScreenId,
            /* [in] */ ULONG aU32ScaleFactorWMultiplied,
            /* [in] */ ULONG aU32ScaleFactorHMultiplied);
        
        DECLSPEC_XFGVIRT(IDisplay, NotifyHiDPIOutputPolicyChange)
        HRESULT ( STDMETHODCALLTYPE *NotifyHiDPIOutputPolicyChange )( 
            IDisplay * This,
            /* [in] */ BOOL aFUnscaledHiDPI);
        
        DECLSPEC_XFGVIRT(IDisplay, SetScreenLayout)
        HRESULT ( STDMETHODCALLTYPE *SetScreenLayout )( 
            IDisplay * This,
            /* [in] */ ScreenLayoutMode aScreenLayoutMode,
            /* [in] */ SAFEARRAY * aGuestScreenInfo);
        
        DECLSPEC_XFGVIRT(IDisplay, DetachScreens)
        HRESULT ( STDMETHODCALLTYPE *DetachScreens )( 
            IDisplay * This,
            /* [in] */ SAFEARRAY * aScreenIds);
        
        DECLSPEC_XFGVIRT(IDisplay, CreateGuestScreenInfo)
        HRESULT ( STDMETHODCALLTYPE *CreateGuestScreenInfo )( 
            IDisplay * This,
            /* [in] */ ULONG aDisplay,
            /* [in] */ GuestMonitorStatus aStatus,
            /* [in] */ BOOL aPrimary,
            /* [in] */ BOOL aChangeOrigin,
            /* [in] */ LONG aOriginX,
            /* [in] */ LONG aOriginY,
            /* [in] */ ULONG aWidth,
            /* [in] */ ULONG aHeight,
            /* [in] */ ULONG aBitsPerPixel,
            /* [retval][out] */ IGuestScreenInfo **aGuestScreenInfo);
        
        DECLSPEC_XFGVIRT(IDisplay, InternalAndReservedMethod1IDisplay)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IDisplay )( 
            IDisplay * This);
        
        DECLSPEC_XFGVIRT(IDisplay, InternalAndReservedMethod2IDisplay)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IDisplay )( 
            IDisplay * This);
        
        DECLSPEC_XFGVIRT(IDisplay, InternalAndReservedMethod3IDisplay)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IDisplay )( 
            IDisplay * This);
        
        DECLSPEC_XFGVIRT(IDisplay, InternalAndReservedMethod4IDisplay)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IDisplay )( 
            IDisplay * This);
        
        DECLSPEC_XFGVIRT(IDisplay, InternalAndReservedMethod5IDisplay)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IDisplay )( 
            IDisplay * This);
        
        DECLSPEC_XFGVIRT(IDisplay, InternalAndReservedMethod6IDisplay)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IDisplay )( 
            IDisplay * This);
        
        DECLSPEC_XFGVIRT(IDisplay, InternalAndReservedMethod7IDisplay)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IDisplay )( 
            IDisplay * This);
        
        DECLSPEC_XFGVIRT(IDisplay, InternalAndReservedMethod8IDisplay)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IDisplay )( 
            IDisplay * This);
        
        END_INTERFACE
    } IDisplayVtbl;

    interface IDisplay
    {
        CONST_VTBL struct IDisplayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDisplay_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDisplay_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDisplay_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDisplay_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDisplay_get_GuestScreenLayout(This,aGuestScreenLayout)	\
    ( (This)->lpVtbl -> get_GuestScreenLayout(This,aGuestScreenLayout) ) 

#define IDisplay_get_InternalAndReservedAttribute1IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute2IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute3IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute4IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute5IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute6IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute7IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute8IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute9IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute10IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute11IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute12IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute13IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute14IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute15IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IDisplay(This,aReserved) ) 

#define IDisplay_get_InternalAndReservedAttribute16IDisplay(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IDisplay(This,aReserved) ) 

#define IDisplay_GetScreenResolution(This,aScreenId,aWidth,aHeight,aBitsPerPixel,aXOrigin,aYOrigin,aGuestMonitorStatus)	\
    ( (This)->lpVtbl -> GetScreenResolution(This,aScreenId,aWidth,aHeight,aBitsPerPixel,aXOrigin,aYOrigin,aGuestMonitorStatus) ) 

#define IDisplay_AttachFramebuffer(This,aScreenId,aFramebuffer,aId)	\
    ( (This)->lpVtbl -> AttachFramebuffer(This,aScreenId,aFramebuffer,aId) ) 

#define IDisplay_DetachFramebuffer(This,aScreenId,aId)	\
    ( (This)->lpVtbl -> DetachFramebuffer(This,aScreenId,aId) ) 

#define IDisplay_QueryFramebuffer(This,aScreenId,aFramebuffer)	\
    ( (This)->lpVtbl -> QueryFramebuffer(This,aScreenId,aFramebuffer) ) 

#define IDisplay_SetVideoModeHint(This,aDisplay,aEnabled,aChangeOrigin,aOriginX,aOriginY,aWidth,aHeight,aBitsPerPixel,aNotify)	\
    ( (This)->lpVtbl -> SetVideoModeHint(This,aDisplay,aEnabled,aChangeOrigin,aOriginX,aOriginY,aWidth,aHeight,aBitsPerPixel,aNotify) ) 

#define IDisplay_GetVideoModeHint(This,aDisplay,aEnabled,aChangeOrigin,aOriginX,aOriginY,aWidth,aHeight,aBitsPerPixel)	\
    ( (This)->lpVtbl -> GetVideoModeHint(This,aDisplay,aEnabled,aChangeOrigin,aOriginX,aOriginY,aWidth,aHeight,aBitsPerPixel) ) 

#define IDisplay_SetSeamlessMode(This,aEnabled)	\
    ( (This)->lpVtbl -> SetSeamlessMode(This,aEnabled) ) 

#define IDisplay_TakeScreenShot(This,aScreenId,aAddress,aWidth,aHeight,aBitmapFormat)	\
    ( (This)->lpVtbl -> TakeScreenShot(This,aScreenId,aAddress,aWidth,aHeight,aBitmapFormat) ) 

#define IDisplay_TakeScreenShotToArray(This,aScreenId,aWidth,aHeight,aBitmapFormat,aScreenData)	\
    ( (This)->lpVtbl -> TakeScreenShotToArray(This,aScreenId,aWidth,aHeight,aBitmapFormat,aScreenData) ) 

#define IDisplay_DrawToScreen(This,aScreenId,aAddress,aX,aY,aWidth,aHeight)	\
    ( (This)->lpVtbl -> DrawToScreen(This,aScreenId,aAddress,aX,aY,aWidth,aHeight) ) 

#define IDisplay_InvalidateAndUpdate(This)	\
    ( (This)->lpVtbl -> InvalidateAndUpdate(This) ) 

#define IDisplay_InvalidateAndUpdateScreen(This,aScreenId)	\
    ( (This)->lpVtbl -> InvalidateAndUpdateScreen(This,aScreenId) ) 

#define IDisplay_CompleteVHWACommand(This,aCommand)	\
    ( (This)->lpVtbl -> CompleteVHWACommand(This,aCommand) ) 

#define IDisplay_ViewportChanged(This,aScreenId,aX,aY,aWidth,aHeight)	\
    ( (This)->lpVtbl -> ViewportChanged(This,aScreenId,aX,aY,aWidth,aHeight) ) 

#define IDisplay_QuerySourceBitmap(This,aScreenId,aDisplaySourceBitmap)	\
    ( (This)->lpVtbl -> QuerySourceBitmap(This,aScreenId,aDisplaySourceBitmap) ) 

#define IDisplay_NotifyScaleFactorChange(This,aScreenId,aU32ScaleFactorWMultiplied,aU32ScaleFactorHMultiplied)	\
    ( (This)->lpVtbl -> NotifyScaleFactorChange(This,aScreenId,aU32ScaleFactorWMultiplied,aU32ScaleFactorHMultiplied) ) 

#define IDisplay_NotifyHiDPIOutputPolicyChange(This,aFUnscaledHiDPI)	\
    ( (This)->lpVtbl -> NotifyHiDPIOutputPolicyChange(This,aFUnscaledHiDPI) ) 

#define IDisplay_SetScreenLayout(This,aScreenLayoutMode,aGuestScreenInfo)	\
    ( (This)->lpVtbl -> SetScreenLayout(This,aScreenLayoutMode,aGuestScreenInfo) ) 

#define IDisplay_DetachScreens(This,aScreenIds)	\
    ( (This)->lpVtbl -> DetachScreens(This,aScreenIds) ) 

#define IDisplay_CreateGuestScreenInfo(This,aDisplay,aStatus,aPrimary,aChangeOrigin,aOriginX,aOriginY,aWidth,aHeight,aBitsPerPixel,aGuestScreenInfo)	\
    ( (This)->lpVtbl -> CreateGuestScreenInfo(This,aDisplay,aStatus,aPrimary,aChangeOrigin,aOriginX,aOriginY,aWidth,aHeight,aBitsPerPixel,aGuestScreenInfo) ) 

#define IDisplay_InternalAndReservedMethod1IDisplay(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IDisplay(This) ) 

#define IDisplay_InternalAndReservedMethod2IDisplay(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IDisplay(This) ) 

#define IDisplay_InternalAndReservedMethod3IDisplay(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IDisplay(This) ) 

#define IDisplay_InternalAndReservedMethod4IDisplay(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IDisplay(This) ) 

#define IDisplay_InternalAndReservedMethod5IDisplay(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IDisplay(This) ) 

#define IDisplay_InternalAndReservedMethod6IDisplay(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IDisplay(This) ) 

#define IDisplay_InternalAndReservedMethod7IDisplay(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IDisplay(This) ) 

#define IDisplay_InternalAndReservedMethod8IDisplay(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IDisplay(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDisplay_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0081 */
/* [local] */ 

#define COM_FORWARD_IDisplay_GETTER_GuestScreenLayout_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestScreenLayout (SAFEARRAY * * aGuestScreenLayout) { return smth get_GuestScreenLayout (aGuestScreenLayout); }
#define COM_FORWARD_IDisplay_GETTER_GuestScreenLayout_TO_OBJ(obj) COM_FORWARD_IDisplay_GETTER_GuestScreenLayout_TO ((obj)->)
#define COM_FORWARD_IDisplay_GETTER_GuestScreenLayout_TO_BASE(base) COM_FORWARD_IDisplay_GETTER_GuestScreenLayout_TO (base::)
#define COM_FORWARD_IDisplay_GetScreenResolution_TO(smth) HRESULT STDMETHODCALLTYPE GetScreenResolution (ULONG aScreenId, ULONG * aWidth, ULONG * aHeight, ULONG * aBitsPerPixel, LONG * aXOrigin, LONG * aYOrigin, GuestMonitorStatus * aGuestMonitorStatus) { return smth GetScreenResolution (aScreenId, aWidth, aHeight, aBitsPerPixel, aXOrigin, aYOrigin, aGuestMonitorStatus); }
#define COM_FORWARD_IDisplay_GetScreenResolution_TO_OBJ(obj) COM_FORWARD_IDisplay_GetScreenResolution_TO ((obj)->)
#define COM_FORWARD_IDisplay_GetScreenResolution_TO_BASE(base) COM_FORWARD_IDisplay_GetScreenResolution_TO (base::)
#define COM_FORWARD_IDisplay_AttachFramebuffer_TO(smth) HRESULT STDMETHODCALLTYPE AttachFramebuffer (ULONG aScreenId, IFramebuffer * aFramebuffer, BSTR * aId) { return smth AttachFramebuffer (aScreenId, aFramebuffer, aId); }
#define COM_FORWARD_IDisplay_AttachFramebuffer_TO_OBJ(obj) COM_FORWARD_IDisplay_AttachFramebuffer_TO ((obj)->)
#define COM_FORWARD_IDisplay_AttachFramebuffer_TO_BASE(base) COM_FORWARD_IDisplay_AttachFramebuffer_TO (base::)
#define COM_FORWARD_IDisplay_DetachFramebuffer_TO(smth) HRESULT STDMETHODCALLTYPE DetachFramebuffer (ULONG aScreenId, BSTR aId) { return smth DetachFramebuffer (aScreenId, aId); }
#define COM_FORWARD_IDisplay_DetachFramebuffer_TO_OBJ(obj) COM_FORWARD_IDisplay_DetachFramebuffer_TO ((obj)->)
#define COM_FORWARD_IDisplay_DetachFramebuffer_TO_BASE(base) COM_FORWARD_IDisplay_DetachFramebuffer_TO (base::)
#define COM_FORWARD_IDisplay_QueryFramebuffer_TO(smth) HRESULT STDMETHODCALLTYPE QueryFramebuffer (ULONG aScreenId, IFramebuffer * * aFramebuffer) { return smth QueryFramebuffer (aScreenId, aFramebuffer); }
#define COM_FORWARD_IDisplay_QueryFramebuffer_TO_OBJ(obj) COM_FORWARD_IDisplay_QueryFramebuffer_TO ((obj)->)
#define COM_FORWARD_IDisplay_QueryFramebuffer_TO_BASE(base) COM_FORWARD_IDisplay_QueryFramebuffer_TO (base::)
#define COM_FORWARD_IDisplay_SetVideoModeHint_TO(smth) HRESULT STDMETHODCALLTYPE SetVideoModeHint (ULONG aDisplay, BOOL aEnabled, BOOL aChangeOrigin, LONG aOriginX, LONG aOriginY, ULONG aWidth, ULONG aHeight, ULONG aBitsPerPixel, BOOL aNotify) { return smth SetVideoModeHint (aDisplay, aEnabled, aChangeOrigin, aOriginX, aOriginY, aWidth, aHeight, aBitsPerPixel, aNotify); }
#define COM_FORWARD_IDisplay_SetVideoModeHint_TO_OBJ(obj) COM_FORWARD_IDisplay_SetVideoModeHint_TO ((obj)->)
#define COM_FORWARD_IDisplay_SetVideoModeHint_TO_BASE(base) COM_FORWARD_IDisplay_SetVideoModeHint_TO (base::)
#define COM_FORWARD_IDisplay_GetVideoModeHint_TO(smth) HRESULT STDMETHODCALLTYPE GetVideoModeHint (ULONG aDisplay, BOOL * aEnabled, BOOL * aChangeOrigin, LONG * aOriginX, LONG * aOriginY, ULONG * aWidth, ULONG * aHeight, ULONG * aBitsPerPixel) { return smth GetVideoModeHint (aDisplay, aEnabled, aChangeOrigin, aOriginX, aOriginY, aWidth, aHeight, aBitsPerPixel); }
#define COM_FORWARD_IDisplay_GetVideoModeHint_TO_OBJ(obj) COM_FORWARD_IDisplay_GetVideoModeHint_TO ((obj)->)
#define COM_FORWARD_IDisplay_GetVideoModeHint_TO_BASE(base) COM_FORWARD_IDisplay_GetVideoModeHint_TO (base::)
#define COM_FORWARD_IDisplay_SetSeamlessMode_TO(smth) HRESULT STDMETHODCALLTYPE SetSeamlessMode (BOOL aEnabled) { return smth SetSeamlessMode (aEnabled); }
#define COM_FORWARD_IDisplay_SetSeamlessMode_TO_OBJ(obj) COM_FORWARD_IDisplay_SetSeamlessMode_TO ((obj)->)
#define COM_FORWARD_IDisplay_SetSeamlessMode_TO_BASE(base) COM_FORWARD_IDisplay_SetSeamlessMode_TO (base::)
#define COM_FORWARD_IDisplay_TakeScreenShot_TO(smth) HRESULT STDMETHODCALLTYPE TakeScreenShot (ULONG aScreenId, BYTE * aAddress, ULONG aWidth, ULONG aHeight, BitmapFormat aBitmapFormat) { return smth TakeScreenShot (aScreenId, aAddress, aWidth, aHeight, aBitmapFormat); }
#define COM_FORWARD_IDisplay_TakeScreenShot_TO_OBJ(obj) COM_FORWARD_IDisplay_TakeScreenShot_TO ((obj)->)
#define COM_FORWARD_IDisplay_TakeScreenShot_TO_BASE(base) COM_FORWARD_IDisplay_TakeScreenShot_TO (base::)
#define COM_FORWARD_IDisplay_TakeScreenShotToArray_TO(smth) HRESULT STDMETHODCALLTYPE TakeScreenShotToArray (ULONG aScreenId, ULONG aWidth, ULONG aHeight, BitmapFormat aBitmapFormat, SAFEARRAY * * aScreenData) { return smth TakeScreenShotToArray (aScreenId, aWidth, aHeight, aBitmapFormat, aScreenData); }
#define COM_FORWARD_IDisplay_TakeScreenShotToArray_TO_OBJ(obj) COM_FORWARD_IDisplay_TakeScreenShotToArray_TO ((obj)->)
#define COM_FORWARD_IDisplay_TakeScreenShotToArray_TO_BASE(base) COM_FORWARD_IDisplay_TakeScreenShotToArray_TO (base::)
#define COM_FORWARD_IDisplay_DrawToScreen_TO(smth) HRESULT STDMETHODCALLTYPE DrawToScreen (ULONG aScreenId, BYTE * aAddress, ULONG aX, ULONG aY, ULONG aWidth, ULONG aHeight) { return smth DrawToScreen (aScreenId, aAddress, aX, aY, aWidth, aHeight); }
#define COM_FORWARD_IDisplay_DrawToScreen_TO_OBJ(obj) COM_FORWARD_IDisplay_DrawToScreen_TO ((obj)->)
#define COM_FORWARD_IDisplay_DrawToScreen_TO_BASE(base) COM_FORWARD_IDisplay_DrawToScreen_TO (base::)
#define COM_FORWARD_IDisplay_InvalidateAndUpdate_TO(smth) HRESULT STDMETHODCALLTYPE InvalidateAndUpdate() { return smth InvalidateAndUpdate(); }
#define COM_FORWARD_IDisplay_InvalidateAndUpdate_TO_OBJ(obj) COM_FORWARD_IDisplay_InvalidateAndUpdate_TO ((obj)->)
#define COM_FORWARD_IDisplay_InvalidateAndUpdate_TO_BASE(base) COM_FORWARD_IDisplay_InvalidateAndUpdate_TO (base::)
#define COM_FORWARD_IDisplay_InvalidateAndUpdateScreen_TO(smth) HRESULT STDMETHODCALLTYPE InvalidateAndUpdateScreen (ULONG aScreenId) { return smth InvalidateAndUpdateScreen (aScreenId); }
#define COM_FORWARD_IDisplay_InvalidateAndUpdateScreen_TO_OBJ(obj) COM_FORWARD_IDisplay_InvalidateAndUpdateScreen_TO ((obj)->)
#define COM_FORWARD_IDisplay_InvalidateAndUpdateScreen_TO_BASE(base) COM_FORWARD_IDisplay_InvalidateAndUpdateScreen_TO (base::)
#define COM_FORWARD_IDisplay_CompleteVHWACommand_TO(smth) HRESULT STDMETHODCALLTYPE CompleteVHWACommand (BYTE * aCommand) { return smth CompleteVHWACommand (aCommand); }
#define COM_FORWARD_IDisplay_CompleteVHWACommand_TO_OBJ(obj) COM_FORWARD_IDisplay_CompleteVHWACommand_TO ((obj)->)
#define COM_FORWARD_IDisplay_CompleteVHWACommand_TO_BASE(base) COM_FORWARD_IDisplay_CompleteVHWACommand_TO (base::)
#define COM_FORWARD_IDisplay_ViewportChanged_TO(smth) HRESULT STDMETHODCALLTYPE ViewportChanged (ULONG aScreenId, ULONG aX, ULONG aY, ULONG aWidth, ULONG aHeight) { return smth ViewportChanged (aScreenId, aX, aY, aWidth, aHeight); }
#define COM_FORWARD_IDisplay_ViewportChanged_TO_OBJ(obj) COM_FORWARD_IDisplay_ViewportChanged_TO ((obj)->)
#define COM_FORWARD_IDisplay_ViewportChanged_TO_BASE(base) COM_FORWARD_IDisplay_ViewportChanged_TO (base::)
#define COM_FORWARD_IDisplay_QuerySourceBitmap_TO(smth) HRESULT STDMETHODCALLTYPE QuerySourceBitmap (ULONG aScreenId, IDisplaySourceBitmap * * aDisplaySourceBitmap) { return smth QuerySourceBitmap (aScreenId, aDisplaySourceBitmap); }
#define COM_FORWARD_IDisplay_QuerySourceBitmap_TO_OBJ(obj) COM_FORWARD_IDisplay_QuerySourceBitmap_TO ((obj)->)
#define COM_FORWARD_IDisplay_QuerySourceBitmap_TO_BASE(base) COM_FORWARD_IDisplay_QuerySourceBitmap_TO (base::)
#define COM_FORWARD_IDisplay_NotifyScaleFactorChange_TO(smth) HRESULT STDMETHODCALLTYPE NotifyScaleFactorChange (ULONG aScreenId, ULONG aU32ScaleFactorWMultiplied, ULONG aU32ScaleFactorHMultiplied) { return smth NotifyScaleFactorChange (aScreenId, aU32ScaleFactorWMultiplied, aU32ScaleFactorHMultiplied); }
#define COM_FORWARD_IDisplay_NotifyScaleFactorChange_TO_OBJ(obj) COM_FORWARD_IDisplay_NotifyScaleFactorChange_TO ((obj)->)
#define COM_FORWARD_IDisplay_NotifyScaleFactorChange_TO_BASE(base) COM_FORWARD_IDisplay_NotifyScaleFactorChange_TO (base::)
#define COM_FORWARD_IDisplay_NotifyHiDPIOutputPolicyChange_TO(smth) HRESULT STDMETHODCALLTYPE NotifyHiDPIOutputPolicyChange (BOOL aFUnscaledHiDPI) { return smth NotifyHiDPIOutputPolicyChange (aFUnscaledHiDPI); }
#define COM_FORWARD_IDisplay_NotifyHiDPIOutputPolicyChange_TO_OBJ(obj) COM_FORWARD_IDisplay_NotifyHiDPIOutputPolicyChange_TO ((obj)->)
#define COM_FORWARD_IDisplay_NotifyHiDPIOutputPolicyChange_TO_BASE(base) COM_FORWARD_IDisplay_NotifyHiDPIOutputPolicyChange_TO (base::)
#define COM_FORWARD_IDisplay_SetScreenLayout_TO(smth) HRESULT STDMETHODCALLTYPE SetScreenLayout (ScreenLayoutMode aScreenLayoutMode, SAFEARRAY * * aGuestScreenInfo) { return smth SetScreenLayout (aScreenLayoutMode, aGuestScreenInfo); }
#define COM_FORWARD_IDisplay_SetScreenLayout_TO_OBJ(obj) COM_FORWARD_IDisplay_SetScreenLayout_TO ((obj)->)
#define COM_FORWARD_IDisplay_SetScreenLayout_TO_BASE(base) COM_FORWARD_IDisplay_SetScreenLayout_TO (base::)
#define COM_FORWARD_IDisplay_DetachScreens_TO(smth) HRESULT STDMETHODCALLTYPE DetachScreens (SAFEARRAY * * aScreenIds) { return smth DetachScreens (aScreenIds); }
#define COM_FORWARD_IDisplay_DetachScreens_TO_OBJ(obj) COM_FORWARD_IDisplay_DetachScreens_TO ((obj)->)
#define COM_FORWARD_IDisplay_DetachScreens_TO_BASE(base) COM_FORWARD_IDisplay_DetachScreens_TO (base::)
#define COM_FORWARD_IDisplay_CreateGuestScreenInfo_TO(smth) HRESULT STDMETHODCALLTYPE CreateGuestScreenInfo (ULONG aDisplay, GuestMonitorStatus aStatus, BOOL aPrimary, BOOL aChangeOrigin, LONG aOriginX, LONG aOriginY, ULONG aWidth, ULONG aHeight, ULONG aBitsPerPixel, IGuestScreenInfo * * aGuestScreenInfo) { return smth CreateGuestScreenInfo (aDisplay, aStatus, aPrimary, aChangeOrigin, aOriginX, aOriginY, aWidth, aHeight, aBitsPerPixel, aGuestScreenInfo); }
#define COM_FORWARD_IDisplay_CreateGuestScreenInfo_TO_OBJ(obj) COM_FORWARD_IDisplay_CreateGuestScreenInfo_TO ((obj)->)
#define COM_FORWARD_IDisplay_CreateGuestScreenInfo_TO_BASE(base) COM_FORWARD_IDisplay_CreateGuestScreenInfo_TO (base::)
#define COM_FORWARD_IDisplay_TO(smth) COM_FORWARD_IDisplay_GETTER_GuestScreenLayout_TO (smth) COM_FORWARD_IDisplay_GetScreenResolution_TO (smth) COM_FORWARD_IDisplay_AttachFramebuffer_TO (smth) COM_FORWARD_IDisplay_DetachFramebuffer_TO (smth) COM_FORWARD_IDisplay_QueryFramebuffer_TO (smth) COM_FORWARD_IDisplay_SetVideoModeHint_TO (smth) COM_FORWARD_IDisplay_GetVideoModeHint_TO (smth) COM_FORWARD_IDisplay_SetSeamlessMode_TO (smth) COM_FORWARD_IDisplay_TakeScreenShot_TO (smth) COM_FORWARD_IDisplay_TakeScreenShotToArray_TO (smth) COM_FORWARD_IDisplay_DrawToScreen_TO (smth) COM_FORWARD_IDisplay_InvalidateAndUpdate_TO (smth) COM_FORWARD_IDisplay_InvalidateAndUpdateScreen_TO (smth) COM_FORWARD_IDisplay_CompleteVHWACommand_TO (smth) COM_FORWARD_IDisplay_ViewportChanged_TO (smth) COM_FORWARD_IDisplay_QuerySourceBitmap_TO (smth) COM_FORWARD_IDisplay_NotifyScaleFactorChange_TO (smth) COM_FORWARD_IDisplay_NotifyHiDPIOutputPolicyChange_TO (smth) COM_FORWARD_IDisplay_SetScreenLayout_TO (smth) COM_FORWARD_IDisplay_DetachScreens_TO (smth) COM_FORWARD_IDisplay_CreateGuestScreenInfo_TO (smth) 
#define COM_FORWARD_IDisplay_TO_OBJ(obj) COM_FORWARD_IDisplay_TO ((obj)->)
#define COM_FORWARD_IDisplay_TO_BASE(base) COM_FORWARD_IDisplay_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0081_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0081_v0_0_s_ifspec;

#ifndef __INetworkAdapter_INTERFACE_DEFINED__
#define __INetworkAdapter_INTERFACE_DEFINED__

/* interface INetworkAdapter */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INetworkAdapter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("dcf47a1d-ed70-4db8-9a4b-2646bd166905")
    INetworkAdapter : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdapterType( 
            /* [retval][out] */ NetworkAdapterType *aAdapterType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AdapterType( 
            /* [in] */ NetworkAdapterType aAdapterType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Slot( 
            /* [retval][out] */ ULONG *aSlot) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MACAddress( 
            /* [retval][out] */ BSTR *aMACAddress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MACAddress( 
            /* [in] */ BSTR aMACAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AttachmentType( 
            /* [retval][out] */ NetworkAttachmentType *aAttachmentType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AttachmentType( 
            /* [in] */ NetworkAttachmentType aAttachmentType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BridgedInterface( 
            /* [retval][out] */ BSTR *aBridgedInterface) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BridgedInterface( 
            /* [in] */ BSTR aBridgedInterface) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostOnlyInterface( 
            /* [retval][out] */ BSTR *aHostOnlyInterface) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HostOnlyInterface( 
            /* [in] */ BSTR aHostOnlyInterface) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostOnlyNetwork( 
            /* [retval][out] */ BSTR *aHostOnlyNetwork) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HostOnlyNetwork( 
            /* [in] */ BSTR aHostOnlyNetwork) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalNetwork( 
            /* [retval][out] */ BSTR *aInternalNetwork) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InternalNetwork( 
            /* [in] */ BSTR aInternalNetwork) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NATNetwork( 
            /* [retval][out] */ BSTR *aNATNetwork) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NATNetwork( 
            /* [in] */ BSTR aNATNetwork) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GenericDriver( 
            /* [retval][out] */ BSTR *aGenericDriver) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GenericDriver( 
            /* [in] */ BSTR aGenericDriver) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CloudNetwork( 
            /* [retval][out] */ BSTR *aCloudNetwork) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CloudNetwork( 
            /* [in] */ BSTR aCloudNetwork) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CableConnected( 
            /* [retval][out] */ BOOL *aCableConnected) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CableConnected( 
            /* [in] */ BOOL aCableConnected) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LineSpeed( 
            /* [retval][out] */ ULONG *aLineSpeed) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LineSpeed( 
            /* [in] */ ULONG aLineSpeed) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PromiscModePolicy( 
            /* [retval][out] */ NetworkAdapterPromiscModePolicy *aPromiscModePolicy) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PromiscModePolicy( 
            /* [in] */ NetworkAdapterPromiscModePolicy aPromiscModePolicy) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TraceEnabled( 
            /* [retval][out] */ BOOL *aTraceEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TraceEnabled( 
            /* [in] */ BOOL aTraceEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TraceFile( 
            /* [retval][out] */ BSTR *aTraceFile) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TraceFile( 
            /* [in] */ BSTR aTraceFile) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NATEngine( 
            /* [retval][out] */ INATEngine **aNATEngine) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BootPriority( 
            /* [retval][out] */ ULONG *aBootPriority) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BootPriority( 
            /* [in] */ ULONG aBootPriority) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BandwidthGroup( 
            /* [retval][out] */ IBandwidthGroup **aBandwidthGroup) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BandwidthGroup( 
            /* [in] */ IBandwidthGroup *aBandwidthGroup) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1INetworkAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2INetworkAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3INetworkAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4INetworkAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5INetworkAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6INetworkAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7INetworkAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8INetworkAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProperty( 
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetProperty( 
            /* [in] */ BSTR aKey,
            /* [in] */ BSTR aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProperties( 
            /* [in] */ BSTR aNames,
            /* [out] */ SAFEARRAY * *aReturnNames,
            /* [retval][out] */ SAFEARRAY * *aReturnValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1INetworkAdapter( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2INetworkAdapter( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3INetworkAdapter( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4INetworkAdapter( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INetworkAdapterVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INetworkAdapter * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INetworkAdapter * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INetworkAdapter * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INetworkAdapter * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INetworkAdapter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INetworkAdapter * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INetworkAdapter * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_AdapterType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdapterType )( 
            INetworkAdapter * This,
            /* [retval][out] */ NetworkAdapterType *aAdapterType);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_AdapterType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AdapterType )( 
            INetworkAdapter * This,
            /* [in] */ NetworkAdapterType aAdapterType);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_Slot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Slot )( 
            INetworkAdapter * This,
            /* [retval][out] */ ULONG *aSlot);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            INetworkAdapter * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            INetworkAdapter * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_MACAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MACAddress )( 
            INetworkAdapter * This,
            /* [retval][out] */ BSTR *aMACAddress);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_MACAddress)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MACAddress )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aMACAddress);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_AttachmentType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttachmentType )( 
            INetworkAdapter * This,
            /* [retval][out] */ NetworkAttachmentType *aAttachmentType);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_AttachmentType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AttachmentType )( 
            INetworkAdapter * This,
            /* [in] */ NetworkAttachmentType aAttachmentType);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_BridgedInterface)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BridgedInterface )( 
            INetworkAdapter * This,
            /* [retval][out] */ BSTR *aBridgedInterface);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_BridgedInterface)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BridgedInterface )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aBridgedInterface);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_HostOnlyInterface)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostOnlyInterface )( 
            INetworkAdapter * This,
            /* [retval][out] */ BSTR *aHostOnlyInterface);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_HostOnlyInterface)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HostOnlyInterface )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aHostOnlyInterface);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_HostOnlyNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostOnlyNetwork )( 
            INetworkAdapter * This,
            /* [retval][out] */ BSTR *aHostOnlyNetwork);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_HostOnlyNetwork)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HostOnlyNetwork )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aHostOnlyNetwork);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_InternalNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalNetwork )( 
            INetworkAdapter * This,
            /* [retval][out] */ BSTR *aInternalNetwork);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_InternalNetwork)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_InternalNetwork )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aInternalNetwork);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_NATNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NATNetwork )( 
            INetworkAdapter * This,
            /* [retval][out] */ BSTR *aNATNetwork);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_NATNetwork)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NATNetwork )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aNATNetwork);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_GenericDriver)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenericDriver )( 
            INetworkAdapter * This,
            /* [retval][out] */ BSTR *aGenericDriver);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_GenericDriver)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenericDriver )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aGenericDriver);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_CloudNetwork)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CloudNetwork )( 
            INetworkAdapter * This,
            /* [retval][out] */ BSTR *aCloudNetwork);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_CloudNetwork)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CloudNetwork )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aCloudNetwork);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_CableConnected)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CableConnected )( 
            INetworkAdapter * This,
            /* [retval][out] */ BOOL *aCableConnected);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_CableConnected)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CableConnected )( 
            INetworkAdapter * This,
            /* [in] */ BOOL aCableConnected);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_LineSpeed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineSpeed )( 
            INetworkAdapter * This,
            /* [retval][out] */ ULONG *aLineSpeed);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_LineSpeed)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineSpeed )( 
            INetworkAdapter * This,
            /* [in] */ ULONG aLineSpeed);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_PromiscModePolicy)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PromiscModePolicy )( 
            INetworkAdapter * This,
            /* [retval][out] */ NetworkAdapterPromiscModePolicy *aPromiscModePolicy);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_PromiscModePolicy)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PromiscModePolicy )( 
            INetworkAdapter * This,
            /* [in] */ NetworkAdapterPromiscModePolicy aPromiscModePolicy);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_TraceEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TraceEnabled )( 
            INetworkAdapter * This,
            /* [retval][out] */ BOOL *aTraceEnabled);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_TraceEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TraceEnabled )( 
            INetworkAdapter * This,
            /* [in] */ BOOL aTraceEnabled);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_TraceFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TraceFile )( 
            INetworkAdapter * This,
            /* [retval][out] */ BSTR *aTraceFile);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_TraceFile)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TraceFile )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aTraceFile);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_NATEngine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NATEngine )( 
            INetworkAdapter * This,
            /* [retval][out] */ INATEngine **aNATEngine);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_BootPriority)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BootPriority )( 
            INetworkAdapter * This,
            /* [retval][out] */ ULONG *aBootPriority);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_BootPriority)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BootPriority )( 
            INetworkAdapter * This,
            /* [in] */ ULONG aBootPriority);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_BandwidthGroup)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BandwidthGroup )( 
            INetworkAdapter * This,
            /* [retval][out] */ IBandwidthGroup **aBandwidthGroup);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, put_BandwidthGroup)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BandwidthGroup )( 
            INetworkAdapter * This,
            /* [in] */ IBandwidthGroup *aBandwidthGroup);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_InternalAndReservedAttribute1INetworkAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1INetworkAdapter )( 
            INetworkAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_InternalAndReservedAttribute2INetworkAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2INetworkAdapter )( 
            INetworkAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_InternalAndReservedAttribute3INetworkAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3INetworkAdapter )( 
            INetworkAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_InternalAndReservedAttribute4INetworkAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4INetworkAdapter )( 
            INetworkAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_InternalAndReservedAttribute5INetworkAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5INetworkAdapter )( 
            INetworkAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_InternalAndReservedAttribute6INetworkAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6INetworkAdapter )( 
            INetworkAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_InternalAndReservedAttribute7INetworkAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7INetworkAdapter )( 
            INetworkAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, get_InternalAndReservedAttribute8INetworkAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8INetworkAdapter )( 
            INetworkAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, GetProperty)
        HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, SetProperty)
        HRESULT ( STDMETHODCALLTYPE *SetProperty )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aKey,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, GetProperties)
        HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
            INetworkAdapter * This,
            /* [in] */ BSTR aNames,
            /* [out] */ SAFEARRAY * *aReturnNames,
            /* [retval][out] */ SAFEARRAY * *aReturnValues);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, InternalAndReservedMethod1INetworkAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1INetworkAdapter )( 
            INetworkAdapter * This);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, InternalAndReservedMethod2INetworkAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2INetworkAdapter )( 
            INetworkAdapter * This);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, InternalAndReservedMethod3INetworkAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3INetworkAdapter )( 
            INetworkAdapter * This);
        
        DECLSPEC_XFGVIRT(INetworkAdapter, InternalAndReservedMethod4INetworkAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4INetworkAdapter )( 
            INetworkAdapter * This);
        
        END_INTERFACE
    } INetworkAdapterVtbl;

    interface INetworkAdapter
    {
        CONST_VTBL struct INetworkAdapterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INetworkAdapter_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INetworkAdapter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INetworkAdapter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INetworkAdapter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INetworkAdapter_get_AdapterType(This,aAdapterType)	\
    ( (This)->lpVtbl -> get_AdapterType(This,aAdapterType) ) 

#define INetworkAdapter_put_AdapterType(This,aAdapterType)	\
    ( (This)->lpVtbl -> put_AdapterType(This,aAdapterType) ) 

#define INetworkAdapter_get_Slot(This,aSlot)	\
    ( (This)->lpVtbl -> get_Slot(This,aSlot) ) 

#define INetworkAdapter_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define INetworkAdapter_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define INetworkAdapter_get_MACAddress(This,aMACAddress)	\
    ( (This)->lpVtbl -> get_MACAddress(This,aMACAddress) ) 

#define INetworkAdapter_put_MACAddress(This,aMACAddress)	\
    ( (This)->lpVtbl -> put_MACAddress(This,aMACAddress) ) 

#define INetworkAdapter_get_AttachmentType(This,aAttachmentType)	\
    ( (This)->lpVtbl -> get_AttachmentType(This,aAttachmentType) ) 

#define INetworkAdapter_put_AttachmentType(This,aAttachmentType)	\
    ( (This)->lpVtbl -> put_AttachmentType(This,aAttachmentType) ) 

#define INetworkAdapter_get_BridgedInterface(This,aBridgedInterface)	\
    ( (This)->lpVtbl -> get_BridgedInterface(This,aBridgedInterface) ) 

#define INetworkAdapter_put_BridgedInterface(This,aBridgedInterface)	\
    ( (This)->lpVtbl -> put_BridgedInterface(This,aBridgedInterface) ) 

#define INetworkAdapter_get_HostOnlyInterface(This,aHostOnlyInterface)	\
    ( (This)->lpVtbl -> get_HostOnlyInterface(This,aHostOnlyInterface) ) 

#define INetworkAdapter_put_HostOnlyInterface(This,aHostOnlyInterface)	\
    ( (This)->lpVtbl -> put_HostOnlyInterface(This,aHostOnlyInterface) ) 

#define INetworkAdapter_get_HostOnlyNetwork(This,aHostOnlyNetwork)	\
    ( (This)->lpVtbl -> get_HostOnlyNetwork(This,aHostOnlyNetwork) ) 

#define INetworkAdapter_put_HostOnlyNetwork(This,aHostOnlyNetwork)	\
    ( (This)->lpVtbl -> put_HostOnlyNetwork(This,aHostOnlyNetwork) ) 

#define INetworkAdapter_get_InternalNetwork(This,aInternalNetwork)	\
    ( (This)->lpVtbl -> get_InternalNetwork(This,aInternalNetwork) ) 

#define INetworkAdapter_put_InternalNetwork(This,aInternalNetwork)	\
    ( (This)->lpVtbl -> put_InternalNetwork(This,aInternalNetwork) ) 

#define INetworkAdapter_get_NATNetwork(This,aNATNetwork)	\
    ( (This)->lpVtbl -> get_NATNetwork(This,aNATNetwork) ) 

#define INetworkAdapter_put_NATNetwork(This,aNATNetwork)	\
    ( (This)->lpVtbl -> put_NATNetwork(This,aNATNetwork) ) 

#define INetworkAdapter_get_GenericDriver(This,aGenericDriver)	\
    ( (This)->lpVtbl -> get_GenericDriver(This,aGenericDriver) ) 

#define INetworkAdapter_put_GenericDriver(This,aGenericDriver)	\
    ( (This)->lpVtbl -> put_GenericDriver(This,aGenericDriver) ) 

#define INetworkAdapter_get_CloudNetwork(This,aCloudNetwork)	\
    ( (This)->lpVtbl -> get_CloudNetwork(This,aCloudNetwork) ) 

#define INetworkAdapter_put_CloudNetwork(This,aCloudNetwork)	\
    ( (This)->lpVtbl -> put_CloudNetwork(This,aCloudNetwork) ) 

#define INetworkAdapter_get_CableConnected(This,aCableConnected)	\
    ( (This)->lpVtbl -> get_CableConnected(This,aCableConnected) ) 

#define INetworkAdapter_put_CableConnected(This,aCableConnected)	\
    ( (This)->lpVtbl -> put_CableConnected(This,aCableConnected) ) 

#define INetworkAdapter_get_LineSpeed(This,aLineSpeed)	\
    ( (This)->lpVtbl -> get_LineSpeed(This,aLineSpeed) ) 

#define INetworkAdapter_put_LineSpeed(This,aLineSpeed)	\
    ( (This)->lpVtbl -> put_LineSpeed(This,aLineSpeed) ) 

#define INetworkAdapter_get_PromiscModePolicy(This,aPromiscModePolicy)	\
    ( (This)->lpVtbl -> get_PromiscModePolicy(This,aPromiscModePolicy) ) 

#define INetworkAdapter_put_PromiscModePolicy(This,aPromiscModePolicy)	\
    ( (This)->lpVtbl -> put_PromiscModePolicy(This,aPromiscModePolicy) ) 

#define INetworkAdapter_get_TraceEnabled(This,aTraceEnabled)	\
    ( (This)->lpVtbl -> get_TraceEnabled(This,aTraceEnabled) ) 

#define INetworkAdapter_put_TraceEnabled(This,aTraceEnabled)	\
    ( (This)->lpVtbl -> put_TraceEnabled(This,aTraceEnabled) ) 

#define INetworkAdapter_get_TraceFile(This,aTraceFile)	\
    ( (This)->lpVtbl -> get_TraceFile(This,aTraceFile) ) 

#define INetworkAdapter_put_TraceFile(This,aTraceFile)	\
    ( (This)->lpVtbl -> put_TraceFile(This,aTraceFile) ) 

#define INetworkAdapter_get_NATEngine(This,aNATEngine)	\
    ( (This)->lpVtbl -> get_NATEngine(This,aNATEngine) ) 

#define INetworkAdapter_get_BootPriority(This,aBootPriority)	\
    ( (This)->lpVtbl -> get_BootPriority(This,aBootPriority) ) 

#define INetworkAdapter_put_BootPriority(This,aBootPriority)	\
    ( (This)->lpVtbl -> put_BootPriority(This,aBootPriority) ) 

#define INetworkAdapter_get_BandwidthGroup(This,aBandwidthGroup)	\
    ( (This)->lpVtbl -> get_BandwidthGroup(This,aBandwidthGroup) ) 

#define INetworkAdapter_put_BandwidthGroup(This,aBandwidthGroup)	\
    ( (This)->lpVtbl -> put_BandwidthGroup(This,aBandwidthGroup) ) 

#define INetworkAdapter_get_InternalAndReservedAttribute1INetworkAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1INetworkAdapter(This,aReserved) ) 

#define INetworkAdapter_get_InternalAndReservedAttribute2INetworkAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2INetworkAdapter(This,aReserved) ) 

#define INetworkAdapter_get_InternalAndReservedAttribute3INetworkAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3INetworkAdapter(This,aReserved) ) 

#define INetworkAdapter_get_InternalAndReservedAttribute4INetworkAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4INetworkAdapter(This,aReserved) ) 

#define INetworkAdapter_get_InternalAndReservedAttribute5INetworkAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5INetworkAdapter(This,aReserved) ) 

#define INetworkAdapter_get_InternalAndReservedAttribute6INetworkAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6INetworkAdapter(This,aReserved) ) 

#define INetworkAdapter_get_InternalAndReservedAttribute7INetworkAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7INetworkAdapter(This,aReserved) ) 

#define INetworkAdapter_get_InternalAndReservedAttribute8INetworkAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8INetworkAdapter(This,aReserved) ) 

#define INetworkAdapter_GetProperty(This,aKey,aValue)	\
    ( (This)->lpVtbl -> GetProperty(This,aKey,aValue) ) 

#define INetworkAdapter_SetProperty(This,aKey,aValue)	\
    ( (This)->lpVtbl -> SetProperty(This,aKey,aValue) ) 

#define INetworkAdapter_GetProperties(This,aNames,aReturnNames,aReturnValues)	\
    ( (This)->lpVtbl -> GetProperties(This,aNames,aReturnNames,aReturnValues) ) 

#define INetworkAdapter_InternalAndReservedMethod1INetworkAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1INetworkAdapter(This) ) 

#define INetworkAdapter_InternalAndReservedMethod2INetworkAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2INetworkAdapter(This) ) 

#define INetworkAdapter_InternalAndReservedMethod3INetworkAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3INetworkAdapter(This) ) 

#define INetworkAdapter_InternalAndReservedMethod4INetworkAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4INetworkAdapter(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INetworkAdapter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0082 */
/* [local] */ 

#define COM_FORWARD_INetworkAdapter_GETTER_AdapterType_TO(smth) HRESULT STDMETHODCALLTYPE get_AdapterType (NetworkAdapterType * aAdapterType) { return smth get_AdapterType (aAdapterType); }
#define COM_FORWARD_INetworkAdapter_GETTER_AdapterType_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_AdapterType_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_AdapterType_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_AdapterType_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_AdapterType_TO(smth) HRESULT STDMETHODCALLTYPE put_AdapterType (NetworkAdapterType aAdapterType) { return smth put_AdapterType (aAdapterType); }
#define COM_FORWARD_INetworkAdapter_SETTER_AdapterType_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_AdapterType_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_AdapterType_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_AdapterType_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_Slot_TO(smth) HRESULT STDMETHODCALLTYPE get_Slot (ULONG * aSlot) { return smth get_Slot (aSlot); }
#define COM_FORWARD_INetworkAdapter_GETTER_Slot_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_Slot_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_Slot_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_Slot_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_INetworkAdapter_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_Enabled_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_Enabled_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_INetworkAdapter_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_Enabled_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_Enabled_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_MACAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_MACAddress (BSTR * aMACAddress) { return smth get_MACAddress (aMACAddress); }
#define COM_FORWARD_INetworkAdapter_GETTER_MACAddress_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_MACAddress_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_MACAddress_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_MACAddress_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_MACAddress_TO(smth) HRESULT STDMETHODCALLTYPE put_MACAddress (BSTR aMACAddress) { return smth put_MACAddress (aMACAddress); }
#define COM_FORWARD_INetworkAdapter_SETTER_MACAddress_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_MACAddress_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_MACAddress_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_MACAddress_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_AttachmentType_TO(smth) HRESULT STDMETHODCALLTYPE get_AttachmentType (NetworkAttachmentType * aAttachmentType) { return smth get_AttachmentType (aAttachmentType); }
#define COM_FORWARD_INetworkAdapter_GETTER_AttachmentType_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_AttachmentType_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_AttachmentType_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_AttachmentType_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_AttachmentType_TO(smth) HRESULT STDMETHODCALLTYPE put_AttachmentType (NetworkAttachmentType aAttachmentType) { return smth put_AttachmentType (aAttachmentType); }
#define COM_FORWARD_INetworkAdapter_SETTER_AttachmentType_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_AttachmentType_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_AttachmentType_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_AttachmentType_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_BridgedInterface_TO(smth) HRESULT STDMETHODCALLTYPE get_BridgedInterface (BSTR * aBridgedInterface) { return smth get_BridgedInterface (aBridgedInterface); }
#define COM_FORWARD_INetworkAdapter_GETTER_BridgedInterface_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_BridgedInterface_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_BridgedInterface_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_BridgedInterface_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_BridgedInterface_TO(smth) HRESULT STDMETHODCALLTYPE put_BridgedInterface (BSTR aBridgedInterface) { return smth put_BridgedInterface (aBridgedInterface); }
#define COM_FORWARD_INetworkAdapter_SETTER_BridgedInterface_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_BridgedInterface_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_BridgedInterface_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_BridgedInterface_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyInterface_TO(smth) HRESULT STDMETHODCALLTYPE get_HostOnlyInterface (BSTR * aHostOnlyInterface) { return smth get_HostOnlyInterface (aHostOnlyInterface); }
#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyInterface_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_HostOnlyInterface_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyInterface_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_HostOnlyInterface_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyInterface_TO(smth) HRESULT STDMETHODCALLTYPE put_HostOnlyInterface (BSTR aHostOnlyInterface) { return smth put_HostOnlyInterface (aHostOnlyInterface); }
#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyInterface_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_HostOnlyInterface_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyInterface_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_HostOnlyInterface_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyNetwork_TO(smth) HRESULT STDMETHODCALLTYPE get_HostOnlyNetwork (BSTR * aHostOnlyNetwork) { return smth get_HostOnlyNetwork (aHostOnlyNetwork); }
#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_HostOnlyNetwork_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_HostOnlyNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_HostOnlyNetwork_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyNetwork_TO(smth) HRESULT STDMETHODCALLTYPE put_HostOnlyNetwork (BSTR aHostOnlyNetwork) { return smth put_HostOnlyNetwork (aHostOnlyNetwork); }
#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_HostOnlyNetwork_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_HostOnlyNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_HostOnlyNetwork_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_InternalNetwork_TO(smth) HRESULT STDMETHODCALLTYPE get_InternalNetwork (BSTR * aInternalNetwork) { return smth get_InternalNetwork (aInternalNetwork); }
#define COM_FORWARD_INetworkAdapter_GETTER_InternalNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_InternalNetwork_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_InternalNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_InternalNetwork_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_InternalNetwork_TO(smth) HRESULT STDMETHODCALLTYPE put_InternalNetwork (BSTR aInternalNetwork) { return smth put_InternalNetwork (aInternalNetwork); }
#define COM_FORWARD_INetworkAdapter_SETTER_InternalNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_InternalNetwork_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_InternalNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_InternalNetwork_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_NATNetwork_TO(smth) HRESULT STDMETHODCALLTYPE get_NATNetwork (BSTR * aNATNetwork) { return smth get_NATNetwork (aNATNetwork); }
#define COM_FORWARD_INetworkAdapter_GETTER_NATNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_NATNetwork_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_NATNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_NATNetwork_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_NATNetwork_TO(smth) HRESULT STDMETHODCALLTYPE put_NATNetwork (BSTR aNATNetwork) { return smth put_NATNetwork (aNATNetwork); }
#define COM_FORWARD_INetworkAdapter_SETTER_NATNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_NATNetwork_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_NATNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_NATNetwork_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_GenericDriver_TO(smth) HRESULT STDMETHODCALLTYPE get_GenericDriver (BSTR * aGenericDriver) { return smth get_GenericDriver (aGenericDriver); }
#define COM_FORWARD_INetworkAdapter_GETTER_GenericDriver_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_GenericDriver_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_GenericDriver_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_GenericDriver_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_GenericDriver_TO(smth) HRESULT STDMETHODCALLTYPE put_GenericDriver (BSTR aGenericDriver) { return smth put_GenericDriver (aGenericDriver); }
#define COM_FORWARD_INetworkAdapter_SETTER_GenericDriver_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_GenericDriver_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_GenericDriver_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_GenericDriver_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_CloudNetwork_TO(smth) HRESULT STDMETHODCALLTYPE get_CloudNetwork (BSTR * aCloudNetwork) { return smth get_CloudNetwork (aCloudNetwork); }
#define COM_FORWARD_INetworkAdapter_GETTER_CloudNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_CloudNetwork_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_CloudNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_CloudNetwork_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_CloudNetwork_TO(smth) HRESULT STDMETHODCALLTYPE put_CloudNetwork (BSTR aCloudNetwork) { return smth put_CloudNetwork (aCloudNetwork); }
#define COM_FORWARD_INetworkAdapter_SETTER_CloudNetwork_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_CloudNetwork_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_CloudNetwork_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_CloudNetwork_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_CableConnected_TO(smth) HRESULT STDMETHODCALLTYPE get_CableConnected (BOOL * aCableConnected) { return smth get_CableConnected (aCableConnected); }
#define COM_FORWARD_INetworkAdapter_GETTER_CableConnected_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_CableConnected_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_CableConnected_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_CableConnected_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_CableConnected_TO(smth) HRESULT STDMETHODCALLTYPE put_CableConnected (BOOL aCableConnected) { return smth put_CableConnected (aCableConnected); }
#define COM_FORWARD_INetworkAdapter_SETTER_CableConnected_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_CableConnected_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_CableConnected_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_CableConnected_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_LineSpeed_TO(smth) HRESULT STDMETHODCALLTYPE get_LineSpeed (ULONG * aLineSpeed) { return smth get_LineSpeed (aLineSpeed); }
#define COM_FORWARD_INetworkAdapter_GETTER_LineSpeed_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_LineSpeed_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_LineSpeed_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_LineSpeed_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_LineSpeed_TO(smth) HRESULT STDMETHODCALLTYPE put_LineSpeed (ULONG aLineSpeed) { return smth put_LineSpeed (aLineSpeed); }
#define COM_FORWARD_INetworkAdapter_SETTER_LineSpeed_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_LineSpeed_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_LineSpeed_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_LineSpeed_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_PromiscModePolicy_TO(smth) HRESULT STDMETHODCALLTYPE get_PromiscModePolicy (NetworkAdapterPromiscModePolicy * aPromiscModePolicy) { return smth get_PromiscModePolicy (aPromiscModePolicy); }
#define COM_FORWARD_INetworkAdapter_GETTER_PromiscModePolicy_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_PromiscModePolicy_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_PromiscModePolicy_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_PromiscModePolicy_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_PromiscModePolicy_TO(smth) HRESULT STDMETHODCALLTYPE put_PromiscModePolicy (NetworkAdapterPromiscModePolicy aPromiscModePolicy) { return smth put_PromiscModePolicy (aPromiscModePolicy); }
#define COM_FORWARD_INetworkAdapter_SETTER_PromiscModePolicy_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_PromiscModePolicy_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_PromiscModePolicy_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_PromiscModePolicy_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_TraceEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_TraceEnabled (BOOL * aTraceEnabled) { return smth get_TraceEnabled (aTraceEnabled); }
#define COM_FORWARD_INetworkAdapter_GETTER_TraceEnabled_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_TraceEnabled_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_TraceEnabled_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_TraceEnabled_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_TraceEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_TraceEnabled (BOOL aTraceEnabled) { return smth put_TraceEnabled (aTraceEnabled); }
#define COM_FORWARD_INetworkAdapter_SETTER_TraceEnabled_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_TraceEnabled_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_TraceEnabled_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_TraceEnabled_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_TraceFile_TO(smth) HRESULT STDMETHODCALLTYPE get_TraceFile (BSTR * aTraceFile) { return smth get_TraceFile (aTraceFile); }
#define COM_FORWARD_INetworkAdapter_GETTER_TraceFile_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_TraceFile_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_TraceFile_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_TraceFile_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_TraceFile_TO(smth) HRESULT STDMETHODCALLTYPE put_TraceFile (BSTR aTraceFile) { return smth put_TraceFile (aTraceFile); }
#define COM_FORWARD_INetworkAdapter_SETTER_TraceFile_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_TraceFile_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_TraceFile_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_TraceFile_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_NATEngine_TO(smth) HRESULT STDMETHODCALLTYPE get_NATEngine (INATEngine * * aNATEngine) { return smth get_NATEngine (aNATEngine); }
#define COM_FORWARD_INetworkAdapter_GETTER_NATEngine_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_NATEngine_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_NATEngine_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_NATEngine_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_BootPriority_TO(smth) HRESULT STDMETHODCALLTYPE get_BootPriority (ULONG * aBootPriority) { return smth get_BootPriority (aBootPriority); }
#define COM_FORWARD_INetworkAdapter_GETTER_BootPriority_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_BootPriority_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_BootPriority_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_BootPriority_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_BootPriority_TO(smth) HRESULT STDMETHODCALLTYPE put_BootPriority (ULONG aBootPriority) { return smth put_BootPriority (aBootPriority); }
#define COM_FORWARD_INetworkAdapter_SETTER_BootPriority_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_BootPriority_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_BootPriority_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_BootPriority_TO (base::)
#define COM_FORWARD_INetworkAdapter_GETTER_BandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE get_BandwidthGroup (IBandwidthGroup * * aBandwidthGroup) { return smth get_BandwidthGroup (aBandwidthGroup); }
#define COM_FORWARD_INetworkAdapter_GETTER_BandwidthGroup_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GETTER_BandwidthGroup_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GETTER_BandwidthGroup_TO_BASE(base) COM_FORWARD_INetworkAdapter_GETTER_BandwidthGroup_TO (base::)
#define COM_FORWARD_INetworkAdapter_SETTER_BandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE put_BandwidthGroup (IBandwidthGroup * aBandwidthGroup) { return smth put_BandwidthGroup (aBandwidthGroup); }
#define COM_FORWARD_INetworkAdapter_SETTER_BandwidthGroup_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SETTER_BandwidthGroup_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SETTER_BandwidthGroup_TO_BASE(base) COM_FORWARD_INetworkAdapter_SETTER_BandwidthGroup_TO (base::)
#define COM_FORWARD_INetworkAdapter_GetProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetProperty (BSTR aKey, BSTR * aValue) { return smth GetProperty (aKey, aValue); }
#define COM_FORWARD_INetworkAdapter_GetProperty_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GetProperty_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GetProperty_TO_BASE(base) COM_FORWARD_INetworkAdapter_GetProperty_TO (base::)
#define COM_FORWARD_INetworkAdapter_SetProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetProperty (BSTR aKey, BSTR aValue) { return smth SetProperty (aKey, aValue); }
#define COM_FORWARD_INetworkAdapter_SetProperty_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_SetProperty_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_SetProperty_TO_BASE(base) COM_FORWARD_INetworkAdapter_SetProperty_TO (base::)
#define COM_FORWARD_INetworkAdapter_GetProperties_TO(smth) HRESULT STDMETHODCALLTYPE GetProperties (BSTR aNames, SAFEARRAY * * aReturnNames, SAFEARRAY * * aReturnValues) { return smth GetProperties (aNames, aReturnNames, aReturnValues); }
#define COM_FORWARD_INetworkAdapter_GetProperties_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_GetProperties_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_GetProperties_TO_BASE(base) COM_FORWARD_INetworkAdapter_GetProperties_TO (base::)
#define COM_FORWARD_INetworkAdapter_TO(smth) COM_FORWARD_INetworkAdapter_GETTER_AdapterType_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_AdapterType_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_Slot_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_Enabled_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_Enabled_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_MACAddress_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_MACAddress_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_AttachmentType_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_AttachmentType_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_BridgedInterface_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_BridgedInterface_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_HostOnlyInterface_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_HostOnlyInterface_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_HostOnlyNetwork_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_HostOnlyNetwork_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_InternalNetwork_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_InternalNetwork_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_NATNetwork_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_NATNetwork_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_GenericDriver_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_GenericDriver_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_CloudNetwork_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_CloudNetwork_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_CableConnected_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_CableConnected_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_LineSpeed_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_LineSpeed_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_PromiscModePolicy_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_PromiscModePolicy_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_TraceEnabled_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_TraceEnabled_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_TraceFile_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_TraceFile_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_NATEngine_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_BootPriority_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_BootPriority_TO (smth) COM_FORWARD_INetworkAdapter_GETTER_BandwidthGroup_TO (smth) COM_FORWARD_INetworkAdapter_SETTER_BandwidthGroup_TO (smth) COM_FORWARD_INetworkAdapter_GetProperty_TO (smth) COM_FORWARD_INetworkAdapter_SetProperty_TO (smth) COM_FORWARD_INetworkAdapter_GetProperties_TO (smth) 
#define COM_FORWARD_INetworkAdapter_TO_OBJ(obj) COM_FORWARD_INetworkAdapter_TO ((obj)->)
#define COM_FORWARD_INetworkAdapter_TO_BASE(base) COM_FORWARD_INetworkAdapter_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0082_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0082_v0_0_s_ifspec;

#ifndef __ISerialPort_INTERFACE_DEFINED__
#define __ISerialPort_INTERFACE_DEFINED__

/* interface ISerialPort */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISerialPort;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5587d0f6-a227-4f23-8278-2f675eea1bb2")
    ISerialPort : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Slot( 
            /* [retval][out] */ ULONG *aSlot) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IOAddress( 
            /* [retval][out] */ ULONG *aIOAddress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IOAddress( 
            /* [in] */ ULONG aIOAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IRQ( 
            /* [retval][out] */ ULONG *aIRQ) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IRQ( 
            /* [in] */ ULONG aIRQ) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostMode( 
            /* [retval][out] */ PortMode *aHostMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HostMode( 
            /* [in] */ PortMode aHostMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Server( 
            /* [retval][out] */ BOOL *aServer) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Server( 
            /* [in] */ BOOL aServer) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *aPath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Path( 
            /* [in] */ BSTR aPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UartType( 
            /* [retval][out] */ UartType *aUartType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UartType( 
            /* [in] */ UartType aUartType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ISerialPort( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ISerialPort( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ISerialPort( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ISerialPort( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISerialPortVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISerialPort * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISerialPort * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISerialPort * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISerialPort * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISerialPort * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISerialPort * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISerialPort * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_Slot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Slot )( 
            ISerialPort * This,
            /* [retval][out] */ ULONG *aSlot);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            ISerialPort * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(ISerialPort, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            ISerialPort * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_IOAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IOAddress )( 
            ISerialPort * This,
            /* [retval][out] */ ULONG *aIOAddress);
        
        DECLSPEC_XFGVIRT(ISerialPort, put_IOAddress)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IOAddress )( 
            ISerialPort * This,
            /* [in] */ ULONG aIOAddress);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_IRQ)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IRQ )( 
            ISerialPort * This,
            /* [retval][out] */ ULONG *aIRQ);
        
        DECLSPEC_XFGVIRT(ISerialPort, put_IRQ)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IRQ )( 
            ISerialPort * This,
            /* [in] */ ULONG aIRQ);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_HostMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostMode )( 
            ISerialPort * This,
            /* [retval][out] */ PortMode *aHostMode);
        
        DECLSPEC_XFGVIRT(ISerialPort, put_HostMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HostMode )( 
            ISerialPort * This,
            /* [in] */ PortMode aHostMode);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_Server)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( 
            ISerialPort * This,
            /* [retval][out] */ BOOL *aServer);
        
        DECLSPEC_XFGVIRT(ISerialPort, put_Server)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( 
            ISerialPort * This,
            /* [in] */ BOOL aServer);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_Path)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            ISerialPort * This,
            /* [retval][out] */ BSTR *aPath);
        
        DECLSPEC_XFGVIRT(ISerialPort, put_Path)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
            ISerialPort * This,
            /* [in] */ BSTR aPath);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_UartType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UartType )( 
            ISerialPort * This,
            /* [retval][out] */ UartType *aUartType);
        
        DECLSPEC_XFGVIRT(ISerialPort, put_UartType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UartType )( 
            ISerialPort * This,
            /* [in] */ UartType aUartType);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_InternalAndReservedAttribute1ISerialPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ISerialPort )( 
            ISerialPort * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_InternalAndReservedAttribute2ISerialPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ISerialPort )( 
            ISerialPort * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_InternalAndReservedAttribute3ISerialPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ISerialPort )( 
            ISerialPort * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISerialPort, get_InternalAndReservedAttribute4ISerialPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ISerialPort )( 
            ISerialPort * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } ISerialPortVtbl;

    interface ISerialPort
    {
        CONST_VTBL struct ISerialPortVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISerialPort_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISerialPort_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISerialPort_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISerialPort_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISerialPort_get_Slot(This,aSlot)	\
    ( (This)->lpVtbl -> get_Slot(This,aSlot) ) 

#define ISerialPort_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define ISerialPort_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define ISerialPort_get_IOAddress(This,aIOAddress)	\
    ( (This)->lpVtbl -> get_IOAddress(This,aIOAddress) ) 

#define ISerialPort_put_IOAddress(This,aIOAddress)	\
    ( (This)->lpVtbl -> put_IOAddress(This,aIOAddress) ) 

#define ISerialPort_get_IRQ(This,aIRQ)	\
    ( (This)->lpVtbl -> get_IRQ(This,aIRQ) ) 

#define ISerialPort_put_IRQ(This,aIRQ)	\
    ( (This)->lpVtbl -> put_IRQ(This,aIRQ) ) 

#define ISerialPort_get_HostMode(This,aHostMode)	\
    ( (This)->lpVtbl -> get_HostMode(This,aHostMode) ) 

#define ISerialPort_put_HostMode(This,aHostMode)	\
    ( (This)->lpVtbl -> put_HostMode(This,aHostMode) ) 

#define ISerialPort_get_Server(This,aServer)	\
    ( (This)->lpVtbl -> get_Server(This,aServer) ) 

#define ISerialPort_put_Server(This,aServer)	\
    ( (This)->lpVtbl -> put_Server(This,aServer) ) 

#define ISerialPort_get_Path(This,aPath)	\
    ( (This)->lpVtbl -> get_Path(This,aPath) ) 

#define ISerialPort_put_Path(This,aPath)	\
    ( (This)->lpVtbl -> put_Path(This,aPath) ) 

#define ISerialPort_get_UartType(This,aUartType)	\
    ( (This)->lpVtbl -> get_UartType(This,aUartType) ) 

#define ISerialPort_put_UartType(This,aUartType)	\
    ( (This)->lpVtbl -> put_UartType(This,aUartType) ) 

#define ISerialPort_get_InternalAndReservedAttribute1ISerialPort(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ISerialPort(This,aReserved) ) 

#define ISerialPort_get_InternalAndReservedAttribute2ISerialPort(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ISerialPort(This,aReserved) ) 

#define ISerialPort_get_InternalAndReservedAttribute3ISerialPort(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ISerialPort(This,aReserved) ) 

#define ISerialPort_get_InternalAndReservedAttribute4ISerialPort(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ISerialPort(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISerialPort_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0083 */
/* [local] */ 

#define COM_FORWARD_ISerialPort_GETTER_Slot_TO(smth) HRESULT STDMETHODCALLTYPE get_Slot (ULONG * aSlot) { return smth get_Slot (aSlot); }
#define COM_FORWARD_ISerialPort_GETTER_Slot_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_Slot_TO ((obj)->)
#define COM_FORWARD_ISerialPort_GETTER_Slot_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_Slot_TO (base::)
#define COM_FORWARD_ISerialPort_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_ISerialPort_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_ISerialPort_GETTER_Enabled_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_Enabled_TO (base::)
#define COM_FORWARD_ISerialPort_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_ISerialPort_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_ISerialPort_SETTER_Enabled_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_Enabled_TO (base::)
#define COM_FORWARD_ISerialPort_GETTER_IOAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_IOAddress (ULONG * aIOAddress) { return smth get_IOAddress (aIOAddress); }
#define COM_FORWARD_ISerialPort_GETTER_IOAddress_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_IOAddress_TO ((obj)->)
#define COM_FORWARD_ISerialPort_GETTER_IOAddress_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_IOAddress_TO (base::)
#define COM_FORWARD_ISerialPort_SETTER_IOAddress_TO(smth) HRESULT STDMETHODCALLTYPE put_IOAddress (ULONG aIOAddress) { return smth put_IOAddress (aIOAddress); }
#define COM_FORWARD_ISerialPort_SETTER_IOAddress_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_IOAddress_TO ((obj)->)
#define COM_FORWARD_ISerialPort_SETTER_IOAddress_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_IOAddress_TO (base::)
#define COM_FORWARD_ISerialPort_GETTER_IRQ_TO(smth) HRESULT STDMETHODCALLTYPE get_IRQ (ULONG * aIRQ) { return smth get_IRQ (aIRQ); }
#define COM_FORWARD_ISerialPort_GETTER_IRQ_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_IRQ_TO ((obj)->)
#define COM_FORWARD_ISerialPort_GETTER_IRQ_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_IRQ_TO (base::)
#define COM_FORWARD_ISerialPort_SETTER_IRQ_TO(smth) HRESULT STDMETHODCALLTYPE put_IRQ (ULONG aIRQ) { return smth put_IRQ (aIRQ); }
#define COM_FORWARD_ISerialPort_SETTER_IRQ_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_IRQ_TO ((obj)->)
#define COM_FORWARD_ISerialPort_SETTER_IRQ_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_IRQ_TO (base::)
#define COM_FORWARD_ISerialPort_GETTER_HostMode_TO(smth) HRESULT STDMETHODCALLTYPE get_HostMode (PortMode * aHostMode) { return smth get_HostMode (aHostMode); }
#define COM_FORWARD_ISerialPort_GETTER_HostMode_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_HostMode_TO ((obj)->)
#define COM_FORWARD_ISerialPort_GETTER_HostMode_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_HostMode_TO (base::)
#define COM_FORWARD_ISerialPort_SETTER_HostMode_TO(smth) HRESULT STDMETHODCALLTYPE put_HostMode (PortMode aHostMode) { return smth put_HostMode (aHostMode); }
#define COM_FORWARD_ISerialPort_SETTER_HostMode_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_HostMode_TO ((obj)->)
#define COM_FORWARD_ISerialPort_SETTER_HostMode_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_HostMode_TO (base::)
#define COM_FORWARD_ISerialPort_GETTER_Server_TO(smth) HRESULT STDMETHODCALLTYPE get_Server (BOOL * aServer) { return smth get_Server (aServer); }
#define COM_FORWARD_ISerialPort_GETTER_Server_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_Server_TO ((obj)->)
#define COM_FORWARD_ISerialPort_GETTER_Server_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_Server_TO (base::)
#define COM_FORWARD_ISerialPort_SETTER_Server_TO(smth) HRESULT STDMETHODCALLTYPE put_Server (BOOL aServer) { return smth put_Server (aServer); }
#define COM_FORWARD_ISerialPort_SETTER_Server_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_Server_TO ((obj)->)
#define COM_FORWARD_ISerialPort_SETTER_Server_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_Server_TO (base::)
#define COM_FORWARD_ISerialPort_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }
#define COM_FORWARD_ISerialPort_GETTER_Path_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_Path_TO ((obj)->)
#define COM_FORWARD_ISerialPort_GETTER_Path_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_Path_TO (base::)
#define COM_FORWARD_ISerialPort_SETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE put_Path (BSTR aPath) { return smth put_Path (aPath); }
#define COM_FORWARD_ISerialPort_SETTER_Path_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_Path_TO ((obj)->)
#define COM_FORWARD_ISerialPort_SETTER_Path_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_Path_TO (base::)
#define COM_FORWARD_ISerialPort_GETTER_UartType_TO(smth) HRESULT STDMETHODCALLTYPE get_UartType (UartType * aUartType) { return smth get_UartType (aUartType); }
#define COM_FORWARD_ISerialPort_GETTER_UartType_TO_OBJ(obj) COM_FORWARD_ISerialPort_GETTER_UartType_TO ((obj)->)
#define COM_FORWARD_ISerialPort_GETTER_UartType_TO_BASE(base) COM_FORWARD_ISerialPort_GETTER_UartType_TO (base::)
#define COM_FORWARD_ISerialPort_SETTER_UartType_TO(smth) HRESULT STDMETHODCALLTYPE put_UartType (UartType aUartType) { return smth put_UartType (aUartType); }
#define COM_FORWARD_ISerialPort_SETTER_UartType_TO_OBJ(obj) COM_FORWARD_ISerialPort_SETTER_UartType_TO ((obj)->)
#define COM_FORWARD_ISerialPort_SETTER_UartType_TO_BASE(base) COM_FORWARD_ISerialPort_SETTER_UartType_TO (base::)
#define COM_FORWARD_ISerialPort_TO(smth) COM_FORWARD_ISerialPort_GETTER_Slot_TO (smth) COM_FORWARD_ISerialPort_GETTER_Enabled_TO (smth) COM_FORWARD_ISerialPort_SETTER_Enabled_TO (smth) COM_FORWARD_ISerialPort_GETTER_IOAddress_TO (smth) COM_FORWARD_ISerialPort_SETTER_IOAddress_TO (smth) COM_FORWARD_ISerialPort_GETTER_IRQ_TO (smth) COM_FORWARD_ISerialPort_SETTER_IRQ_TO (smth) COM_FORWARD_ISerialPort_GETTER_HostMode_TO (smth) COM_FORWARD_ISerialPort_SETTER_HostMode_TO (smth) COM_FORWARD_ISerialPort_GETTER_Server_TO (smth) COM_FORWARD_ISerialPort_SETTER_Server_TO (smth) COM_FORWARD_ISerialPort_GETTER_Path_TO (smth) COM_FORWARD_ISerialPort_SETTER_Path_TO (smth) COM_FORWARD_ISerialPort_GETTER_UartType_TO (smth) COM_FORWARD_ISerialPort_SETTER_UartType_TO (smth) 
#define COM_FORWARD_ISerialPort_TO_OBJ(obj) COM_FORWARD_ISerialPort_TO ((obj)->)
#define COM_FORWARD_ISerialPort_TO_BASE(base) COM_FORWARD_ISerialPort_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0083_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0083_v0_0_s_ifspec;

#ifndef __IParallelPort_INTERFACE_DEFINED__
#define __IParallelPort_INTERFACE_DEFINED__

/* interface IParallelPort */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IParallelPort;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("788b87df-7708-444b-9eef-c116ce423d39")
    IParallelPort : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Slot( 
            /* [retval][out] */ ULONG *aSlot) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IOBase( 
            /* [retval][out] */ ULONG *aIOBase) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IOBase( 
            /* [in] */ ULONG aIOBase) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IRQ( 
            /* [retval][out] */ ULONG *aIRQ) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IRQ( 
            /* [in] */ ULONG aIRQ) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *aPath) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Path( 
            /* [in] */ BSTR aPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IParallelPort( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IParallelPort( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IParallelPort( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IParallelPort( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IParallelPortVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IParallelPort * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IParallelPort * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IParallelPort * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IParallelPort * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IParallelPort * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IParallelPort * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IParallelPort * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IParallelPort, get_Slot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Slot )( 
            IParallelPort * This,
            /* [retval][out] */ ULONG *aSlot);
        
        DECLSPEC_XFGVIRT(IParallelPort, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IParallelPort * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IParallelPort, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IParallelPort * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IParallelPort, get_IOBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IOBase )( 
            IParallelPort * This,
            /* [retval][out] */ ULONG *aIOBase);
        
        DECLSPEC_XFGVIRT(IParallelPort, put_IOBase)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IOBase )( 
            IParallelPort * This,
            /* [in] */ ULONG aIOBase);
        
        DECLSPEC_XFGVIRT(IParallelPort, get_IRQ)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IRQ )( 
            IParallelPort * This,
            /* [retval][out] */ ULONG *aIRQ);
        
        DECLSPEC_XFGVIRT(IParallelPort, put_IRQ)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IRQ )( 
            IParallelPort * This,
            /* [in] */ ULONG aIRQ);
        
        DECLSPEC_XFGVIRT(IParallelPort, get_Path)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IParallelPort * This,
            /* [retval][out] */ BSTR *aPath);
        
        DECLSPEC_XFGVIRT(IParallelPort, put_Path)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
            IParallelPort * This,
            /* [in] */ BSTR aPath);
        
        DECLSPEC_XFGVIRT(IParallelPort, get_InternalAndReservedAttribute1IParallelPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IParallelPort )( 
            IParallelPort * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IParallelPort, get_InternalAndReservedAttribute2IParallelPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IParallelPort )( 
            IParallelPort * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IParallelPort, get_InternalAndReservedAttribute3IParallelPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IParallelPort )( 
            IParallelPort * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IParallelPort, get_InternalAndReservedAttribute4IParallelPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IParallelPort )( 
            IParallelPort * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IParallelPortVtbl;

    interface IParallelPort
    {
        CONST_VTBL struct IParallelPortVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IParallelPort_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IParallelPort_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IParallelPort_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IParallelPort_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IParallelPort_get_Slot(This,aSlot)	\
    ( (This)->lpVtbl -> get_Slot(This,aSlot) ) 

#define IParallelPort_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IParallelPort_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define IParallelPort_get_IOBase(This,aIOBase)	\
    ( (This)->lpVtbl -> get_IOBase(This,aIOBase) ) 

#define IParallelPort_put_IOBase(This,aIOBase)	\
    ( (This)->lpVtbl -> put_IOBase(This,aIOBase) ) 

#define IParallelPort_get_IRQ(This,aIRQ)	\
    ( (This)->lpVtbl -> get_IRQ(This,aIRQ) ) 

#define IParallelPort_put_IRQ(This,aIRQ)	\
    ( (This)->lpVtbl -> put_IRQ(This,aIRQ) ) 

#define IParallelPort_get_Path(This,aPath)	\
    ( (This)->lpVtbl -> get_Path(This,aPath) ) 

#define IParallelPort_put_Path(This,aPath)	\
    ( (This)->lpVtbl -> put_Path(This,aPath) ) 

#define IParallelPort_get_InternalAndReservedAttribute1IParallelPort(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IParallelPort(This,aReserved) ) 

#define IParallelPort_get_InternalAndReservedAttribute2IParallelPort(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IParallelPort(This,aReserved) ) 

#define IParallelPort_get_InternalAndReservedAttribute3IParallelPort(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IParallelPort(This,aReserved) ) 

#define IParallelPort_get_InternalAndReservedAttribute4IParallelPort(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IParallelPort(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IParallelPort_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0084 */
/* [local] */ 

#define COM_FORWARD_IParallelPort_GETTER_Slot_TO(smth) HRESULT STDMETHODCALLTYPE get_Slot (ULONG * aSlot) { return smth get_Slot (aSlot); }
#define COM_FORWARD_IParallelPort_GETTER_Slot_TO_OBJ(obj) COM_FORWARD_IParallelPort_GETTER_Slot_TO ((obj)->)
#define COM_FORWARD_IParallelPort_GETTER_Slot_TO_BASE(base) COM_FORWARD_IParallelPort_GETTER_Slot_TO (base::)
#define COM_FORWARD_IParallelPort_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_IParallelPort_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IParallelPort_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IParallelPort_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IParallelPort_GETTER_Enabled_TO (base::)
#define COM_FORWARD_IParallelPort_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_IParallelPort_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IParallelPort_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IParallelPort_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IParallelPort_SETTER_Enabled_TO (base::)
#define COM_FORWARD_IParallelPort_GETTER_IOBase_TO(smth) HRESULT STDMETHODCALLTYPE get_IOBase (ULONG * aIOBase) { return smth get_IOBase (aIOBase); }
#define COM_FORWARD_IParallelPort_GETTER_IOBase_TO_OBJ(obj) COM_FORWARD_IParallelPort_GETTER_IOBase_TO ((obj)->)
#define COM_FORWARD_IParallelPort_GETTER_IOBase_TO_BASE(base) COM_FORWARD_IParallelPort_GETTER_IOBase_TO (base::)
#define COM_FORWARD_IParallelPort_SETTER_IOBase_TO(smth) HRESULT STDMETHODCALLTYPE put_IOBase (ULONG aIOBase) { return smth put_IOBase (aIOBase); }
#define COM_FORWARD_IParallelPort_SETTER_IOBase_TO_OBJ(obj) COM_FORWARD_IParallelPort_SETTER_IOBase_TO ((obj)->)
#define COM_FORWARD_IParallelPort_SETTER_IOBase_TO_BASE(base) COM_FORWARD_IParallelPort_SETTER_IOBase_TO (base::)
#define COM_FORWARD_IParallelPort_GETTER_IRQ_TO(smth) HRESULT STDMETHODCALLTYPE get_IRQ (ULONG * aIRQ) { return smth get_IRQ (aIRQ); }
#define COM_FORWARD_IParallelPort_GETTER_IRQ_TO_OBJ(obj) COM_FORWARD_IParallelPort_GETTER_IRQ_TO ((obj)->)
#define COM_FORWARD_IParallelPort_GETTER_IRQ_TO_BASE(base) COM_FORWARD_IParallelPort_GETTER_IRQ_TO (base::)
#define COM_FORWARD_IParallelPort_SETTER_IRQ_TO(smth) HRESULT STDMETHODCALLTYPE put_IRQ (ULONG aIRQ) { return smth put_IRQ (aIRQ); }
#define COM_FORWARD_IParallelPort_SETTER_IRQ_TO_OBJ(obj) COM_FORWARD_IParallelPort_SETTER_IRQ_TO ((obj)->)
#define COM_FORWARD_IParallelPort_SETTER_IRQ_TO_BASE(base) COM_FORWARD_IParallelPort_SETTER_IRQ_TO (base::)
#define COM_FORWARD_IParallelPort_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }
#define COM_FORWARD_IParallelPort_GETTER_Path_TO_OBJ(obj) COM_FORWARD_IParallelPort_GETTER_Path_TO ((obj)->)
#define COM_FORWARD_IParallelPort_GETTER_Path_TO_BASE(base) COM_FORWARD_IParallelPort_GETTER_Path_TO (base::)
#define COM_FORWARD_IParallelPort_SETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE put_Path (BSTR aPath) { return smth put_Path (aPath); }
#define COM_FORWARD_IParallelPort_SETTER_Path_TO_OBJ(obj) COM_FORWARD_IParallelPort_SETTER_Path_TO ((obj)->)
#define COM_FORWARD_IParallelPort_SETTER_Path_TO_BASE(base) COM_FORWARD_IParallelPort_SETTER_Path_TO (base::)
#define COM_FORWARD_IParallelPort_TO(smth) COM_FORWARD_IParallelPort_GETTER_Slot_TO (smth) COM_FORWARD_IParallelPort_GETTER_Enabled_TO (smth) COM_FORWARD_IParallelPort_SETTER_Enabled_TO (smth) COM_FORWARD_IParallelPort_GETTER_IOBase_TO (smth) COM_FORWARD_IParallelPort_SETTER_IOBase_TO (smth) COM_FORWARD_IParallelPort_GETTER_IRQ_TO (smth) COM_FORWARD_IParallelPort_SETTER_IRQ_TO (smth) COM_FORWARD_IParallelPort_GETTER_Path_TO (smth) COM_FORWARD_IParallelPort_SETTER_Path_TO (smth) 
#define COM_FORWARD_IParallelPort_TO_OBJ(obj) COM_FORWARD_IParallelPort_TO ((obj)->)
#define COM_FORWARD_IParallelPort_TO_BASE(base) COM_FORWARD_IParallelPort_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0084_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0084_v0_0_s_ifspec;

#ifndef __IMachineDebugger_INTERFACE_DEFINED__
#define __IMachineDebugger_INTERFACE_DEFINED__

/* interface IMachineDebugger */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMachineDebugger;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("fa43579a-2272-47c4-a443-9713f19a902f")
    IMachineDebugger : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SingleStep( 
            /* [retval][out] */ BOOL *aSingleStep) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SingleStep( 
            /* [in] */ BOOL aSingleStep) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExecuteAllInIEM( 
            /* [retval][out] */ BOOL *aExecuteAllInIEM) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExecuteAllInIEM( 
            /* [in] */ BOOL aExecuteAllInIEM) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogEnabled( 
            /* [retval][out] */ BOOL *aLogEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LogEnabled( 
            /* [in] */ BOOL aLogEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogDbgFlags( 
            /* [retval][out] */ BSTR *aLogDbgFlags) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogDbgGroups( 
            /* [retval][out] */ BSTR *aLogDbgGroups) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogDbgDestinations( 
            /* [retval][out] */ BSTR *aLogDbgDestinations) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogRelFlags( 
            /* [retval][out] */ BSTR *aLogRelFlags) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogRelGroups( 
            /* [retval][out] */ BSTR *aLogRelGroups) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LogRelDestinations( 
            /* [retval][out] */ BSTR *aLogRelDestinations) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExecutionEngine( 
            /* [retval][out] */ VMExecutionEngine *aExecutionEngine) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HWVirtExNestedPagingEnabled( 
            /* [retval][out] */ BOOL *aHWVirtExNestedPagingEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HWVirtExVPIDEnabled( 
            /* [retval][out] */ BOOL *aHWVirtExVPIDEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HWVirtExUXEnabled( 
            /* [retval][out] */ BOOL *aHWVirtExUXEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OSName( 
            /* [retval][out] */ BSTR *aOSName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OSVersion( 
            /* [retval][out] */ BSTR *aOSVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PAEEnabled( 
            /* [retval][out] */ BOOL *aPAEEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VirtualTimeRate( 
            /* [retval][out] */ ULONG *aVirtualTimeRate) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VirtualTimeRate( 
            /* [in] */ ULONG aVirtualTimeRate) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Uptime( 
            /* [retval][out] */ LONG64 *aUptime) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16IMachineDebugger( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DumpGuestCore( 
            /* [in] */ BSTR aFilename,
            /* [in] */ BSTR aCompression) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DumpHostProcessCore( 
            /* [in] */ BSTR aFilename,
            /* [in] */ BSTR aCompression) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Info( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aArgs,
            /* [retval][out] */ BSTR *aInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InjectNMI( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ModifyLogGroups( 
            /* [in] */ BSTR aSettings) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ModifyLogFlags( 
            /* [in] */ BSTR aSettings) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ModifyLogDestinations( 
            /* [in] */ BSTR aSettings) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReadPhysicalMemory( 
            /* [in] */ LONG64 aAddress,
            /* [in] */ ULONG aSize,
            /* [retval][out] */ SAFEARRAY * *aBytes) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WritePhysicalMemory( 
            /* [in] */ LONG64 aAddress,
            /* [in] */ ULONG aSize,
            /* [in] */ SAFEARRAY * aBytes) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReadVirtualMemory( 
            /* [in] */ ULONG aCpuId,
            /* [in] */ LONG64 aAddress,
            /* [in] */ ULONG aSize,
            /* [retval][out] */ SAFEARRAY * *aBytes) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WriteVirtualMemory( 
            /* [in] */ ULONG aCpuId,
            /* [in] */ LONG64 aAddress,
            /* [in] */ ULONG aSize,
            /* [in] */ SAFEARRAY * aBytes) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LoadPlugIn( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aPlugInName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnloadPlugIn( 
            /* [in] */ BSTR aName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DetectOS( 
            /* [retval][out] */ BSTR *aOs) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryOSKernelLog( 
            /* [in] */ ULONG aMaxMessages,
            /* [retval][out] */ BSTR *aDmesg) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetRegister( 
            /* [in] */ ULONG aCpuId,
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetRegisters( 
            /* [in] */ ULONG aCpuId,
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetRegister( 
            /* [in] */ ULONG aCpuId,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetRegisters( 
            /* [in] */ ULONG aCpuId,
            /* [in] */ SAFEARRAY * aNames,
            /* [in] */ SAFEARRAY * aValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DumpGuestStack( 
            /* [in] */ ULONG aCpuId,
            /* [retval][out] */ BSTR *aStack) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ResetStats( 
            /* [in] */ BSTR aPattern) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DumpStats( 
            /* [in] */ BSTR aPattern) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetStats( 
            /* [in] */ BSTR aPattern,
            /* [in] */ BOOL aWithDescriptions,
            /* [retval][out] */ BSTR *aStats) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCPULoad( 
            /* [in] */ ULONG aCpuId,
            /* [out] */ ULONG *aPctExecuting,
            /* [out] */ ULONG *aPctHalted,
            /* [out] */ ULONG *aPctOther,
            /* [retval][out] */ LONG64 *aMsInterval) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TakeGuestSample( 
            /* [in] */ BSTR aFilename,
            /* [in] */ ULONG aUsInterval,
            /* [in] */ LONG64 aUsSampleTime,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetUVMAndVMMFunctionTable( 
            /* [in] */ LONG64 aMagicVersion,
            /* [out] */ LONG64 *aVMMFunctionTable,
            /* [retval][out] */ LONG64 *aUVM) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod9IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod10IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod11IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod12IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod13IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod14IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod15IMachineDebugger( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod16IMachineDebugger( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMachineDebuggerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMachineDebugger * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMachineDebugger * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMachineDebugger * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMachineDebugger * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMachineDebugger * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_SingleStep)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SingleStep )( 
            IMachineDebugger * This,
            /* [retval][out] */ BOOL *aSingleStep);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, put_SingleStep)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SingleStep )( 
            IMachineDebugger * This,
            /* [in] */ BOOL aSingleStep);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_ExecuteAllInIEM)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExecuteAllInIEM )( 
            IMachineDebugger * This,
            /* [retval][out] */ BOOL *aExecuteAllInIEM);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, put_ExecuteAllInIEM)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExecuteAllInIEM )( 
            IMachineDebugger * This,
            /* [in] */ BOOL aExecuteAllInIEM);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_LogEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogEnabled )( 
            IMachineDebugger * This,
            /* [retval][out] */ BOOL *aLogEnabled);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, put_LogEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LogEnabled )( 
            IMachineDebugger * This,
            /* [in] */ BOOL aLogEnabled);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_LogDbgFlags)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogDbgFlags )( 
            IMachineDebugger * This,
            /* [retval][out] */ BSTR *aLogDbgFlags);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_LogDbgGroups)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogDbgGroups )( 
            IMachineDebugger * This,
            /* [retval][out] */ BSTR *aLogDbgGroups);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_LogDbgDestinations)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogDbgDestinations )( 
            IMachineDebugger * This,
            /* [retval][out] */ BSTR *aLogDbgDestinations);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_LogRelFlags)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogRelFlags )( 
            IMachineDebugger * This,
            /* [retval][out] */ BSTR *aLogRelFlags);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_LogRelGroups)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogRelGroups )( 
            IMachineDebugger * This,
            /* [retval][out] */ BSTR *aLogRelGroups);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_LogRelDestinations)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogRelDestinations )( 
            IMachineDebugger * This,
            /* [retval][out] */ BSTR *aLogRelDestinations);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_ExecutionEngine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExecutionEngine )( 
            IMachineDebugger * This,
            /* [retval][out] */ VMExecutionEngine *aExecutionEngine);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_HWVirtExNestedPagingEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HWVirtExNestedPagingEnabled )( 
            IMachineDebugger * This,
            /* [retval][out] */ BOOL *aHWVirtExNestedPagingEnabled);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_HWVirtExVPIDEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HWVirtExVPIDEnabled )( 
            IMachineDebugger * This,
            /* [retval][out] */ BOOL *aHWVirtExVPIDEnabled);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_HWVirtExUXEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HWVirtExUXEnabled )( 
            IMachineDebugger * This,
            /* [retval][out] */ BOOL *aHWVirtExUXEnabled);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_OSName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OSName )( 
            IMachineDebugger * This,
            /* [retval][out] */ BSTR *aOSName);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_OSVersion)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OSVersion )( 
            IMachineDebugger * This,
            /* [retval][out] */ BSTR *aOSVersion);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_PAEEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PAEEnabled )( 
            IMachineDebugger * This,
            /* [retval][out] */ BOOL *aPAEEnabled);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_VirtualTimeRate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VirtualTimeRate )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aVirtualTimeRate);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, put_VirtualTimeRate)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VirtualTimeRate )( 
            IMachineDebugger * This,
            /* [in] */ ULONG aVirtualTimeRate);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_Uptime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uptime )( 
            IMachineDebugger * This,
            /* [retval][out] */ LONG64 *aUptime);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute1IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute2IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute3IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute4IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute5IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute6IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute7IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute8IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute9IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute10IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute11IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute12IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute13IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute14IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute15IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, get_InternalAndReservedAttribute16IMachineDebugger)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16IMachineDebugger )( 
            IMachineDebugger * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, DumpGuestCore)
        HRESULT ( STDMETHODCALLTYPE *DumpGuestCore )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aFilename,
            /* [in] */ BSTR aCompression);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, DumpHostProcessCore)
        HRESULT ( STDMETHODCALLTYPE *DumpHostProcessCore )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aFilename,
            /* [in] */ BSTR aCompression);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, Info)
        HRESULT ( STDMETHODCALLTYPE *Info )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aArgs,
            /* [retval][out] */ BSTR *aInfo);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InjectNMI)
        HRESULT ( STDMETHODCALLTYPE *InjectNMI )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, ModifyLogGroups)
        HRESULT ( STDMETHODCALLTYPE *ModifyLogGroups )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aSettings);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, ModifyLogFlags)
        HRESULT ( STDMETHODCALLTYPE *ModifyLogFlags )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aSettings);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, ModifyLogDestinations)
        HRESULT ( STDMETHODCALLTYPE *ModifyLogDestinations )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aSettings);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, ReadPhysicalMemory)
        HRESULT ( STDMETHODCALLTYPE *ReadPhysicalMemory )( 
            IMachineDebugger * This,
            /* [in] */ LONG64 aAddress,
            /* [in] */ ULONG aSize,
            /* [retval][out] */ SAFEARRAY * *aBytes);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, WritePhysicalMemory)
        HRESULT ( STDMETHODCALLTYPE *WritePhysicalMemory )( 
            IMachineDebugger * This,
            /* [in] */ LONG64 aAddress,
            /* [in] */ ULONG aSize,
            /* [in] */ SAFEARRAY * aBytes);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, ReadVirtualMemory)
        HRESULT ( STDMETHODCALLTYPE *ReadVirtualMemory )( 
            IMachineDebugger * This,
            /* [in] */ ULONG aCpuId,
            /* [in] */ LONG64 aAddress,
            /* [in] */ ULONG aSize,
            /* [retval][out] */ SAFEARRAY * *aBytes);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, WriteVirtualMemory)
        HRESULT ( STDMETHODCALLTYPE *WriteVirtualMemory )( 
            IMachineDebugger * This,
            /* [in] */ ULONG aCpuId,
            /* [in] */ LONG64 aAddress,
            /* [in] */ ULONG aSize,
            /* [in] */ SAFEARRAY * aBytes);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, LoadPlugIn)
        HRESULT ( STDMETHODCALLTYPE *LoadPlugIn )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aPlugInName);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, UnloadPlugIn)
        HRESULT ( STDMETHODCALLTYPE *UnloadPlugIn )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, DetectOS)
        HRESULT ( STDMETHODCALLTYPE *DetectOS )( 
            IMachineDebugger * This,
            /* [retval][out] */ BSTR *aOs);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, QueryOSKernelLog)
        HRESULT ( STDMETHODCALLTYPE *QueryOSKernelLog )( 
            IMachineDebugger * This,
            /* [in] */ ULONG aMaxMessages,
            /* [retval][out] */ BSTR *aDmesg);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, GetRegister)
        HRESULT ( STDMETHODCALLTYPE *GetRegister )( 
            IMachineDebugger * This,
            /* [in] */ ULONG aCpuId,
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, GetRegisters)
        HRESULT ( STDMETHODCALLTYPE *GetRegisters )( 
            IMachineDebugger * This,
            /* [in] */ ULONG aCpuId,
            /* [out] */ SAFEARRAY * *aNames,
            /* [out] */ SAFEARRAY * *aValues);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, SetRegister)
        HRESULT ( STDMETHODCALLTYPE *SetRegister )( 
            IMachineDebugger * This,
            /* [in] */ ULONG aCpuId,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, SetRegisters)
        HRESULT ( STDMETHODCALLTYPE *SetRegisters )( 
            IMachineDebugger * This,
            /* [in] */ ULONG aCpuId,
            /* [in] */ SAFEARRAY * aNames,
            /* [in] */ SAFEARRAY * aValues);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, DumpGuestStack)
        HRESULT ( STDMETHODCALLTYPE *DumpGuestStack )( 
            IMachineDebugger * This,
            /* [in] */ ULONG aCpuId,
            /* [retval][out] */ BSTR *aStack);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, ResetStats)
        HRESULT ( STDMETHODCALLTYPE *ResetStats )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aPattern);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, DumpStats)
        HRESULT ( STDMETHODCALLTYPE *DumpStats )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aPattern);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, GetStats)
        HRESULT ( STDMETHODCALLTYPE *GetStats )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aPattern,
            /* [in] */ BOOL aWithDescriptions,
            /* [retval][out] */ BSTR *aStats);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, GetCPULoad)
        HRESULT ( STDMETHODCALLTYPE *GetCPULoad )( 
            IMachineDebugger * This,
            /* [in] */ ULONG aCpuId,
            /* [out] */ ULONG *aPctExecuting,
            /* [out] */ ULONG *aPctHalted,
            /* [out] */ ULONG *aPctOther,
            /* [retval][out] */ LONG64 *aMsInterval);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, TakeGuestSample)
        HRESULT ( STDMETHODCALLTYPE *TakeGuestSample )( 
            IMachineDebugger * This,
            /* [in] */ BSTR aFilename,
            /* [in] */ ULONG aUsInterval,
            /* [in] */ LONG64 aUsSampleTime,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, GetUVMAndVMMFunctionTable)
        HRESULT ( STDMETHODCALLTYPE *GetUVMAndVMMFunctionTable )( 
            IMachineDebugger * This,
            /* [in] */ LONG64 aMagicVersion,
            /* [out] */ LONG64 *aVMMFunctionTable,
            /* [retval][out] */ LONG64 *aUVM);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod1IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod2IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod3IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod4IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod5IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod6IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod7IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod8IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod9IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod9IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod10IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod10IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod11IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod11IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod12IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod12IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod13IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod13IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod14IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod14IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod15IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod15IMachineDebugger )( 
            IMachineDebugger * This);
        
        DECLSPEC_XFGVIRT(IMachineDebugger, InternalAndReservedMethod16IMachineDebugger)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod16IMachineDebugger )( 
            IMachineDebugger * This);
        
        END_INTERFACE
    } IMachineDebuggerVtbl;

    interface IMachineDebugger
    {
        CONST_VTBL struct IMachineDebuggerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMachineDebugger_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMachineDebugger_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMachineDebugger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMachineDebugger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMachineDebugger_get_SingleStep(This,aSingleStep)	\
    ( (This)->lpVtbl -> get_SingleStep(This,aSingleStep) ) 

#define IMachineDebugger_put_SingleStep(This,aSingleStep)	\
    ( (This)->lpVtbl -> put_SingleStep(This,aSingleStep) ) 

#define IMachineDebugger_get_ExecuteAllInIEM(This,aExecuteAllInIEM)	\
    ( (This)->lpVtbl -> get_ExecuteAllInIEM(This,aExecuteAllInIEM) ) 

#define IMachineDebugger_put_ExecuteAllInIEM(This,aExecuteAllInIEM)	\
    ( (This)->lpVtbl -> put_ExecuteAllInIEM(This,aExecuteAllInIEM) ) 

#define IMachineDebugger_get_LogEnabled(This,aLogEnabled)	\
    ( (This)->lpVtbl -> get_LogEnabled(This,aLogEnabled) ) 

#define IMachineDebugger_put_LogEnabled(This,aLogEnabled)	\
    ( (This)->lpVtbl -> put_LogEnabled(This,aLogEnabled) ) 

#define IMachineDebugger_get_LogDbgFlags(This,aLogDbgFlags)	\
    ( (This)->lpVtbl -> get_LogDbgFlags(This,aLogDbgFlags) ) 

#define IMachineDebugger_get_LogDbgGroups(This,aLogDbgGroups)	\
    ( (This)->lpVtbl -> get_LogDbgGroups(This,aLogDbgGroups) ) 

#define IMachineDebugger_get_LogDbgDestinations(This,aLogDbgDestinations)	\
    ( (This)->lpVtbl -> get_LogDbgDestinations(This,aLogDbgDestinations) ) 

#define IMachineDebugger_get_LogRelFlags(This,aLogRelFlags)	\
    ( (This)->lpVtbl -> get_LogRelFlags(This,aLogRelFlags) ) 

#define IMachineDebugger_get_LogRelGroups(This,aLogRelGroups)	\
    ( (This)->lpVtbl -> get_LogRelGroups(This,aLogRelGroups) ) 

#define IMachineDebugger_get_LogRelDestinations(This,aLogRelDestinations)	\
    ( (This)->lpVtbl -> get_LogRelDestinations(This,aLogRelDestinations) ) 

#define IMachineDebugger_get_ExecutionEngine(This,aExecutionEngine)	\
    ( (This)->lpVtbl -> get_ExecutionEngine(This,aExecutionEngine) ) 

#define IMachineDebugger_get_HWVirtExNestedPagingEnabled(This,aHWVirtExNestedPagingEnabled)	\
    ( (This)->lpVtbl -> get_HWVirtExNestedPagingEnabled(This,aHWVirtExNestedPagingEnabled) ) 

#define IMachineDebugger_get_HWVirtExVPIDEnabled(This,aHWVirtExVPIDEnabled)	\
    ( (This)->lpVtbl -> get_HWVirtExVPIDEnabled(This,aHWVirtExVPIDEnabled) ) 

#define IMachineDebugger_get_HWVirtExUXEnabled(This,aHWVirtExUXEnabled)	\
    ( (This)->lpVtbl -> get_HWVirtExUXEnabled(This,aHWVirtExUXEnabled) ) 

#define IMachineDebugger_get_OSName(This,aOSName)	\
    ( (This)->lpVtbl -> get_OSName(This,aOSName) ) 

#define IMachineDebugger_get_OSVersion(This,aOSVersion)	\
    ( (This)->lpVtbl -> get_OSVersion(This,aOSVersion) ) 

#define IMachineDebugger_get_PAEEnabled(This,aPAEEnabled)	\
    ( (This)->lpVtbl -> get_PAEEnabled(This,aPAEEnabled) ) 

#define IMachineDebugger_get_VirtualTimeRate(This,aVirtualTimeRate)	\
    ( (This)->lpVtbl -> get_VirtualTimeRate(This,aVirtualTimeRate) ) 

#define IMachineDebugger_put_VirtualTimeRate(This,aVirtualTimeRate)	\
    ( (This)->lpVtbl -> put_VirtualTimeRate(This,aVirtualTimeRate) ) 

#define IMachineDebugger_get_Uptime(This,aUptime)	\
    ( (This)->lpVtbl -> get_Uptime(This,aUptime) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute1IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute2IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute3IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute4IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute5IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute6IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute7IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute8IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute9IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute10IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute11IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute12IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute13IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute14IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute15IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_get_InternalAndReservedAttribute16IMachineDebugger(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16IMachineDebugger(This,aReserved) ) 

#define IMachineDebugger_DumpGuestCore(This,aFilename,aCompression)	\
    ( (This)->lpVtbl -> DumpGuestCore(This,aFilename,aCompression) ) 

#define IMachineDebugger_DumpHostProcessCore(This,aFilename,aCompression)	\
    ( (This)->lpVtbl -> DumpHostProcessCore(This,aFilename,aCompression) ) 

#define IMachineDebugger_Info(This,aName,aArgs,aInfo)	\
    ( (This)->lpVtbl -> Info(This,aName,aArgs,aInfo) ) 

#define IMachineDebugger_InjectNMI(This)	\
    ( (This)->lpVtbl -> InjectNMI(This) ) 

#define IMachineDebugger_ModifyLogGroups(This,aSettings)	\
    ( (This)->lpVtbl -> ModifyLogGroups(This,aSettings) ) 

#define IMachineDebugger_ModifyLogFlags(This,aSettings)	\
    ( (This)->lpVtbl -> ModifyLogFlags(This,aSettings) ) 

#define IMachineDebugger_ModifyLogDestinations(This,aSettings)	\
    ( (This)->lpVtbl -> ModifyLogDestinations(This,aSettings) ) 

#define IMachineDebugger_ReadPhysicalMemory(This,aAddress,aSize,aBytes)	\
    ( (This)->lpVtbl -> ReadPhysicalMemory(This,aAddress,aSize,aBytes) ) 

#define IMachineDebugger_WritePhysicalMemory(This,aAddress,aSize,aBytes)	\
    ( (This)->lpVtbl -> WritePhysicalMemory(This,aAddress,aSize,aBytes) ) 

#define IMachineDebugger_ReadVirtualMemory(This,aCpuId,aAddress,aSize,aBytes)	\
    ( (This)->lpVtbl -> ReadVirtualMemory(This,aCpuId,aAddress,aSize,aBytes) ) 

#define IMachineDebugger_WriteVirtualMemory(This,aCpuId,aAddress,aSize,aBytes)	\
    ( (This)->lpVtbl -> WriteVirtualMemory(This,aCpuId,aAddress,aSize,aBytes) ) 

#define IMachineDebugger_LoadPlugIn(This,aName,aPlugInName)	\
    ( (This)->lpVtbl -> LoadPlugIn(This,aName,aPlugInName) ) 

#define IMachineDebugger_UnloadPlugIn(This,aName)	\
    ( (This)->lpVtbl -> UnloadPlugIn(This,aName) ) 

#define IMachineDebugger_DetectOS(This,aOs)	\
    ( (This)->lpVtbl -> DetectOS(This,aOs) ) 

#define IMachineDebugger_QueryOSKernelLog(This,aMaxMessages,aDmesg)	\
    ( (This)->lpVtbl -> QueryOSKernelLog(This,aMaxMessages,aDmesg) ) 

#define IMachineDebugger_GetRegister(This,aCpuId,aName,aValue)	\
    ( (This)->lpVtbl -> GetRegister(This,aCpuId,aName,aValue) ) 

#define IMachineDebugger_GetRegisters(This,aCpuId,aNames,aValues)	\
    ( (This)->lpVtbl -> GetRegisters(This,aCpuId,aNames,aValues) ) 

#define IMachineDebugger_SetRegister(This,aCpuId,aName,aValue)	\
    ( (This)->lpVtbl -> SetRegister(This,aCpuId,aName,aValue) ) 

#define IMachineDebugger_SetRegisters(This,aCpuId,aNames,aValues)	\
    ( (This)->lpVtbl -> SetRegisters(This,aCpuId,aNames,aValues) ) 

#define IMachineDebugger_DumpGuestStack(This,aCpuId,aStack)	\
    ( (This)->lpVtbl -> DumpGuestStack(This,aCpuId,aStack) ) 

#define IMachineDebugger_ResetStats(This,aPattern)	\
    ( (This)->lpVtbl -> ResetStats(This,aPattern) ) 

#define IMachineDebugger_DumpStats(This,aPattern)	\
    ( (This)->lpVtbl -> DumpStats(This,aPattern) ) 

#define IMachineDebugger_GetStats(This,aPattern,aWithDescriptions,aStats)	\
    ( (This)->lpVtbl -> GetStats(This,aPattern,aWithDescriptions,aStats) ) 

#define IMachineDebugger_GetCPULoad(This,aCpuId,aPctExecuting,aPctHalted,aPctOther,aMsInterval)	\
    ( (This)->lpVtbl -> GetCPULoad(This,aCpuId,aPctExecuting,aPctHalted,aPctOther,aMsInterval) ) 

#define IMachineDebugger_TakeGuestSample(This,aFilename,aUsInterval,aUsSampleTime,aProgress)	\
    ( (This)->lpVtbl -> TakeGuestSample(This,aFilename,aUsInterval,aUsSampleTime,aProgress) ) 

#define IMachineDebugger_GetUVMAndVMMFunctionTable(This,aMagicVersion,aVMMFunctionTable,aUVM)	\
    ( (This)->lpVtbl -> GetUVMAndVMMFunctionTable(This,aMagicVersion,aVMMFunctionTable,aUVM) ) 

#define IMachineDebugger_InternalAndReservedMethod1IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod2IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod3IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod4IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod5IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod6IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod7IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod8IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod9IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod9IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod10IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod10IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod11IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod11IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod12IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod12IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod13IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod13IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod14IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod14IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod15IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod15IMachineDebugger(This) ) 

#define IMachineDebugger_InternalAndReservedMethod16IMachineDebugger(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod16IMachineDebugger(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMachineDebugger_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0085 */
/* [local] */ 

#define COM_FORWARD_IMachineDebugger_GETTER_SingleStep_TO(smth) HRESULT STDMETHODCALLTYPE get_SingleStep (BOOL * aSingleStep) { return smth get_SingleStep (aSingleStep); }
#define COM_FORWARD_IMachineDebugger_GETTER_SingleStep_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_SingleStep_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_SingleStep_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_SingleStep_TO (base::)
#define COM_FORWARD_IMachineDebugger_SETTER_SingleStep_TO(smth) HRESULT STDMETHODCALLTYPE put_SingleStep (BOOL aSingleStep) { return smth put_SingleStep (aSingleStep); }
#define COM_FORWARD_IMachineDebugger_SETTER_SingleStep_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_SingleStep_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_SETTER_SingleStep_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_SingleStep_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_ExecuteAllInIEM_TO(smth) HRESULT STDMETHODCALLTYPE get_ExecuteAllInIEM (BOOL * aExecuteAllInIEM) { return smth get_ExecuteAllInIEM (aExecuteAllInIEM); }
#define COM_FORWARD_IMachineDebugger_GETTER_ExecuteAllInIEM_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_ExecuteAllInIEM_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_ExecuteAllInIEM_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_ExecuteAllInIEM_TO (base::)
#define COM_FORWARD_IMachineDebugger_SETTER_ExecuteAllInIEM_TO(smth) HRESULT STDMETHODCALLTYPE put_ExecuteAllInIEM (BOOL aExecuteAllInIEM) { return smth put_ExecuteAllInIEM (aExecuteAllInIEM); }
#define COM_FORWARD_IMachineDebugger_SETTER_ExecuteAllInIEM_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_ExecuteAllInIEM_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_SETTER_ExecuteAllInIEM_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_ExecuteAllInIEM_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_LogEnabled (BOOL * aLogEnabled) { return smth get_LogEnabled (aLogEnabled); }
#define COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO (base::)
#define COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO(smth) HRESULT STDMETHODCALLTYPE put_LogEnabled (BOOL aLogEnabled) { return smth put_LogEnabled (aLogEnabled); }
#define COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgFlags_TO(smth) HRESULT STDMETHODCALLTYPE get_LogDbgFlags (BSTR * aLogDbgFlags) { return smth get_LogDbgFlags (aLogDbgFlags); }
#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgFlags_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogDbgFlags_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgFlags_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogDbgFlags_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgGroups_TO(smth) HRESULT STDMETHODCALLTYPE get_LogDbgGroups (BSTR * aLogDbgGroups) { return smth get_LogDbgGroups (aLogDbgGroups); }
#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgGroups_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogDbgGroups_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgGroups_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogDbgGroups_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgDestinations_TO(smth) HRESULT STDMETHODCALLTYPE get_LogDbgDestinations (BSTR * aLogDbgDestinations) { return smth get_LogDbgDestinations (aLogDbgDestinations); }
#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgDestinations_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogDbgDestinations_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_LogDbgDestinations_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogDbgDestinations_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_LogRelFlags_TO(smth) HRESULT STDMETHODCALLTYPE get_LogRelFlags (BSTR * aLogRelFlags) { return smth get_LogRelFlags (aLogRelFlags); }
#define COM_FORWARD_IMachineDebugger_GETTER_LogRelFlags_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogRelFlags_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_LogRelFlags_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogRelFlags_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_LogRelGroups_TO(smth) HRESULT STDMETHODCALLTYPE get_LogRelGroups (BSTR * aLogRelGroups) { return smth get_LogRelGroups (aLogRelGroups); }
#define COM_FORWARD_IMachineDebugger_GETTER_LogRelGroups_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogRelGroups_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_LogRelGroups_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogRelGroups_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_LogRelDestinations_TO(smth) HRESULT STDMETHODCALLTYPE get_LogRelDestinations (BSTR * aLogRelDestinations) { return smth get_LogRelDestinations (aLogRelDestinations); }
#define COM_FORWARD_IMachineDebugger_GETTER_LogRelDestinations_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_LogRelDestinations_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_LogRelDestinations_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_LogRelDestinations_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_ExecutionEngine_TO(smth) HRESULT STDMETHODCALLTYPE get_ExecutionEngine (VMExecutionEngine * aExecutionEngine) { return smth get_ExecutionEngine (aExecutionEngine); }
#define COM_FORWARD_IMachineDebugger_GETTER_ExecutionEngine_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_ExecutionEngine_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_ExecutionEngine_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_ExecutionEngine_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_HWVirtExNestedPagingEnabled (BOOL * aHWVirtExNestedPagingEnabled) { return smth get_HWVirtExNestedPagingEnabled (aHWVirtExNestedPagingEnabled); }
#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_HWVirtExVPIDEnabled (BOOL * aHWVirtExVPIDEnabled) { return smth get_HWVirtExVPIDEnabled (aHWVirtExVPIDEnabled); }
#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExUXEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_HWVirtExUXEnabled (BOOL * aHWVirtExUXEnabled) { return smth get_HWVirtExUXEnabled (aHWVirtExUXEnabled); }
#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExUXEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExUXEnabled_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_HWVirtExUXEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExUXEnabled_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_OSName_TO(smth) HRESULT STDMETHODCALLTYPE get_OSName (BSTR * aOSName) { return smth get_OSName (aOSName); }
#define COM_FORWARD_IMachineDebugger_GETTER_OSName_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_OSName_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_OSName_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_OSName_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_OSVersion_TO(smth) HRESULT STDMETHODCALLTYPE get_OSVersion (BSTR * aOSVersion) { return smth get_OSVersion (aOSVersion); }
#define COM_FORWARD_IMachineDebugger_GETTER_OSVersion_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_OSVersion_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_OSVersion_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_OSVersion_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_PAEEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_PAEEnabled (BOOL * aPAEEnabled) { return smth get_PAEEnabled (aPAEEnabled); }
#define COM_FORWARD_IMachineDebugger_GETTER_PAEEnabled_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_PAEEnabled_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_PAEEnabled_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_PAEEnabled_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_VirtualTimeRate_TO(smth) HRESULT STDMETHODCALLTYPE get_VirtualTimeRate (ULONG * aVirtualTimeRate) { return smth get_VirtualTimeRate (aVirtualTimeRate); }
#define COM_FORWARD_IMachineDebugger_GETTER_VirtualTimeRate_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_VirtualTimeRate_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_VirtualTimeRate_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_VirtualTimeRate_TO (base::)
#define COM_FORWARD_IMachineDebugger_SETTER_VirtualTimeRate_TO(smth) HRESULT STDMETHODCALLTYPE put_VirtualTimeRate (ULONG aVirtualTimeRate) { return smth put_VirtualTimeRate (aVirtualTimeRate); }
#define COM_FORWARD_IMachineDebugger_SETTER_VirtualTimeRate_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SETTER_VirtualTimeRate_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_SETTER_VirtualTimeRate_TO_BASE(base) COM_FORWARD_IMachineDebugger_SETTER_VirtualTimeRate_TO (base::)
#define COM_FORWARD_IMachineDebugger_GETTER_Uptime_TO(smth) HRESULT STDMETHODCALLTYPE get_Uptime (LONG64 * aUptime) { return smth get_Uptime (aUptime); }
#define COM_FORWARD_IMachineDebugger_GETTER_Uptime_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GETTER_Uptime_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GETTER_Uptime_TO_BASE(base) COM_FORWARD_IMachineDebugger_GETTER_Uptime_TO (base::)
#define COM_FORWARD_IMachineDebugger_DumpGuestCore_TO(smth) HRESULT STDMETHODCALLTYPE DumpGuestCore (BSTR aFilename, BSTR aCompression) { return smth DumpGuestCore (aFilename, aCompression); }
#define COM_FORWARD_IMachineDebugger_DumpGuestCore_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_DumpGuestCore_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_DumpGuestCore_TO_BASE(base) COM_FORWARD_IMachineDebugger_DumpGuestCore_TO (base::)
#define COM_FORWARD_IMachineDebugger_DumpHostProcessCore_TO(smth) HRESULT STDMETHODCALLTYPE DumpHostProcessCore (BSTR aFilename, BSTR aCompression) { return smth DumpHostProcessCore (aFilename, aCompression); }
#define COM_FORWARD_IMachineDebugger_DumpHostProcessCore_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_DumpHostProcessCore_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_DumpHostProcessCore_TO_BASE(base) COM_FORWARD_IMachineDebugger_DumpHostProcessCore_TO (base::)
#define COM_FORWARD_IMachineDebugger_Info_TO(smth) HRESULT STDMETHODCALLTYPE Info (BSTR aName, BSTR aArgs, BSTR * aInfo) { return smth Info (aName, aArgs, aInfo); }
#define COM_FORWARD_IMachineDebugger_Info_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_Info_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_Info_TO_BASE(base) COM_FORWARD_IMachineDebugger_Info_TO (base::)
#define COM_FORWARD_IMachineDebugger_InjectNMI_TO(smth) HRESULT STDMETHODCALLTYPE InjectNMI() { return smth InjectNMI(); }
#define COM_FORWARD_IMachineDebugger_InjectNMI_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_InjectNMI_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_InjectNMI_TO_BASE(base) COM_FORWARD_IMachineDebugger_InjectNMI_TO (base::)
#define COM_FORWARD_IMachineDebugger_ModifyLogGroups_TO(smth) HRESULT STDMETHODCALLTYPE ModifyLogGroups (BSTR aSettings) { return smth ModifyLogGroups (aSettings); }
#define COM_FORWARD_IMachineDebugger_ModifyLogGroups_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ModifyLogGroups_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_ModifyLogGroups_TO_BASE(base) COM_FORWARD_IMachineDebugger_ModifyLogGroups_TO (base::)
#define COM_FORWARD_IMachineDebugger_ModifyLogFlags_TO(smth) HRESULT STDMETHODCALLTYPE ModifyLogFlags (BSTR aSettings) { return smth ModifyLogFlags (aSettings); }
#define COM_FORWARD_IMachineDebugger_ModifyLogFlags_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ModifyLogFlags_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_ModifyLogFlags_TO_BASE(base) COM_FORWARD_IMachineDebugger_ModifyLogFlags_TO (base::)
#define COM_FORWARD_IMachineDebugger_ModifyLogDestinations_TO(smth) HRESULT STDMETHODCALLTYPE ModifyLogDestinations (BSTR aSettings) { return smth ModifyLogDestinations (aSettings); }
#define COM_FORWARD_IMachineDebugger_ModifyLogDestinations_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ModifyLogDestinations_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_ModifyLogDestinations_TO_BASE(base) COM_FORWARD_IMachineDebugger_ModifyLogDestinations_TO (base::)
#define COM_FORWARD_IMachineDebugger_ReadPhysicalMemory_TO(smth) HRESULT STDMETHODCALLTYPE ReadPhysicalMemory (LONG64 aAddress, ULONG aSize, SAFEARRAY * * aBytes) { return smth ReadPhysicalMemory (aAddress, aSize, aBytes); }
#define COM_FORWARD_IMachineDebugger_ReadPhysicalMemory_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ReadPhysicalMemory_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_ReadPhysicalMemory_TO_BASE(base) COM_FORWARD_IMachineDebugger_ReadPhysicalMemory_TO (base::)
#define COM_FORWARD_IMachineDebugger_WritePhysicalMemory_TO(smth) HRESULT STDMETHODCALLTYPE WritePhysicalMemory (LONG64 aAddress, ULONG aSize, SAFEARRAY * * aBytes) { return smth WritePhysicalMemory (aAddress, aSize, aBytes); }
#define COM_FORWARD_IMachineDebugger_WritePhysicalMemory_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_WritePhysicalMemory_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_WritePhysicalMemory_TO_BASE(base) COM_FORWARD_IMachineDebugger_WritePhysicalMemory_TO (base::)
#define COM_FORWARD_IMachineDebugger_ReadVirtualMemory_TO(smth) HRESULT STDMETHODCALLTYPE ReadVirtualMemory (ULONG aCpuId, LONG64 aAddress, ULONG aSize, SAFEARRAY * * aBytes) { return smth ReadVirtualMemory (aCpuId, aAddress, aSize, aBytes); }
#define COM_FORWARD_IMachineDebugger_ReadVirtualMemory_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ReadVirtualMemory_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_ReadVirtualMemory_TO_BASE(base) COM_FORWARD_IMachineDebugger_ReadVirtualMemory_TO (base::)
#define COM_FORWARD_IMachineDebugger_WriteVirtualMemory_TO(smth) HRESULT STDMETHODCALLTYPE WriteVirtualMemory (ULONG aCpuId, LONG64 aAddress, ULONG aSize, SAFEARRAY * * aBytes) { return smth WriteVirtualMemory (aCpuId, aAddress, aSize, aBytes); }
#define COM_FORWARD_IMachineDebugger_WriteVirtualMemory_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_WriteVirtualMemory_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_WriteVirtualMemory_TO_BASE(base) COM_FORWARD_IMachineDebugger_WriteVirtualMemory_TO (base::)
#define COM_FORWARD_IMachineDebugger_LoadPlugIn_TO(smth) HRESULT STDMETHODCALLTYPE LoadPlugIn (BSTR aName, BSTR * aPlugInName) { return smth LoadPlugIn (aName, aPlugInName); }
#define COM_FORWARD_IMachineDebugger_LoadPlugIn_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_LoadPlugIn_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_LoadPlugIn_TO_BASE(base) COM_FORWARD_IMachineDebugger_LoadPlugIn_TO (base::)
#define COM_FORWARD_IMachineDebugger_UnloadPlugIn_TO(smth) HRESULT STDMETHODCALLTYPE UnloadPlugIn (BSTR aName) { return smth UnloadPlugIn (aName); }
#define COM_FORWARD_IMachineDebugger_UnloadPlugIn_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_UnloadPlugIn_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_UnloadPlugIn_TO_BASE(base) COM_FORWARD_IMachineDebugger_UnloadPlugIn_TO (base::)
#define COM_FORWARD_IMachineDebugger_DetectOS_TO(smth) HRESULT STDMETHODCALLTYPE DetectOS (BSTR * aOs) { return smth DetectOS (aOs); }
#define COM_FORWARD_IMachineDebugger_DetectOS_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_DetectOS_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_DetectOS_TO_BASE(base) COM_FORWARD_IMachineDebugger_DetectOS_TO (base::)
#define COM_FORWARD_IMachineDebugger_QueryOSKernelLog_TO(smth) HRESULT STDMETHODCALLTYPE QueryOSKernelLog (ULONG aMaxMessages, BSTR * aDmesg) { return smth QueryOSKernelLog (aMaxMessages, aDmesg); }
#define COM_FORWARD_IMachineDebugger_QueryOSKernelLog_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_QueryOSKernelLog_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_QueryOSKernelLog_TO_BASE(base) COM_FORWARD_IMachineDebugger_QueryOSKernelLog_TO (base::)
#define COM_FORWARD_IMachineDebugger_GetRegister_TO(smth) HRESULT STDMETHODCALLTYPE GetRegister (ULONG aCpuId, BSTR aName, BSTR * aValue) { return smth GetRegister (aCpuId, aName, aValue); }
#define COM_FORWARD_IMachineDebugger_GetRegister_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GetRegister_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GetRegister_TO_BASE(base) COM_FORWARD_IMachineDebugger_GetRegister_TO (base::)
#define COM_FORWARD_IMachineDebugger_GetRegisters_TO(smth) HRESULT STDMETHODCALLTYPE GetRegisters (ULONG aCpuId, SAFEARRAY * * aNames, SAFEARRAY * * aValues) { return smth GetRegisters (aCpuId, aNames, aValues); }
#define COM_FORWARD_IMachineDebugger_GetRegisters_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GetRegisters_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GetRegisters_TO_BASE(base) COM_FORWARD_IMachineDebugger_GetRegisters_TO (base::)
#define COM_FORWARD_IMachineDebugger_SetRegister_TO(smth) HRESULT STDMETHODCALLTYPE SetRegister (ULONG aCpuId, BSTR aName, BSTR aValue) { return smth SetRegister (aCpuId, aName, aValue); }
#define COM_FORWARD_IMachineDebugger_SetRegister_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SetRegister_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_SetRegister_TO_BASE(base) COM_FORWARD_IMachineDebugger_SetRegister_TO (base::)
#define COM_FORWARD_IMachineDebugger_SetRegisters_TO(smth) HRESULT STDMETHODCALLTYPE SetRegisters (ULONG aCpuId, SAFEARRAY * * aNames, SAFEARRAY * * aValues) { return smth SetRegisters (aCpuId, aNames, aValues); }
#define COM_FORWARD_IMachineDebugger_SetRegisters_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_SetRegisters_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_SetRegisters_TO_BASE(base) COM_FORWARD_IMachineDebugger_SetRegisters_TO (base::)
#define COM_FORWARD_IMachineDebugger_DumpGuestStack_TO(smth) HRESULT STDMETHODCALLTYPE DumpGuestStack (ULONG aCpuId, BSTR * aStack) { return smth DumpGuestStack (aCpuId, aStack); }
#define COM_FORWARD_IMachineDebugger_DumpGuestStack_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_DumpGuestStack_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_DumpGuestStack_TO_BASE(base) COM_FORWARD_IMachineDebugger_DumpGuestStack_TO (base::)
#define COM_FORWARD_IMachineDebugger_ResetStats_TO(smth) HRESULT STDMETHODCALLTYPE ResetStats (BSTR aPattern) { return smth ResetStats (aPattern); }
#define COM_FORWARD_IMachineDebugger_ResetStats_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_ResetStats_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_ResetStats_TO_BASE(base) COM_FORWARD_IMachineDebugger_ResetStats_TO (base::)
#define COM_FORWARD_IMachineDebugger_DumpStats_TO(smth) HRESULT STDMETHODCALLTYPE DumpStats (BSTR aPattern) { return smth DumpStats (aPattern); }
#define COM_FORWARD_IMachineDebugger_DumpStats_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_DumpStats_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_DumpStats_TO_BASE(base) COM_FORWARD_IMachineDebugger_DumpStats_TO (base::)
#define COM_FORWARD_IMachineDebugger_GetStats_TO(smth) HRESULT STDMETHODCALLTYPE GetStats (BSTR aPattern, BOOL aWithDescriptions, BSTR * aStats) { return smth GetStats (aPattern, aWithDescriptions, aStats); }
#define COM_FORWARD_IMachineDebugger_GetStats_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GetStats_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GetStats_TO_BASE(base) COM_FORWARD_IMachineDebugger_GetStats_TO (base::)
#define COM_FORWARD_IMachineDebugger_GetCPULoad_TO(smth) HRESULT STDMETHODCALLTYPE GetCPULoad (ULONG aCpuId, ULONG * aPctExecuting, ULONG * aPctHalted, ULONG * aPctOther, LONG64 * aMsInterval) { return smth GetCPULoad (aCpuId, aPctExecuting, aPctHalted, aPctOther, aMsInterval); }
#define COM_FORWARD_IMachineDebugger_GetCPULoad_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GetCPULoad_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GetCPULoad_TO_BASE(base) COM_FORWARD_IMachineDebugger_GetCPULoad_TO (base::)
#define COM_FORWARD_IMachineDebugger_TakeGuestSample_TO(smth) HRESULT STDMETHODCALLTYPE TakeGuestSample (BSTR aFilename, ULONG aUsInterval, LONG64 aUsSampleTime, IProgress * * aProgress) { return smth TakeGuestSample (aFilename, aUsInterval, aUsSampleTime, aProgress); }
#define COM_FORWARD_IMachineDebugger_TakeGuestSample_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_TakeGuestSample_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_TakeGuestSample_TO_BASE(base) COM_FORWARD_IMachineDebugger_TakeGuestSample_TO (base::)
#define COM_FORWARD_IMachineDebugger_GetUVMAndVMMFunctionTable_TO(smth) HRESULT STDMETHODCALLTYPE GetUVMAndVMMFunctionTable (LONG64 aMagicVersion, LONG64 * aVMMFunctionTable, LONG64 * aUVM) { return smth GetUVMAndVMMFunctionTable (aMagicVersion, aVMMFunctionTable, aUVM); }
#define COM_FORWARD_IMachineDebugger_GetUVMAndVMMFunctionTable_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_GetUVMAndVMMFunctionTable_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_GetUVMAndVMMFunctionTable_TO_BASE(base) COM_FORWARD_IMachineDebugger_GetUVMAndVMMFunctionTable_TO (base::)
#define COM_FORWARD_IMachineDebugger_TO(smth) COM_FORWARD_IMachineDebugger_GETTER_SingleStep_TO (smth) COM_FORWARD_IMachineDebugger_SETTER_SingleStep_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_ExecuteAllInIEM_TO (smth) COM_FORWARD_IMachineDebugger_SETTER_ExecuteAllInIEM_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_LogEnabled_TO (smth) COM_FORWARD_IMachineDebugger_SETTER_LogEnabled_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_LogDbgFlags_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_LogDbgGroups_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_LogDbgDestinations_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_LogRelFlags_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_LogRelGroups_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_LogRelDestinations_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_ExecutionEngine_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExNestedPagingEnabled_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExVPIDEnabled_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_HWVirtExUXEnabled_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_OSName_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_OSVersion_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_PAEEnabled_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_VirtualTimeRate_TO (smth) COM_FORWARD_IMachineDebugger_SETTER_VirtualTimeRate_TO (smth) COM_FORWARD_IMachineDebugger_GETTER_Uptime_TO (smth) COM_FORWARD_IMachineDebugger_DumpGuestCore_TO (smth) COM_FORWARD_IMachineDebugger_DumpHostProcessCore_TO (smth) COM_FORWARD_IMachineDebugger_Info_TO (smth) COM_FORWARD_IMachineDebugger_InjectNMI_TO (smth) COM_FORWARD_IMachineDebugger_ModifyLogGroups_TO (smth) COM_FORWARD_IMachineDebugger_ModifyLogFlags_TO (smth) COM_FORWARD_IMachineDebugger_ModifyLogDestinations_TO (smth) COM_FORWARD_IMachineDebugger_ReadPhysicalMemory_TO (smth) COM_FORWARD_IMachineDebugger_WritePhysicalMemory_TO (smth) COM_FORWARD_IMachineDebugger_ReadVirtualMemory_TO (smth) COM_FORWARD_IMachineDebugger_WriteVirtualMemory_TO (smth) COM_FORWARD_IMachineDebugger_LoadPlugIn_TO (smth) COM_FORWARD_IMachineDebugger_UnloadPlugIn_TO (smth) COM_FORWARD_IMachineDebugger_DetectOS_TO (smth) COM_FORWARD_IMachineDebugger_QueryOSKernelLog_TO (smth) COM_FORWARD_IMachineDebugger_GetRegister_TO (smth) COM_FORWARD_IMachineDebugger_GetRegisters_TO (smth) COM_FORWARD_IMachineDebugger_SetRegister_TO (smth) COM_FORWARD_IMachineDebugger_SetRegisters_TO (smth) COM_FORWARD_IMachineDebugger_DumpGuestStack_TO (smth) COM_FORWARD_IMachineDebugger_ResetStats_TO (smth) COM_FORWARD_IMachineDebugger_DumpStats_TO (smth) COM_FORWARD_IMachineDebugger_GetStats_TO (smth) COM_FORWARD_IMachineDebugger_GetCPULoad_TO (smth) COM_FORWARD_IMachineDebugger_TakeGuestSample_TO (smth) COM_FORWARD_IMachineDebugger_GetUVMAndVMMFunctionTable_TO (smth) 
#define COM_FORWARD_IMachineDebugger_TO_OBJ(obj) COM_FORWARD_IMachineDebugger_TO ((obj)->)
#define COM_FORWARD_IMachineDebugger_TO_BASE(base) COM_FORWARD_IMachineDebugger_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0085_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0085_v0_0_s_ifspec;

#ifndef __IUSBDeviceFilters_INTERFACE_DEFINED__
#define __IUSBDeviceFilters_INTERFACE_DEFINED__

/* interface IUSBDeviceFilters */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUSBDeviceFilters;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9709db9b-3346-49d6-8f1c-41b0c4784ff2")
    IUSBDeviceFilters : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeviceFilters( 
            /* [retval][out] */ SAFEARRAY * *aDeviceFilters) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IUSBDeviceFilters( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IUSBDeviceFilters( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateDeviceFilter( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IUSBDeviceFilter **aFilter) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertDeviceFilter( 
            /* [in] */ ULONG aPosition,
            /* [in] */ IUSBDeviceFilter *aFilter) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveDeviceFilter( 
            /* [in] */ ULONG aPosition,
            /* [retval][out] */ IUSBDeviceFilter **aFilter) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IUSBDeviceFilters( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IUSBDeviceFilters( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUSBDeviceFiltersVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUSBDeviceFilters * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUSBDeviceFilters * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUSBDeviceFilters * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUSBDeviceFilters * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUSBDeviceFilters * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUSBDeviceFilters * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUSBDeviceFilters * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilters, get_DeviceFilters)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceFilters )( 
            IUSBDeviceFilters * This,
            /* [retval][out] */ SAFEARRAY * *aDeviceFilters);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilters, get_InternalAndReservedAttribute1IUSBDeviceFilters)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IUSBDeviceFilters )( 
            IUSBDeviceFilters * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilters, get_InternalAndReservedAttribute2IUSBDeviceFilters)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IUSBDeviceFilters )( 
            IUSBDeviceFilters * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilters, CreateDeviceFilter)
        HRESULT ( STDMETHODCALLTYPE *CreateDeviceFilter )( 
            IUSBDeviceFilters * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IUSBDeviceFilter **aFilter);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilters, InsertDeviceFilter)
        HRESULT ( STDMETHODCALLTYPE *InsertDeviceFilter )( 
            IUSBDeviceFilters * This,
            /* [in] */ ULONG aPosition,
            /* [in] */ IUSBDeviceFilter *aFilter);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilters, RemoveDeviceFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveDeviceFilter )( 
            IUSBDeviceFilters * This,
            /* [in] */ ULONG aPosition,
            /* [retval][out] */ IUSBDeviceFilter **aFilter);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilters, InternalAndReservedMethod1IUSBDeviceFilters)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IUSBDeviceFilters )( 
            IUSBDeviceFilters * This);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilters, InternalAndReservedMethod2IUSBDeviceFilters)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IUSBDeviceFilters )( 
            IUSBDeviceFilters * This);
        
        END_INTERFACE
    } IUSBDeviceFiltersVtbl;

    interface IUSBDeviceFilters
    {
        CONST_VTBL struct IUSBDeviceFiltersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUSBDeviceFilters_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUSBDeviceFilters_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUSBDeviceFilters_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUSBDeviceFilters_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUSBDeviceFilters_get_DeviceFilters(This,aDeviceFilters)	\
    ( (This)->lpVtbl -> get_DeviceFilters(This,aDeviceFilters) ) 

#define IUSBDeviceFilters_get_InternalAndReservedAttribute1IUSBDeviceFilters(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IUSBDeviceFilters(This,aReserved) ) 

#define IUSBDeviceFilters_get_InternalAndReservedAttribute2IUSBDeviceFilters(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IUSBDeviceFilters(This,aReserved) ) 

#define IUSBDeviceFilters_CreateDeviceFilter(This,aName,aFilter)	\
    ( (This)->lpVtbl -> CreateDeviceFilter(This,aName,aFilter) ) 

#define IUSBDeviceFilters_InsertDeviceFilter(This,aPosition,aFilter)	\
    ( (This)->lpVtbl -> InsertDeviceFilter(This,aPosition,aFilter) ) 

#define IUSBDeviceFilters_RemoveDeviceFilter(This,aPosition,aFilter)	\
    ( (This)->lpVtbl -> RemoveDeviceFilter(This,aPosition,aFilter) ) 

#define IUSBDeviceFilters_InternalAndReservedMethod1IUSBDeviceFilters(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IUSBDeviceFilters(This) ) 

#define IUSBDeviceFilters_InternalAndReservedMethod2IUSBDeviceFilters(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IUSBDeviceFilters(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUSBDeviceFilters_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0086 */
/* [local] */ 

#define COM_FORWARD_IUSBDeviceFilters_GETTER_DeviceFilters_TO(smth) HRESULT STDMETHODCALLTYPE get_DeviceFilters (SAFEARRAY * * aDeviceFilters) { return smth get_DeviceFilters (aDeviceFilters); }
#define COM_FORWARD_IUSBDeviceFilters_GETTER_DeviceFilters_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilters_GETTER_DeviceFilters_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilters_GETTER_DeviceFilters_TO_BASE(base) COM_FORWARD_IUSBDeviceFilters_GETTER_DeviceFilters_TO (base::)
#define COM_FORWARD_IUSBDeviceFilters_CreateDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE CreateDeviceFilter (BSTR aName, IUSBDeviceFilter * * aFilter) { return smth CreateDeviceFilter (aName, aFilter); }
#define COM_FORWARD_IUSBDeviceFilters_CreateDeviceFilter_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilters_CreateDeviceFilter_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilters_CreateDeviceFilter_TO_BASE(base) COM_FORWARD_IUSBDeviceFilters_CreateDeviceFilter_TO (base::)
#define COM_FORWARD_IUSBDeviceFilters_InsertDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE InsertDeviceFilter (ULONG aPosition, IUSBDeviceFilter * aFilter) { return smth InsertDeviceFilter (aPosition, aFilter); }
#define COM_FORWARD_IUSBDeviceFilters_InsertDeviceFilter_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilters_InsertDeviceFilter_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilters_InsertDeviceFilter_TO_BASE(base) COM_FORWARD_IUSBDeviceFilters_InsertDeviceFilter_TO (base::)
#define COM_FORWARD_IUSBDeviceFilters_RemoveDeviceFilter_TO(smth) HRESULT STDMETHODCALLTYPE RemoveDeviceFilter (ULONG aPosition, IUSBDeviceFilter * * aFilter) { return smth RemoveDeviceFilter (aPosition, aFilter); }
#define COM_FORWARD_IUSBDeviceFilters_RemoveDeviceFilter_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilters_RemoveDeviceFilter_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilters_RemoveDeviceFilter_TO_BASE(base) COM_FORWARD_IUSBDeviceFilters_RemoveDeviceFilter_TO (base::)
#define COM_FORWARD_IUSBDeviceFilters_TO(smth) COM_FORWARD_IUSBDeviceFilters_GETTER_DeviceFilters_TO (smth) COM_FORWARD_IUSBDeviceFilters_CreateDeviceFilter_TO (smth) COM_FORWARD_IUSBDeviceFilters_InsertDeviceFilter_TO (smth) COM_FORWARD_IUSBDeviceFilters_RemoveDeviceFilter_TO (smth) 
#define COM_FORWARD_IUSBDeviceFilters_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilters_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilters_TO_BASE(base) COM_FORWARD_IUSBDeviceFilters_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0086_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0086_v0_0_s_ifspec;

#ifndef __IUSBController_INTERFACE_DEFINED__
#define __IUSBController_INTERFACE_DEFINED__

/* interface IUSBController */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUSBController;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ee206a6e-7ff8-4a84-bd34-0c651e118bb5")
    IUSBController : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ USBControllerType *aType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ USBControllerType aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_USBStandard( 
            /* [retval][out] */ USHORT *aUSBStandard) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IUSBController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IUSBController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IUSBController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IUSBController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUSBControllerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUSBController * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUSBController * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUSBController * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUSBController * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUSBController * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUSBController * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUSBController * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IUSBController, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IUSBController * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IUSBController, put_Name)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IUSBController * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IUSBController, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IUSBController * This,
            /* [retval][out] */ USBControllerType *aType);
        
        DECLSPEC_XFGVIRT(IUSBController, put_Type)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IUSBController * This,
            /* [in] */ USBControllerType aType);
        
        DECLSPEC_XFGVIRT(IUSBController, get_USBStandard)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_USBStandard )( 
            IUSBController * This,
            /* [retval][out] */ USHORT *aUSBStandard);
        
        DECLSPEC_XFGVIRT(IUSBController, get_InternalAndReservedAttribute1IUSBController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IUSBController )( 
            IUSBController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBController, get_InternalAndReservedAttribute2IUSBController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IUSBController )( 
            IUSBController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBController, get_InternalAndReservedAttribute3IUSBController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IUSBController )( 
            IUSBController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBController, get_InternalAndReservedAttribute4IUSBController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IUSBController )( 
            IUSBController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IUSBControllerVtbl;

    interface IUSBController
    {
        CONST_VTBL struct IUSBControllerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUSBController_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUSBController_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUSBController_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUSBController_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUSBController_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IUSBController_put_Name(This,aName)	\
    ( (This)->lpVtbl -> put_Name(This,aName) ) 

#define IUSBController_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IUSBController_put_Type(This,aType)	\
    ( (This)->lpVtbl -> put_Type(This,aType) ) 

#define IUSBController_get_USBStandard(This,aUSBStandard)	\
    ( (This)->lpVtbl -> get_USBStandard(This,aUSBStandard) ) 

#define IUSBController_get_InternalAndReservedAttribute1IUSBController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IUSBController(This,aReserved) ) 

#define IUSBController_get_InternalAndReservedAttribute2IUSBController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IUSBController(This,aReserved) ) 

#define IUSBController_get_InternalAndReservedAttribute3IUSBController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IUSBController(This,aReserved) ) 

#define IUSBController_get_InternalAndReservedAttribute4IUSBController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IUSBController(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUSBController_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0087 */
/* [local] */ 

#define COM_FORWARD_IUSBController_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IUSBController_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IUSBController_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IUSBController_GETTER_Name_TO_BASE(base) COM_FORWARD_IUSBController_GETTER_Name_TO (base::)
#define COM_FORWARD_IUSBController_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }
#define COM_FORWARD_IUSBController_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IUSBController_SETTER_Name_TO ((obj)->)
#define COM_FORWARD_IUSBController_SETTER_Name_TO_BASE(base) COM_FORWARD_IUSBController_SETTER_Name_TO (base::)
#define COM_FORWARD_IUSBController_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (USBControllerType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IUSBController_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IUSBController_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IUSBController_GETTER_Type_TO_BASE(base) COM_FORWARD_IUSBController_GETTER_Type_TO (base::)
#define COM_FORWARD_IUSBController_SETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE put_Type (USBControllerType aType) { return smth put_Type (aType); }
#define COM_FORWARD_IUSBController_SETTER_Type_TO_OBJ(obj) COM_FORWARD_IUSBController_SETTER_Type_TO ((obj)->)
#define COM_FORWARD_IUSBController_SETTER_Type_TO_BASE(base) COM_FORWARD_IUSBController_SETTER_Type_TO (base::)
#define COM_FORWARD_IUSBController_GETTER_USBStandard_TO(smth) HRESULT STDMETHODCALLTYPE get_USBStandard (USHORT * aUSBStandard) { return smth get_USBStandard (aUSBStandard); }
#define COM_FORWARD_IUSBController_GETTER_USBStandard_TO_OBJ(obj) COM_FORWARD_IUSBController_GETTER_USBStandard_TO ((obj)->)
#define COM_FORWARD_IUSBController_GETTER_USBStandard_TO_BASE(base) COM_FORWARD_IUSBController_GETTER_USBStandard_TO (base::)
#define COM_FORWARD_IUSBController_TO(smth) COM_FORWARD_IUSBController_GETTER_Name_TO (smth) COM_FORWARD_IUSBController_SETTER_Name_TO (smth) COM_FORWARD_IUSBController_GETTER_Type_TO (smth) COM_FORWARD_IUSBController_SETTER_Type_TO (smth) COM_FORWARD_IUSBController_GETTER_USBStandard_TO (smth) 
#define COM_FORWARD_IUSBController_TO_OBJ(obj) COM_FORWARD_IUSBController_TO ((obj)->)
#define COM_FORWARD_IUSBController_TO_BASE(base) COM_FORWARD_IUSBController_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0087_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0087_v0_0_s_ifspec;

#ifndef __IUSBDevice_INTERFACE_DEFINED__
#define __IUSBDevice_INTERFACE_DEFINED__

/* interface IUSBDevice */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUSBDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6dc83c2c-81a9-4005-9d52-fc45a78bf3f5")
    IUSBDevice : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VendorId( 
            /* [retval][out] */ USHORT *aVendorId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProductId( 
            /* [retval][out] */ USHORT *aProductId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Revision( 
            /* [retval][out] */ USHORT *aRevision) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Manufacturer( 
            /* [retval][out] */ BSTR *aManufacturer) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Product( 
            /* [retval][out] */ BSTR *aProduct) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SerialNumber( 
            /* [retval][out] */ BSTR *aSerialNumber) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Address( 
            /* [retval][out] */ BSTR *aAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Port( 
            /* [retval][out] */ USHORT *aPort) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortPath( 
            /* [retval][out] */ BSTR *aPortPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ USHORT *aVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Speed( 
            /* [retval][out] */ USBConnectionSpeed *aSpeed) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Remote( 
            /* [retval][out] */ BOOL *aRemote) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DeviceInfo( 
            /* [retval][out] */ SAFEARRAY * *aDeviceInfo) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Backend( 
            /* [retval][out] */ BSTR *aBackend) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IUSBDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IUSBDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IUSBDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IUSBDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUSBDeviceVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUSBDevice * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUSBDevice * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUSBDevice * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUSBDevice * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUSBDevice * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUSBDevice * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUSBDevice * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IUSBDevice * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_VendorId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VendorId )( 
            IUSBDevice * This,
            /* [retval][out] */ USHORT *aVendorId);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_ProductId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProductId )( 
            IUSBDevice * This,
            /* [retval][out] */ USHORT *aProductId);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Revision)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Revision )( 
            IUSBDevice * This,
            /* [retval][out] */ USHORT *aRevision);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Manufacturer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Manufacturer )( 
            IUSBDevice * This,
            /* [retval][out] */ BSTR *aManufacturer);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Product)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Product )( 
            IUSBDevice * This,
            /* [retval][out] */ BSTR *aProduct);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_SerialNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialNumber )( 
            IUSBDevice * This,
            /* [retval][out] */ BSTR *aSerialNumber);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Address)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Address )( 
            IUSBDevice * This,
            /* [retval][out] */ BSTR *aAddress);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Port)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Port )( 
            IUSBDevice * This,
            /* [retval][out] */ USHORT *aPort);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_PortPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortPath )( 
            IUSBDevice * This,
            /* [retval][out] */ BSTR *aPortPath);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Version)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IUSBDevice * This,
            /* [retval][out] */ USHORT *aVersion);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Speed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Speed )( 
            IUSBDevice * This,
            /* [retval][out] */ USBConnectionSpeed *aSpeed);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Remote)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Remote )( 
            IUSBDevice * This,
            /* [retval][out] */ BOOL *aRemote);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_DeviceInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceInfo )( 
            IUSBDevice * This,
            /* [retval][out] */ SAFEARRAY * *aDeviceInfo);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Backend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Backend )( 
            IUSBDevice * This,
            /* [retval][out] */ BSTR *aBackend);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_InternalAndReservedAttribute1IUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IUSBDevice )( 
            IUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_InternalAndReservedAttribute2IUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IUSBDevice )( 
            IUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_InternalAndReservedAttribute3IUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IUSBDevice )( 
            IUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_InternalAndReservedAttribute4IUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IUSBDevice )( 
            IUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IUSBDeviceVtbl;

    interface IUSBDevice
    {
        CONST_VTBL struct IUSBDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUSBDevice_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUSBDevice_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUSBDevice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUSBDevice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUSBDevice_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IUSBDevice_get_VendorId(This,aVendorId)	\
    ( (This)->lpVtbl -> get_VendorId(This,aVendorId) ) 

#define IUSBDevice_get_ProductId(This,aProductId)	\
    ( (This)->lpVtbl -> get_ProductId(This,aProductId) ) 

#define IUSBDevice_get_Revision(This,aRevision)	\
    ( (This)->lpVtbl -> get_Revision(This,aRevision) ) 

#define IUSBDevice_get_Manufacturer(This,aManufacturer)	\
    ( (This)->lpVtbl -> get_Manufacturer(This,aManufacturer) ) 

#define IUSBDevice_get_Product(This,aProduct)	\
    ( (This)->lpVtbl -> get_Product(This,aProduct) ) 

#define IUSBDevice_get_SerialNumber(This,aSerialNumber)	\
    ( (This)->lpVtbl -> get_SerialNumber(This,aSerialNumber) ) 

#define IUSBDevice_get_Address(This,aAddress)	\
    ( (This)->lpVtbl -> get_Address(This,aAddress) ) 

#define IUSBDevice_get_Port(This,aPort)	\
    ( (This)->lpVtbl -> get_Port(This,aPort) ) 

#define IUSBDevice_get_PortPath(This,aPortPath)	\
    ( (This)->lpVtbl -> get_PortPath(This,aPortPath) ) 

#define IUSBDevice_get_Version(This,aVersion)	\
    ( (This)->lpVtbl -> get_Version(This,aVersion) ) 

#define IUSBDevice_get_Speed(This,aSpeed)	\
    ( (This)->lpVtbl -> get_Speed(This,aSpeed) ) 

#define IUSBDevice_get_Remote(This,aRemote)	\
    ( (This)->lpVtbl -> get_Remote(This,aRemote) ) 

#define IUSBDevice_get_DeviceInfo(This,aDeviceInfo)	\
    ( (This)->lpVtbl -> get_DeviceInfo(This,aDeviceInfo) ) 

#define IUSBDevice_get_Backend(This,aBackend)	\
    ( (This)->lpVtbl -> get_Backend(This,aBackend) ) 

#define IUSBDevice_get_InternalAndReservedAttribute1IUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IUSBDevice(This,aReserved) ) 

#define IUSBDevice_get_InternalAndReservedAttribute2IUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IUSBDevice(This,aReserved) ) 

#define IUSBDevice_get_InternalAndReservedAttribute3IUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IUSBDevice(This,aReserved) ) 

#define IUSBDevice_get_InternalAndReservedAttribute4IUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IUSBDevice(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUSBDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0088 */
/* [local] */ 

#define COM_FORWARD_IUSBDevice_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IUSBDevice_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_Id_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Id_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_VendorId_TO(smth) HRESULT STDMETHODCALLTYPE get_VendorId (USHORT * aVendorId) { return smth get_VendorId (aVendorId); }
#define COM_FORWARD_IUSBDevice_GETTER_VendorId_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_VendorId_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_VendorId_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_VendorId_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_ProductId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProductId (USHORT * aProductId) { return smth get_ProductId (aProductId); }
#define COM_FORWARD_IUSBDevice_GETTER_ProductId_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_ProductId_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_ProductId_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_ProductId_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_Revision_TO(smth) HRESULT STDMETHODCALLTYPE get_Revision (USHORT * aRevision) { return smth get_Revision (aRevision); }
#define COM_FORWARD_IUSBDevice_GETTER_Revision_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Revision_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_Revision_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Revision_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_Manufacturer_TO(smth) HRESULT STDMETHODCALLTYPE get_Manufacturer (BSTR * aManufacturer) { return smth get_Manufacturer (aManufacturer); }
#define COM_FORWARD_IUSBDevice_GETTER_Manufacturer_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Manufacturer_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_Manufacturer_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Manufacturer_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_Product_TO(smth) HRESULT STDMETHODCALLTYPE get_Product (BSTR * aProduct) { return smth get_Product (aProduct); }
#define COM_FORWARD_IUSBDevice_GETTER_Product_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Product_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_Product_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Product_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_SerialNumber_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialNumber (BSTR * aSerialNumber) { return smth get_SerialNumber (aSerialNumber); }
#define COM_FORWARD_IUSBDevice_GETTER_SerialNumber_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_SerialNumber_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_SerialNumber_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_SerialNumber_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_Address_TO(smth) HRESULT STDMETHODCALLTYPE get_Address (BSTR * aAddress) { return smth get_Address (aAddress); }
#define COM_FORWARD_IUSBDevice_GETTER_Address_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Address_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_Address_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Address_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_Port_TO(smth) HRESULT STDMETHODCALLTYPE get_Port (USHORT * aPort) { return smth get_Port (aPort); }
#define COM_FORWARD_IUSBDevice_GETTER_Port_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Port_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_Port_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Port_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_PortPath_TO(smth) HRESULT STDMETHODCALLTYPE get_PortPath (BSTR * aPortPath) { return smth get_PortPath (aPortPath); }
#define COM_FORWARD_IUSBDevice_GETTER_PortPath_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_PortPath_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_PortPath_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_PortPath_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_Version_TO(smth) HRESULT STDMETHODCALLTYPE get_Version (USHORT * aVersion) { return smth get_Version (aVersion); }
#define COM_FORWARD_IUSBDevice_GETTER_Version_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Version_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_Version_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Version_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_Speed_TO(smth) HRESULT STDMETHODCALLTYPE get_Speed (USBConnectionSpeed * aSpeed) { return smth get_Speed (aSpeed); }
#define COM_FORWARD_IUSBDevice_GETTER_Speed_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Speed_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_Speed_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Speed_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_Remote_TO(smth) HRESULT STDMETHODCALLTYPE get_Remote (BOOL * aRemote) { return smth get_Remote (aRemote); }
#define COM_FORWARD_IUSBDevice_GETTER_Remote_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Remote_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_Remote_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Remote_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_DeviceInfo_TO(smth) HRESULT STDMETHODCALLTYPE get_DeviceInfo (SAFEARRAY * * aDeviceInfo) { return smth get_DeviceInfo (aDeviceInfo); }
#define COM_FORWARD_IUSBDevice_GETTER_DeviceInfo_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_DeviceInfo_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_DeviceInfo_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_DeviceInfo_TO (base::)
#define COM_FORWARD_IUSBDevice_GETTER_Backend_TO(smth) HRESULT STDMETHODCALLTYPE get_Backend (BSTR * aBackend) { return smth get_Backend (aBackend); }
#define COM_FORWARD_IUSBDevice_GETTER_Backend_TO_OBJ(obj) COM_FORWARD_IUSBDevice_GETTER_Backend_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_GETTER_Backend_TO_BASE(base) COM_FORWARD_IUSBDevice_GETTER_Backend_TO (base::)
#define COM_FORWARD_IUSBDevice_TO(smth) COM_FORWARD_IUSBDevice_GETTER_Id_TO (smth) COM_FORWARD_IUSBDevice_GETTER_VendorId_TO (smth) COM_FORWARD_IUSBDevice_GETTER_ProductId_TO (smth) COM_FORWARD_IUSBDevice_GETTER_Revision_TO (smth) COM_FORWARD_IUSBDevice_GETTER_Manufacturer_TO (smth) COM_FORWARD_IUSBDevice_GETTER_Product_TO (smth) COM_FORWARD_IUSBDevice_GETTER_SerialNumber_TO (smth) COM_FORWARD_IUSBDevice_GETTER_Address_TO (smth) COM_FORWARD_IUSBDevice_GETTER_Port_TO (smth) COM_FORWARD_IUSBDevice_GETTER_PortPath_TO (smth) COM_FORWARD_IUSBDevice_GETTER_Version_TO (smth) COM_FORWARD_IUSBDevice_GETTER_Speed_TO (smth) COM_FORWARD_IUSBDevice_GETTER_Remote_TO (smth) COM_FORWARD_IUSBDevice_GETTER_DeviceInfo_TO (smth) COM_FORWARD_IUSBDevice_GETTER_Backend_TO (smth) 
#define COM_FORWARD_IUSBDevice_TO_OBJ(obj) COM_FORWARD_IUSBDevice_TO ((obj)->)
#define COM_FORWARD_IUSBDevice_TO_BASE(base) COM_FORWARD_IUSBDevice_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0088_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0088_v0_0_s_ifspec;

#ifndef __IUSBDeviceFilter_INTERFACE_DEFINED__
#define __IUSBDeviceFilter_INTERFACE_DEFINED__

/* interface IUSBDeviceFilter */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUSBDeviceFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("45587218-4289-ef4e-8e6a-e5b07816b631")
    IUSBDeviceFilter : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Active( 
            /* [retval][out] */ BOOL *aActive) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Active( 
            /* [in] */ BOOL aActive) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VendorId( 
            /* [retval][out] */ BSTR *aVendorId) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VendorId( 
            /* [in] */ BSTR aVendorId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProductId( 
            /* [retval][out] */ BSTR *aProductId) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProductId( 
            /* [in] */ BSTR aProductId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Revision( 
            /* [retval][out] */ BSTR *aRevision) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Revision( 
            /* [in] */ BSTR aRevision) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Manufacturer( 
            /* [retval][out] */ BSTR *aManufacturer) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Manufacturer( 
            /* [in] */ BSTR aManufacturer) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Product( 
            /* [retval][out] */ BSTR *aProduct) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Product( 
            /* [in] */ BSTR aProduct) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SerialNumber( 
            /* [retval][out] */ BSTR *aSerialNumber) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SerialNumber( 
            /* [in] */ BSTR aSerialNumber) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Port( 
            /* [retval][out] */ BSTR *aPort) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Port( 
            /* [in] */ BSTR aPort) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Remote( 
            /* [retval][out] */ BSTR *aRemote) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Remote( 
            /* [in] */ BSTR aRemote) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaskedInterfaces( 
            /* [retval][out] */ ULONG *aMaskedInterfaces) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MaskedInterfaces( 
            /* [in] */ ULONG aMaskedInterfaces) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUSBDeviceFilterVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUSBDeviceFilter * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUSBDeviceFilter * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUSBDeviceFilter * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUSBDeviceFilter * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUSBDeviceFilter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUSBDeviceFilter * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUSBDeviceFilter * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Name)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IUSBDeviceFilter * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Active)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Active )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ BOOL *aActive);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Active)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Active )( 
            IUSBDeviceFilter * This,
            /* [in] */ BOOL aActive);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_VendorId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VendorId )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aVendorId);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_VendorId)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VendorId )( 
            IUSBDeviceFilter * This,
            /* [in] */ BSTR aVendorId);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_ProductId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProductId )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aProductId);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_ProductId)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProductId )( 
            IUSBDeviceFilter * This,
            /* [in] */ BSTR aProductId);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Revision)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Revision )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aRevision);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Revision)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Revision )( 
            IUSBDeviceFilter * This,
            /* [in] */ BSTR aRevision);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Manufacturer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Manufacturer )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aManufacturer);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Manufacturer)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Manufacturer )( 
            IUSBDeviceFilter * This,
            /* [in] */ BSTR aManufacturer);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Product)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Product )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aProduct);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Product)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Product )( 
            IUSBDeviceFilter * This,
            /* [in] */ BSTR aProduct);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_SerialNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialNumber )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aSerialNumber);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_SerialNumber)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SerialNumber )( 
            IUSBDeviceFilter * This,
            /* [in] */ BSTR aSerialNumber);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Port)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Port )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aPort);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Port)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Port )( 
            IUSBDeviceFilter * This,
            /* [in] */ BSTR aPort);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Remote)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Remote )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aRemote);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Remote)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Remote )( 
            IUSBDeviceFilter * This,
            /* [in] */ BSTR aRemote);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_MaskedInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaskedInterfaces )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aMaskedInterfaces);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_MaskedInterfaces)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaskedInterfaces )( 
            IUSBDeviceFilter * This,
            /* [in] */ ULONG aMaskedInterfaces);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute1IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IUSBDeviceFilter )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute2IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IUSBDeviceFilter )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute3IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IUSBDeviceFilter )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute4IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IUSBDeviceFilter )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute5IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IUSBDeviceFilter )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute6IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IUSBDeviceFilter )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute7IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IUSBDeviceFilter )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute8IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IUSBDeviceFilter )( 
            IUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IUSBDeviceFilterVtbl;

    interface IUSBDeviceFilter
    {
        CONST_VTBL struct IUSBDeviceFilterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUSBDeviceFilter_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUSBDeviceFilter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUSBDeviceFilter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUSBDeviceFilter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUSBDeviceFilter_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IUSBDeviceFilter_put_Name(This,aName)	\
    ( (This)->lpVtbl -> put_Name(This,aName) ) 

#define IUSBDeviceFilter_get_Active(This,aActive)	\
    ( (This)->lpVtbl -> get_Active(This,aActive) ) 

#define IUSBDeviceFilter_put_Active(This,aActive)	\
    ( (This)->lpVtbl -> put_Active(This,aActive) ) 

#define IUSBDeviceFilter_get_VendorId(This,aVendorId)	\
    ( (This)->lpVtbl -> get_VendorId(This,aVendorId) ) 

#define IUSBDeviceFilter_put_VendorId(This,aVendorId)	\
    ( (This)->lpVtbl -> put_VendorId(This,aVendorId) ) 

#define IUSBDeviceFilter_get_ProductId(This,aProductId)	\
    ( (This)->lpVtbl -> get_ProductId(This,aProductId) ) 

#define IUSBDeviceFilter_put_ProductId(This,aProductId)	\
    ( (This)->lpVtbl -> put_ProductId(This,aProductId) ) 

#define IUSBDeviceFilter_get_Revision(This,aRevision)	\
    ( (This)->lpVtbl -> get_Revision(This,aRevision) ) 

#define IUSBDeviceFilter_put_Revision(This,aRevision)	\
    ( (This)->lpVtbl -> put_Revision(This,aRevision) ) 

#define IUSBDeviceFilter_get_Manufacturer(This,aManufacturer)	\
    ( (This)->lpVtbl -> get_Manufacturer(This,aManufacturer) ) 

#define IUSBDeviceFilter_put_Manufacturer(This,aManufacturer)	\
    ( (This)->lpVtbl -> put_Manufacturer(This,aManufacturer) ) 

#define IUSBDeviceFilter_get_Product(This,aProduct)	\
    ( (This)->lpVtbl -> get_Product(This,aProduct) ) 

#define IUSBDeviceFilter_put_Product(This,aProduct)	\
    ( (This)->lpVtbl -> put_Product(This,aProduct) ) 

#define IUSBDeviceFilter_get_SerialNumber(This,aSerialNumber)	\
    ( (This)->lpVtbl -> get_SerialNumber(This,aSerialNumber) ) 

#define IUSBDeviceFilter_put_SerialNumber(This,aSerialNumber)	\
    ( (This)->lpVtbl -> put_SerialNumber(This,aSerialNumber) ) 

#define IUSBDeviceFilter_get_Port(This,aPort)	\
    ( (This)->lpVtbl -> get_Port(This,aPort) ) 

#define IUSBDeviceFilter_put_Port(This,aPort)	\
    ( (This)->lpVtbl -> put_Port(This,aPort) ) 

#define IUSBDeviceFilter_get_Remote(This,aRemote)	\
    ( (This)->lpVtbl -> get_Remote(This,aRemote) ) 

#define IUSBDeviceFilter_put_Remote(This,aRemote)	\
    ( (This)->lpVtbl -> put_Remote(This,aRemote) ) 

#define IUSBDeviceFilter_get_MaskedInterfaces(This,aMaskedInterfaces)	\
    ( (This)->lpVtbl -> get_MaskedInterfaces(This,aMaskedInterfaces) ) 

#define IUSBDeviceFilter_put_MaskedInterfaces(This,aMaskedInterfaces)	\
    ( (This)->lpVtbl -> put_MaskedInterfaces(This,aMaskedInterfaces) ) 

#define IUSBDeviceFilter_get_InternalAndReservedAttribute1IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IUSBDeviceFilter(This,aReserved) ) 

#define IUSBDeviceFilter_get_InternalAndReservedAttribute2IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IUSBDeviceFilter(This,aReserved) ) 

#define IUSBDeviceFilter_get_InternalAndReservedAttribute3IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IUSBDeviceFilter(This,aReserved) ) 

#define IUSBDeviceFilter_get_InternalAndReservedAttribute4IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IUSBDeviceFilter(This,aReserved) ) 

#define IUSBDeviceFilter_get_InternalAndReservedAttribute5IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IUSBDeviceFilter(This,aReserved) ) 

#define IUSBDeviceFilter_get_InternalAndReservedAttribute6IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IUSBDeviceFilter(This,aReserved) ) 

#define IUSBDeviceFilter_get_InternalAndReservedAttribute7IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IUSBDeviceFilter(This,aReserved) ) 

#define IUSBDeviceFilter_get_InternalAndReservedAttribute8IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IUSBDeviceFilter(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUSBDeviceFilter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0089 */
/* [local] */ 

#define COM_FORWARD_IUSBDeviceFilter_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Name_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Name_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Name_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Name_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Name_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Active_TO(smth) HRESULT STDMETHODCALLTYPE get_Active (BOOL * aActive) { return smth get_Active (aActive); }
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Active_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Active_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Active_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Active_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Active_TO(smth) HRESULT STDMETHODCALLTYPE put_Active (BOOL aActive) { return smth put_Active (aActive); }
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Active_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Active_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Active_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Active_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_VendorId_TO(smth) HRESULT STDMETHODCALLTYPE get_VendorId (BSTR * aVendorId) { return smth get_VendorId (aVendorId); }
#define COM_FORWARD_IUSBDeviceFilter_GETTER_VendorId_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_VendorId_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_VendorId_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_VendorId_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_VendorId_TO(smth) HRESULT STDMETHODCALLTYPE put_VendorId (BSTR aVendorId) { return smth put_VendorId (aVendorId); }
#define COM_FORWARD_IUSBDeviceFilter_SETTER_VendorId_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_VendorId_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_VendorId_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_VendorId_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_ProductId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProductId (BSTR * aProductId) { return smth get_ProductId (aProductId); }
#define COM_FORWARD_IUSBDeviceFilter_GETTER_ProductId_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_ProductId_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_ProductId_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_ProductId_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_ProductId_TO(smth) HRESULT STDMETHODCALLTYPE put_ProductId (BSTR aProductId) { return smth put_ProductId (aProductId); }
#define COM_FORWARD_IUSBDeviceFilter_SETTER_ProductId_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_ProductId_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_ProductId_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_ProductId_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Revision_TO(smth) HRESULT STDMETHODCALLTYPE get_Revision (BSTR * aRevision) { return smth get_Revision (aRevision); }
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Revision_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Revision_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Revision_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Revision_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Revision_TO(smth) HRESULT STDMETHODCALLTYPE put_Revision (BSTR aRevision) { return smth put_Revision (aRevision); }
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Revision_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Revision_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Revision_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Revision_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Manufacturer_TO(smth) HRESULT STDMETHODCALLTYPE get_Manufacturer (BSTR * aManufacturer) { return smth get_Manufacturer (aManufacturer); }
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Manufacturer_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Manufacturer_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Manufacturer_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Manufacturer_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Manufacturer_TO(smth) HRESULT STDMETHODCALLTYPE put_Manufacturer (BSTR aManufacturer) { return smth put_Manufacturer (aManufacturer); }
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Manufacturer_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Manufacturer_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Manufacturer_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Manufacturer_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Product_TO(smth) HRESULT STDMETHODCALLTYPE get_Product (BSTR * aProduct) { return smth get_Product (aProduct); }
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Product_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Product_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Product_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Product_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Product_TO(smth) HRESULT STDMETHODCALLTYPE put_Product (BSTR aProduct) { return smth put_Product (aProduct); }
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Product_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Product_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Product_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Product_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_SerialNumber_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialNumber (BSTR * aSerialNumber) { return smth get_SerialNumber (aSerialNumber); }
#define COM_FORWARD_IUSBDeviceFilter_GETTER_SerialNumber_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_SerialNumber_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_SerialNumber_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_SerialNumber_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_SerialNumber_TO(smth) HRESULT STDMETHODCALLTYPE put_SerialNumber (BSTR aSerialNumber) { return smth put_SerialNumber (aSerialNumber); }
#define COM_FORWARD_IUSBDeviceFilter_SETTER_SerialNumber_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_SerialNumber_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_SerialNumber_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_SerialNumber_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Port_TO(smth) HRESULT STDMETHODCALLTYPE get_Port (BSTR * aPort) { return smth get_Port (aPort); }
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Port_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Port_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Port_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Port_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Port_TO(smth) HRESULT STDMETHODCALLTYPE put_Port (BSTR aPort) { return smth put_Port (aPort); }
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Port_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Port_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Port_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Port_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Remote_TO(smth) HRESULT STDMETHODCALLTYPE get_Remote (BSTR * aRemote) { return smth get_Remote (aRemote); }
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Remote_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_Remote_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_Remote_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_Remote_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Remote_TO(smth) HRESULT STDMETHODCALLTYPE put_Remote (BSTR aRemote) { return smth put_Remote (aRemote); }
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Remote_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_Remote_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_Remote_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_Remote_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_MaskedInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MaskedInterfaces (ULONG * aMaskedInterfaces) { return smth get_MaskedInterfaces (aMaskedInterfaces); }
#define COM_FORWARD_IUSBDeviceFilter_GETTER_MaskedInterfaces_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_GETTER_MaskedInterfaces_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_GETTER_MaskedInterfaces_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_GETTER_MaskedInterfaces_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_MaskedInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE put_MaskedInterfaces (ULONG aMaskedInterfaces) { return smth put_MaskedInterfaces (aMaskedInterfaces); }
#define COM_FORWARD_IUSBDeviceFilter_SETTER_MaskedInterfaces_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_SETTER_MaskedInterfaces_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_SETTER_MaskedInterfaces_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_SETTER_MaskedInterfaces_TO (base::)
#define COM_FORWARD_IUSBDeviceFilter_TO(smth) COM_FORWARD_IUSBDeviceFilter_GETTER_Name_TO (smth) COM_FORWARD_IUSBDeviceFilter_SETTER_Name_TO (smth) COM_FORWARD_IUSBDeviceFilter_GETTER_Active_TO (smth) COM_FORWARD_IUSBDeviceFilter_SETTER_Active_TO (smth) COM_FORWARD_IUSBDeviceFilter_GETTER_VendorId_TO (smth) COM_FORWARD_IUSBDeviceFilter_SETTER_VendorId_TO (smth) COM_FORWARD_IUSBDeviceFilter_GETTER_ProductId_TO (smth) COM_FORWARD_IUSBDeviceFilter_SETTER_ProductId_TO (smth) COM_FORWARD_IUSBDeviceFilter_GETTER_Revision_TO (smth) COM_FORWARD_IUSBDeviceFilter_SETTER_Revision_TO (smth) COM_FORWARD_IUSBDeviceFilter_GETTER_Manufacturer_TO (smth) COM_FORWARD_IUSBDeviceFilter_SETTER_Manufacturer_TO (smth) COM_FORWARD_IUSBDeviceFilter_GETTER_Product_TO (smth) COM_FORWARD_IUSBDeviceFilter_SETTER_Product_TO (smth) COM_FORWARD_IUSBDeviceFilter_GETTER_SerialNumber_TO (smth) COM_FORWARD_IUSBDeviceFilter_SETTER_SerialNumber_TO (smth) COM_FORWARD_IUSBDeviceFilter_GETTER_Port_TO (smth) COM_FORWARD_IUSBDeviceFilter_SETTER_Port_TO (smth) COM_FORWARD_IUSBDeviceFilter_GETTER_Remote_TO (smth) COM_FORWARD_IUSBDeviceFilter_SETTER_Remote_TO (smth) COM_FORWARD_IUSBDeviceFilter_GETTER_MaskedInterfaces_TO (smth) COM_FORWARD_IUSBDeviceFilter_SETTER_MaskedInterfaces_TO (smth) 
#define COM_FORWARD_IUSBDeviceFilter_TO_OBJ(obj) COM_FORWARD_IUSBDeviceFilter_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceFilter_TO_BASE(base) COM_FORWARD_IUSBDeviceFilter_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0089_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0089_v0_0_s_ifspec;

#ifndef __IHostUSBDevice_INTERFACE_DEFINED__
#define __IHostUSBDevice_INTERFACE_DEFINED__

/* interface IHostUSBDevice */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostUSBDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c19073dd-cc7b-431b-98b2-951fda8eab89")
    IHostUSBDevice : public IUSBDevice
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ USBDeviceState *aState) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IHostUSBDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IHostUSBDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IHostUSBDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IHostUSBDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostUSBDeviceVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostUSBDevice * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostUSBDevice * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostUSBDevice * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostUSBDevice * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostUSBDevice * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostUSBDevice * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostUSBDevice * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IHostUSBDevice * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_VendorId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VendorId )( 
            IHostUSBDevice * This,
            /* [retval][out] */ USHORT *aVendorId);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_ProductId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProductId )( 
            IHostUSBDevice * This,
            /* [retval][out] */ USHORT *aProductId);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Revision)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Revision )( 
            IHostUSBDevice * This,
            /* [retval][out] */ USHORT *aRevision);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Manufacturer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Manufacturer )( 
            IHostUSBDevice * This,
            /* [retval][out] */ BSTR *aManufacturer);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Product)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Product )( 
            IHostUSBDevice * This,
            /* [retval][out] */ BSTR *aProduct);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_SerialNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialNumber )( 
            IHostUSBDevice * This,
            /* [retval][out] */ BSTR *aSerialNumber);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Address)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Address )( 
            IHostUSBDevice * This,
            /* [retval][out] */ BSTR *aAddress);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Port)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Port )( 
            IHostUSBDevice * This,
            /* [retval][out] */ USHORT *aPort);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_PortPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortPath )( 
            IHostUSBDevice * This,
            /* [retval][out] */ BSTR *aPortPath);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Version)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IHostUSBDevice * This,
            /* [retval][out] */ USHORT *aVersion);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Speed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Speed )( 
            IHostUSBDevice * This,
            /* [retval][out] */ USBConnectionSpeed *aSpeed);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Remote)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Remote )( 
            IHostUSBDevice * This,
            /* [retval][out] */ BOOL *aRemote);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_DeviceInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceInfo )( 
            IHostUSBDevice * This,
            /* [retval][out] */ SAFEARRAY * *aDeviceInfo);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_Backend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Backend )( 
            IHostUSBDevice * This,
            /* [retval][out] */ BSTR *aBackend);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_InternalAndReservedAttribute1IUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IUSBDevice )( 
            IHostUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_InternalAndReservedAttribute2IUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IUSBDevice )( 
            IHostUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_InternalAndReservedAttribute3IUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IUSBDevice )( 
            IHostUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDevice, get_InternalAndReservedAttribute4IUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IUSBDevice )( 
            IHostUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDevice, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IHostUSBDevice * This,
            /* [retval][out] */ USBDeviceState *aState);
        
        DECLSPEC_XFGVIRT(IHostUSBDevice, get_InternalAndReservedAttribute1IHostUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IHostUSBDevice )( 
            IHostUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDevice, get_InternalAndReservedAttribute2IHostUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IHostUSBDevice )( 
            IHostUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDevice, get_InternalAndReservedAttribute3IHostUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IHostUSBDevice )( 
            IHostUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDevice, get_InternalAndReservedAttribute4IHostUSBDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IHostUSBDevice )( 
            IHostUSBDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IHostUSBDeviceVtbl;

    interface IHostUSBDevice
    {
        CONST_VTBL struct IHostUSBDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostUSBDevice_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostUSBDevice_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostUSBDevice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostUSBDevice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostUSBDevice_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IHostUSBDevice_get_VendorId(This,aVendorId)	\
    ( (This)->lpVtbl -> get_VendorId(This,aVendorId) ) 

#define IHostUSBDevice_get_ProductId(This,aProductId)	\
    ( (This)->lpVtbl -> get_ProductId(This,aProductId) ) 

#define IHostUSBDevice_get_Revision(This,aRevision)	\
    ( (This)->lpVtbl -> get_Revision(This,aRevision) ) 

#define IHostUSBDevice_get_Manufacturer(This,aManufacturer)	\
    ( (This)->lpVtbl -> get_Manufacturer(This,aManufacturer) ) 

#define IHostUSBDevice_get_Product(This,aProduct)	\
    ( (This)->lpVtbl -> get_Product(This,aProduct) ) 

#define IHostUSBDevice_get_SerialNumber(This,aSerialNumber)	\
    ( (This)->lpVtbl -> get_SerialNumber(This,aSerialNumber) ) 

#define IHostUSBDevice_get_Address(This,aAddress)	\
    ( (This)->lpVtbl -> get_Address(This,aAddress) ) 

#define IHostUSBDevice_get_Port(This,aPort)	\
    ( (This)->lpVtbl -> get_Port(This,aPort) ) 

#define IHostUSBDevice_get_PortPath(This,aPortPath)	\
    ( (This)->lpVtbl -> get_PortPath(This,aPortPath) ) 

#define IHostUSBDevice_get_Version(This,aVersion)	\
    ( (This)->lpVtbl -> get_Version(This,aVersion) ) 

#define IHostUSBDevice_get_Speed(This,aSpeed)	\
    ( (This)->lpVtbl -> get_Speed(This,aSpeed) ) 

#define IHostUSBDevice_get_Remote(This,aRemote)	\
    ( (This)->lpVtbl -> get_Remote(This,aRemote) ) 

#define IHostUSBDevice_get_DeviceInfo(This,aDeviceInfo)	\
    ( (This)->lpVtbl -> get_DeviceInfo(This,aDeviceInfo) ) 

#define IHostUSBDevice_get_Backend(This,aBackend)	\
    ( (This)->lpVtbl -> get_Backend(This,aBackend) ) 

#define IHostUSBDevice_get_InternalAndReservedAttribute1IUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IUSBDevice(This,aReserved) ) 

#define IHostUSBDevice_get_InternalAndReservedAttribute2IUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IUSBDevice(This,aReserved) ) 

#define IHostUSBDevice_get_InternalAndReservedAttribute3IUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IUSBDevice(This,aReserved) ) 

#define IHostUSBDevice_get_InternalAndReservedAttribute4IUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IUSBDevice(This,aReserved) ) 


#define IHostUSBDevice_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#define IHostUSBDevice_get_InternalAndReservedAttribute1IHostUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IHostUSBDevice(This,aReserved) ) 

#define IHostUSBDevice_get_InternalAndReservedAttribute2IHostUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IHostUSBDevice(This,aReserved) ) 

#define IHostUSBDevice_get_InternalAndReservedAttribute3IHostUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IHostUSBDevice(This,aReserved) ) 

#define IHostUSBDevice_get_InternalAndReservedAttribute4IHostUSBDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IHostUSBDevice(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostUSBDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0090 */
/* [local] */ 

#define COM_FORWARD_IHostUSBDevice_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (USBDeviceState * aState) { return smth get_State (aState); }
#define COM_FORWARD_IHostUSBDevice_GETTER_State_TO_OBJ(obj) COM_FORWARD_IHostUSBDevice_GETTER_State_TO ((obj)->)
#define COM_FORWARD_IHostUSBDevice_GETTER_State_TO_BASE(base) COM_FORWARD_IHostUSBDevice_GETTER_State_TO (base::)
#define COM_FORWARD_IHostUSBDevice_TO(smth) COM_FORWARD_IHostUSBDevice_GETTER_State_TO (smth) 
#define COM_FORWARD_IHostUSBDevice_TO_OBJ(obj) COM_FORWARD_IHostUSBDevice_TO ((obj)->)
#define COM_FORWARD_IHostUSBDevice_TO_BASE(base) COM_FORWARD_IHostUSBDevice_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0090_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0090_v0_0_s_ifspec;

#ifndef __IHostUSBDeviceFilter_INTERFACE_DEFINED__
#define __IHostUSBDeviceFilter_INTERFACE_DEFINED__

/* interface IHostUSBDeviceFilter */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostUSBDeviceFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("01adb2d6-aedf-461c-be2c-99e91bdad8a1")
    IHostUSBDeviceFilter : public IUSBDeviceFilter
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Action( 
            /* [retval][out] */ USBDeviceFilterAction *aAction) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Action( 
            /* [in] */ USBDeviceFilterAction aAction) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IHostUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IHostUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IHostUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IHostUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IHostUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IHostUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IHostUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IHostUSBDeviceFilter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostUSBDeviceFilterVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostUSBDeviceFilter * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostUSBDeviceFilter * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostUSBDeviceFilter * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostUSBDeviceFilter * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Name)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Active)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Active )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ BOOL *aActive);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Active)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Active )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ BOOL aActive);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_VendorId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VendorId )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aVendorId);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_VendorId)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VendorId )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ BSTR aVendorId);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_ProductId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProductId )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aProductId);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_ProductId)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProductId )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ BSTR aProductId);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Revision)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Revision )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aRevision);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Revision)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Revision )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ BSTR aRevision);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Manufacturer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Manufacturer )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aManufacturer);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Manufacturer)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Manufacturer )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ BSTR aManufacturer);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Product)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Product )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aProduct);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Product)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Product )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ BSTR aProduct);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_SerialNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialNumber )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aSerialNumber);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_SerialNumber)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SerialNumber )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ BSTR aSerialNumber);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Port)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Port )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aPort);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Port)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Port )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ BSTR aPort);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_Remote)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Remote )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ BSTR *aRemote);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_Remote)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Remote )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ BSTR aRemote);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_MaskedInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaskedInterfaces )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aMaskedInterfaces);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, put_MaskedInterfaces)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaskedInterfaces )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ ULONG aMaskedInterfaces);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute1IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute2IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute3IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute4IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute5IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute6IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute7IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBDeviceFilter, get_InternalAndReservedAttribute8IUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDeviceFilter, get_Action)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Action )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ USBDeviceFilterAction *aAction);
        
        DECLSPEC_XFGVIRT(IHostUSBDeviceFilter, put_Action)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Action )( 
            IHostUSBDeviceFilter * This,
            /* [in] */ USBDeviceFilterAction aAction);
        
        DECLSPEC_XFGVIRT(IHostUSBDeviceFilter, get_InternalAndReservedAttribute1IHostUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IHostUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDeviceFilter, get_InternalAndReservedAttribute2IHostUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IHostUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDeviceFilter, get_InternalAndReservedAttribute3IHostUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IHostUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDeviceFilter, get_InternalAndReservedAttribute4IHostUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IHostUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDeviceFilter, get_InternalAndReservedAttribute5IHostUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IHostUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDeviceFilter, get_InternalAndReservedAttribute6IHostUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IHostUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDeviceFilter, get_InternalAndReservedAttribute7IHostUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IHostUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostUSBDeviceFilter, get_InternalAndReservedAttribute8IHostUSBDeviceFilter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IHostUSBDeviceFilter )( 
            IHostUSBDeviceFilter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IHostUSBDeviceFilterVtbl;

    interface IHostUSBDeviceFilter
    {
        CONST_VTBL struct IHostUSBDeviceFilterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostUSBDeviceFilter_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostUSBDeviceFilter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostUSBDeviceFilter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostUSBDeviceFilter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostUSBDeviceFilter_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IHostUSBDeviceFilter_put_Name(This,aName)	\
    ( (This)->lpVtbl -> put_Name(This,aName) ) 

#define IHostUSBDeviceFilter_get_Active(This,aActive)	\
    ( (This)->lpVtbl -> get_Active(This,aActive) ) 

#define IHostUSBDeviceFilter_put_Active(This,aActive)	\
    ( (This)->lpVtbl -> put_Active(This,aActive) ) 

#define IHostUSBDeviceFilter_get_VendorId(This,aVendorId)	\
    ( (This)->lpVtbl -> get_VendorId(This,aVendorId) ) 

#define IHostUSBDeviceFilter_put_VendorId(This,aVendorId)	\
    ( (This)->lpVtbl -> put_VendorId(This,aVendorId) ) 

#define IHostUSBDeviceFilter_get_ProductId(This,aProductId)	\
    ( (This)->lpVtbl -> get_ProductId(This,aProductId) ) 

#define IHostUSBDeviceFilter_put_ProductId(This,aProductId)	\
    ( (This)->lpVtbl -> put_ProductId(This,aProductId) ) 

#define IHostUSBDeviceFilter_get_Revision(This,aRevision)	\
    ( (This)->lpVtbl -> get_Revision(This,aRevision) ) 

#define IHostUSBDeviceFilter_put_Revision(This,aRevision)	\
    ( (This)->lpVtbl -> put_Revision(This,aRevision) ) 

#define IHostUSBDeviceFilter_get_Manufacturer(This,aManufacturer)	\
    ( (This)->lpVtbl -> get_Manufacturer(This,aManufacturer) ) 

#define IHostUSBDeviceFilter_put_Manufacturer(This,aManufacturer)	\
    ( (This)->lpVtbl -> put_Manufacturer(This,aManufacturer) ) 

#define IHostUSBDeviceFilter_get_Product(This,aProduct)	\
    ( (This)->lpVtbl -> get_Product(This,aProduct) ) 

#define IHostUSBDeviceFilter_put_Product(This,aProduct)	\
    ( (This)->lpVtbl -> put_Product(This,aProduct) ) 

#define IHostUSBDeviceFilter_get_SerialNumber(This,aSerialNumber)	\
    ( (This)->lpVtbl -> get_SerialNumber(This,aSerialNumber) ) 

#define IHostUSBDeviceFilter_put_SerialNumber(This,aSerialNumber)	\
    ( (This)->lpVtbl -> put_SerialNumber(This,aSerialNumber) ) 

#define IHostUSBDeviceFilter_get_Port(This,aPort)	\
    ( (This)->lpVtbl -> get_Port(This,aPort) ) 

#define IHostUSBDeviceFilter_put_Port(This,aPort)	\
    ( (This)->lpVtbl -> put_Port(This,aPort) ) 

#define IHostUSBDeviceFilter_get_Remote(This,aRemote)	\
    ( (This)->lpVtbl -> get_Remote(This,aRemote) ) 

#define IHostUSBDeviceFilter_put_Remote(This,aRemote)	\
    ( (This)->lpVtbl -> put_Remote(This,aRemote) ) 

#define IHostUSBDeviceFilter_get_MaskedInterfaces(This,aMaskedInterfaces)	\
    ( (This)->lpVtbl -> get_MaskedInterfaces(This,aMaskedInterfaces) ) 

#define IHostUSBDeviceFilter_put_MaskedInterfaces(This,aMaskedInterfaces)	\
    ( (This)->lpVtbl -> put_MaskedInterfaces(This,aMaskedInterfaces) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute1IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute2IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute3IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute4IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute5IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute6IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute7IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute8IUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IUSBDeviceFilter(This,aReserved) ) 


#define IHostUSBDeviceFilter_get_Action(This,aAction)	\
    ( (This)->lpVtbl -> get_Action(This,aAction) ) 

#define IHostUSBDeviceFilter_put_Action(This,aAction)	\
    ( (This)->lpVtbl -> put_Action(This,aAction) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute1IHostUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IHostUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute2IHostUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IHostUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute3IHostUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IHostUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute4IHostUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IHostUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute5IHostUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IHostUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute6IHostUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IHostUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute7IHostUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IHostUSBDeviceFilter(This,aReserved) ) 

#define IHostUSBDeviceFilter_get_InternalAndReservedAttribute8IHostUSBDeviceFilter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IHostUSBDeviceFilter(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostUSBDeviceFilter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0091 */
/* [local] */ 

#define COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO(smth) HRESULT STDMETHODCALLTYPE get_Action (USBDeviceFilterAction * aAction) { return smth get_Action (aAction); }
#define COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO_OBJ(obj) COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO ((obj)->)
#define COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO_BASE(base) COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO (base::)
#define COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO(smth) HRESULT STDMETHODCALLTYPE put_Action (USBDeviceFilterAction aAction) { return smth put_Action (aAction); }
#define COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO_OBJ(obj) COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO ((obj)->)
#define COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO_BASE(base) COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO (base::)
#define COM_FORWARD_IHostUSBDeviceFilter_TO(smth) COM_FORWARD_IHostUSBDeviceFilter_GETTER_Action_TO (smth) COM_FORWARD_IHostUSBDeviceFilter_SETTER_Action_TO (smth) 
#define COM_FORWARD_IHostUSBDeviceFilter_TO_OBJ(obj) COM_FORWARD_IHostUSBDeviceFilter_TO ((obj)->)
#define COM_FORWARD_IHostUSBDeviceFilter_TO_BASE(base) COM_FORWARD_IHostUSBDeviceFilter_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0091_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0091_v0_0_s_ifspec;

#ifndef __IUSBProxyBackend_INTERFACE_DEFINED__
#define __IUSBProxyBackend_INTERFACE_DEFINED__

/* interface IUSBProxyBackend */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUSBProxyBackend;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("dfe56449-6989-4002-80cf-3607f377d40c")
    IUSBProxyBackend : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ BSTR *aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IUSBProxyBackend( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IUSBProxyBackend( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IUSBProxyBackend( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IUSBProxyBackend( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IUSBProxyBackend( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IUSBProxyBackend( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IUSBProxyBackend( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IUSBProxyBackend( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IUSBProxyBackend( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IUSBProxyBackend( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IUSBProxyBackend( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IUSBProxyBackend( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUSBProxyBackendVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUSBProxyBackend * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUSBProxyBackend * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUSBProxyBackend * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUSBProxyBackend * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUSBProxyBackend * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUSBProxyBackend * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUSBProxyBackend * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IUSBProxyBackend * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IUSBProxyBackend * This,
            /* [retval][out] */ BSTR *aType);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, get_InternalAndReservedAttribute1IUSBProxyBackend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IUSBProxyBackend )( 
            IUSBProxyBackend * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, get_InternalAndReservedAttribute2IUSBProxyBackend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IUSBProxyBackend )( 
            IUSBProxyBackend * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, get_InternalAndReservedAttribute3IUSBProxyBackend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IUSBProxyBackend )( 
            IUSBProxyBackend * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, get_InternalAndReservedAttribute4IUSBProxyBackend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IUSBProxyBackend )( 
            IUSBProxyBackend * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, get_InternalAndReservedAttribute5IUSBProxyBackend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IUSBProxyBackend )( 
            IUSBProxyBackend * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, get_InternalAndReservedAttribute6IUSBProxyBackend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IUSBProxyBackend )( 
            IUSBProxyBackend * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, get_InternalAndReservedAttribute7IUSBProxyBackend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IUSBProxyBackend )( 
            IUSBProxyBackend * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, get_InternalAndReservedAttribute8IUSBProxyBackend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IUSBProxyBackend )( 
            IUSBProxyBackend * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, InternalAndReservedMethod1IUSBProxyBackend)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IUSBProxyBackend )( 
            IUSBProxyBackend * This);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, InternalAndReservedMethod2IUSBProxyBackend)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IUSBProxyBackend )( 
            IUSBProxyBackend * This);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, InternalAndReservedMethod3IUSBProxyBackend)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IUSBProxyBackend )( 
            IUSBProxyBackend * This);
        
        DECLSPEC_XFGVIRT(IUSBProxyBackend, InternalAndReservedMethod4IUSBProxyBackend)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IUSBProxyBackend )( 
            IUSBProxyBackend * This);
        
        END_INTERFACE
    } IUSBProxyBackendVtbl;

    interface IUSBProxyBackend
    {
        CONST_VTBL struct IUSBProxyBackendVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUSBProxyBackend_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUSBProxyBackend_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUSBProxyBackend_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUSBProxyBackend_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUSBProxyBackend_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IUSBProxyBackend_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IUSBProxyBackend_get_InternalAndReservedAttribute1IUSBProxyBackend(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IUSBProxyBackend(This,aReserved) ) 

#define IUSBProxyBackend_get_InternalAndReservedAttribute2IUSBProxyBackend(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IUSBProxyBackend(This,aReserved) ) 

#define IUSBProxyBackend_get_InternalAndReservedAttribute3IUSBProxyBackend(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IUSBProxyBackend(This,aReserved) ) 

#define IUSBProxyBackend_get_InternalAndReservedAttribute4IUSBProxyBackend(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IUSBProxyBackend(This,aReserved) ) 

#define IUSBProxyBackend_get_InternalAndReservedAttribute5IUSBProxyBackend(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IUSBProxyBackend(This,aReserved) ) 

#define IUSBProxyBackend_get_InternalAndReservedAttribute6IUSBProxyBackend(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IUSBProxyBackend(This,aReserved) ) 

#define IUSBProxyBackend_get_InternalAndReservedAttribute7IUSBProxyBackend(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IUSBProxyBackend(This,aReserved) ) 

#define IUSBProxyBackend_get_InternalAndReservedAttribute8IUSBProxyBackend(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IUSBProxyBackend(This,aReserved) ) 

#define IUSBProxyBackend_InternalAndReservedMethod1IUSBProxyBackend(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IUSBProxyBackend(This) ) 

#define IUSBProxyBackend_InternalAndReservedMethod2IUSBProxyBackend(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IUSBProxyBackend(This) ) 

#define IUSBProxyBackend_InternalAndReservedMethod3IUSBProxyBackend(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IUSBProxyBackend(This) ) 

#define IUSBProxyBackend_InternalAndReservedMethod4IUSBProxyBackend(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IUSBProxyBackend(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUSBProxyBackend_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0092 */
/* [local] */ 

#define COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO_BASE(base) COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO (base::)
#define COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (BSTR * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO_BASE(base) COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO (base::)
#define COM_FORWARD_IUSBProxyBackend_TO(smth) COM_FORWARD_IUSBProxyBackend_GETTER_Name_TO (smth) COM_FORWARD_IUSBProxyBackend_GETTER_Type_TO (smth) 
#define COM_FORWARD_IUSBProxyBackend_TO_OBJ(obj) COM_FORWARD_IUSBProxyBackend_TO ((obj)->)
#define COM_FORWARD_IUSBProxyBackend_TO_BASE(base) COM_FORWARD_IUSBProxyBackend_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0092_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0092_v0_0_s_ifspec;

#ifndef __IAudioAdapter_INTERFACE_DEFINED__
#define __IAudioAdapter_INTERFACE_DEFINED__

/* interface IAudioAdapter */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IAudioAdapter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5155bfd3-7ba7-45a8-b26d-c91ae3754e37")
    IAudioAdapter : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnabledIn( 
            /* [retval][out] */ BOOL *aEnabledIn) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnabledIn( 
            /* [in] */ BOOL aEnabledIn) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnabledOut( 
            /* [retval][out] */ BOOL *aEnabledOut) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnabledOut( 
            /* [in] */ BOOL aEnabledOut) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioController( 
            /* [retval][out] */ AudioControllerType *aAudioController) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AudioController( 
            /* [in] */ AudioControllerType aAudioController) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioCodec( 
            /* [retval][out] */ AudioCodecType *aAudioCodec) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AudioCodec( 
            /* [in] */ AudioCodecType aAudioCodec) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioDriver( 
            /* [retval][out] */ AudioDriverType *aAudioDriver) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AudioDriver( 
            /* [in] */ AudioDriverType aAudioDriver) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PropertiesList( 
            /* [retval][out] */ SAFEARRAY * *aPropertiesList) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IAudioAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IAudioAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IAudioAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IAudioAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IAudioAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IAudioAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IAudioAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IAudioAdapter( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetProperty( 
            /* [in] */ BSTR aKey,
            /* [in] */ BSTR aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProperty( 
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IAudioAdapter( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IAudioAdapter( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IAudioAdapter( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IAudioAdapter( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAudioAdapterVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAudioAdapter * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAudioAdapter * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAudioAdapter * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAudioAdapter * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAudioAdapter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAudioAdapter * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAudioAdapter * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IAudioAdapter * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IAudioAdapter * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_EnabledIn)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnabledIn )( 
            IAudioAdapter * This,
            /* [retval][out] */ BOOL *aEnabledIn);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, put_EnabledIn)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnabledIn )( 
            IAudioAdapter * This,
            /* [in] */ BOOL aEnabledIn);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_EnabledOut)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnabledOut )( 
            IAudioAdapter * This,
            /* [retval][out] */ BOOL *aEnabledOut);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, put_EnabledOut)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnabledOut )( 
            IAudioAdapter * This,
            /* [in] */ BOOL aEnabledOut);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_AudioController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioController )( 
            IAudioAdapter * This,
            /* [retval][out] */ AudioControllerType *aAudioController);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, put_AudioController)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioController )( 
            IAudioAdapter * This,
            /* [in] */ AudioControllerType aAudioController);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_AudioCodec)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioCodec )( 
            IAudioAdapter * This,
            /* [retval][out] */ AudioCodecType *aAudioCodec);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, put_AudioCodec)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioCodec )( 
            IAudioAdapter * This,
            /* [in] */ AudioCodecType aAudioCodec);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_AudioDriver)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioDriver )( 
            IAudioAdapter * This,
            /* [retval][out] */ AudioDriverType *aAudioDriver);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, put_AudioDriver)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioDriver )( 
            IAudioAdapter * This,
            /* [in] */ AudioDriverType aAudioDriver);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_PropertiesList)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PropertiesList )( 
            IAudioAdapter * This,
            /* [retval][out] */ SAFEARRAY * *aPropertiesList);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_InternalAndReservedAttribute1IAudioAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IAudioAdapter )( 
            IAudioAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_InternalAndReservedAttribute2IAudioAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IAudioAdapter )( 
            IAudioAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_InternalAndReservedAttribute3IAudioAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IAudioAdapter )( 
            IAudioAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_InternalAndReservedAttribute4IAudioAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IAudioAdapter )( 
            IAudioAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_InternalAndReservedAttribute5IAudioAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IAudioAdapter )( 
            IAudioAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_InternalAndReservedAttribute6IAudioAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IAudioAdapter )( 
            IAudioAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_InternalAndReservedAttribute7IAudioAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IAudioAdapter )( 
            IAudioAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, get_InternalAndReservedAttribute8IAudioAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IAudioAdapter )( 
            IAudioAdapter * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, SetProperty)
        HRESULT ( STDMETHODCALLTYPE *SetProperty )( 
            IAudioAdapter * This,
            /* [in] */ BSTR aKey,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, GetProperty)
        HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
            IAudioAdapter * This,
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, InternalAndReservedMethod1IAudioAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IAudioAdapter )( 
            IAudioAdapter * This);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, InternalAndReservedMethod2IAudioAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IAudioAdapter )( 
            IAudioAdapter * This);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, InternalAndReservedMethod3IAudioAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IAudioAdapter )( 
            IAudioAdapter * This);
        
        DECLSPEC_XFGVIRT(IAudioAdapter, InternalAndReservedMethod4IAudioAdapter)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IAudioAdapter )( 
            IAudioAdapter * This);
        
        END_INTERFACE
    } IAudioAdapterVtbl;

    interface IAudioAdapter
    {
        CONST_VTBL struct IAudioAdapterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAudioAdapter_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAudioAdapter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAudioAdapter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAudioAdapter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAudioAdapter_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IAudioAdapter_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define IAudioAdapter_get_EnabledIn(This,aEnabledIn)	\
    ( (This)->lpVtbl -> get_EnabledIn(This,aEnabledIn) ) 

#define IAudioAdapter_put_EnabledIn(This,aEnabledIn)	\
    ( (This)->lpVtbl -> put_EnabledIn(This,aEnabledIn) ) 

#define IAudioAdapter_get_EnabledOut(This,aEnabledOut)	\
    ( (This)->lpVtbl -> get_EnabledOut(This,aEnabledOut) ) 

#define IAudioAdapter_put_EnabledOut(This,aEnabledOut)	\
    ( (This)->lpVtbl -> put_EnabledOut(This,aEnabledOut) ) 

#define IAudioAdapter_get_AudioController(This,aAudioController)	\
    ( (This)->lpVtbl -> get_AudioController(This,aAudioController) ) 

#define IAudioAdapter_put_AudioController(This,aAudioController)	\
    ( (This)->lpVtbl -> put_AudioController(This,aAudioController) ) 

#define IAudioAdapter_get_AudioCodec(This,aAudioCodec)	\
    ( (This)->lpVtbl -> get_AudioCodec(This,aAudioCodec) ) 

#define IAudioAdapter_put_AudioCodec(This,aAudioCodec)	\
    ( (This)->lpVtbl -> put_AudioCodec(This,aAudioCodec) ) 

#define IAudioAdapter_get_AudioDriver(This,aAudioDriver)	\
    ( (This)->lpVtbl -> get_AudioDriver(This,aAudioDriver) ) 

#define IAudioAdapter_put_AudioDriver(This,aAudioDriver)	\
    ( (This)->lpVtbl -> put_AudioDriver(This,aAudioDriver) ) 

#define IAudioAdapter_get_PropertiesList(This,aPropertiesList)	\
    ( (This)->lpVtbl -> get_PropertiesList(This,aPropertiesList) ) 

#define IAudioAdapter_get_InternalAndReservedAttribute1IAudioAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IAudioAdapter(This,aReserved) ) 

#define IAudioAdapter_get_InternalAndReservedAttribute2IAudioAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IAudioAdapter(This,aReserved) ) 

#define IAudioAdapter_get_InternalAndReservedAttribute3IAudioAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IAudioAdapter(This,aReserved) ) 

#define IAudioAdapter_get_InternalAndReservedAttribute4IAudioAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IAudioAdapter(This,aReserved) ) 

#define IAudioAdapter_get_InternalAndReservedAttribute5IAudioAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IAudioAdapter(This,aReserved) ) 

#define IAudioAdapter_get_InternalAndReservedAttribute6IAudioAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IAudioAdapter(This,aReserved) ) 

#define IAudioAdapter_get_InternalAndReservedAttribute7IAudioAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IAudioAdapter(This,aReserved) ) 

#define IAudioAdapter_get_InternalAndReservedAttribute8IAudioAdapter(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IAudioAdapter(This,aReserved) ) 

#define IAudioAdapter_SetProperty(This,aKey,aValue)	\
    ( (This)->lpVtbl -> SetProperty(This,aKey,aValue) ) 

#define IAudioAdapter_GetProperty(This,aKey,aValue)	\
    ( (This)->lpVtbl -> GetProperty(This,aKey,aValue) ) 

#define IAudioAdapter_InternalAndReservedMethod1IAudioAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IAudioAdapter(This) ) 

#define IAudioAdapter_InternalAndReservedMethod2IAudioAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IAudioAdapter(This) ) 

#define IAudioAdapter_InternalAndReservedMethod3IAudioAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IAudioAdapter(This) ) 

#define IAudioAdapter_InternalAndReservedMethod4IAudioAdapter(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IAudioAdapter(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAudioAdapter_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0093 */
/* [local] */ 

#define COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO (base::)
#define COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO (base::)
#define COM_FORWARD_IAudioAdapter_GETTER_EnabledIn_TO(smth) HRESULT STDMETHODCALLTYPE get_EnabledIn (BOOL * aEnabledIn) { return smth get_EnabledIn (aEnabledIn); }
#define COM_FORWARD_IAudioAdapter_GETTER_EnabledIn_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_EnabledIn_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_GETTER_EnabledIn_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_EnabledIn_TO (base::)
#define COM_FORWARD_IAudioAdapter_SETTER_EnabledIn_TO(smth) HRESULT STDMETHODCALLTYPE put_EnabledIn (BOOL aEnabledIn) { return smth put_EnabledIn (aEnabledIn); }
#define COM_FORWARD_IAudioAdapter_SETTER_EnabledIn_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_EnabledIn_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_SETTER_EnabledIn_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_EnabledIn_TO (base::)
#define COM_FORWARD_IAudioAdapter_GETTER_EnabledOut_TO(smth) HRESULT STDMETHODCALLTYPE get_EnabledOut (BOOL * aEnabledOut) { return smth get_EnabledOut (aEnabledOut); }
#define COM_FORWARD_IAudioAdapter_GETTER_EnabledOut_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_EnabledOut_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_GETTER_EnabledOut_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_EnabledOut_TO (base::)
#define COM_FORWARD_IAudioAdapter_SETTER_EnabledOut_TO(smth) HRESULT STDMETHODCALLTYPE put_EnabledOut (BOOL aEnabledOut) { return smth put_EnabledOut (aEnabledOut); }
#define COM_FORWARD_IAudioAdapter_SETTER_EnabledOut_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_EnabledOut_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_SETTER_EnabledOut_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_EnabledOut_TO (base::)
#define COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioController (AudioControllerType * aAudioController) { return smth get_AudioController (aAudioController); }
#define COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO (base::)
#define COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioController (AudioControllerType aAudioController) { return smth put_AudioController (aAudioController); }
#define COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO (base::)
#define COM_FORWARD_IAudioAdapter_GETTER_AudioCodec_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioCodec (AudioCodecType * aAudioCodec) { return smth get_AudioCodec (aAudioCodec); }
#define COM_FORWARD_IAudioAdapter_GETTER_AudioCodec_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_AudioCodec_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_GETTER_AudioCodec_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_AudioCodec_TO (base::)
#define COM_FORWARD_IAudioAdapter_SETTER_AudioCodec_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioCodec (AudioCodecType aAudioCodec) { return smth put_AudioCodec (aAudioCodec); }
#define COM_FORWARD_IAudioAdapter_SETTER_AudioCodec_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_AudioCodec_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_SETTER_AudioCodec_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_AudioCodec_TO (base::)
#define COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioDriver (AudioDriverType * aAudioDriver) { return smth get_AudioDriver (aAudioDriver); }
#define COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO (base::)
#define COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_TO(smth) HRESULT STDMETHODCALLTYPE put_AudioDriver (AudioDriverType aAudioDriver) { return smth put_AudioDriver (aAudioDriver); }
#define COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_TO_BASE(base) COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_TO (base::)
#define COM_FORWARD_IAudioAdapter_GETTER_PropertiesList_TO(smth) HRESULT STDMETHODCALLTYPE get_PropertiesList (SAFEARRAY * * aPropertiesList) { return smth get_PropertiesList (aPropertiesList); }
#define COM_FORWARD_IAudioAdapter_GETTER_PropertiesList_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GETTER_PropertiesList_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_GETTER_PropertiesList_TO_BASE(base) COM_FORWARD_IAudioAdapter_GETTER_PropertiesList_TO (base::)
#define COM_FORWARD_IAudioAdapter_SetProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetProperty (BSTR aKey, BSTR aValue) { return smth SetProperty (aKey, aValue); }
#define COM_FORWARD_IAudioAdapter_SetProperty_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_SetProperty_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_SetProperty_TO_BASE(base) COM_FORWARD_IAudioAdapter_SetProperty_TO (base::)
#define COM_FORWARD_IAudioAdapter_GetProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetProperty (BSTR aKey, BSTR * aValue) { return smth GetProperty (aKey, aValue); }
#define COM_FORWARD_IAudioAdapter_GetProperty_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_GetProperty_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_GetProperty_TO_BASE(base) COM_FORWARD_IAudioAdapter_GetProperty_TO (base::)
#define COM_FORWARD_IAudioAdapter_TO(smth) COM_FORWARD_IAudioAdapter_GETTER_Enabled_TO (smth) COM_FORWARD_IAudioAdapter_SETTER_Enabled_TO (smth) COM_FORWARD_IAudioAdapter_GETTER_EnabledIn_TO (smth) COM_FORWARD_IAudioAdapter_SETTER_EnabledIn_TO (smth) COM_FORWARD_IAudioAdapter_GETTER_EnabledOut_TO (smth) COM_FORWARD_IAudioAdapter_SETTER_EnabledOut_TO (smth) COM_FORWARD_IAudioAdapter_GETTER_AudioController_TO (smth) COM_FORWARD_IAudioAdapter_SETTER_AudioController_TO (smth) COM_FORWARD_IAudioAdapter_GETTER_AudioCodec_TO (smth) COM_FORWARD_IAudioAdapter_SETTER_AudioCodec_TO (smth) COM_FORWARD_IAudioAdapter_GETTER_AudioDriver_TO (smth) COM_FORWARD_IAudioAdapter_SETTER_AudioDriver_TO (smth) COM_FORWARD_IAudioAdapter_GETTER_PropertiesList_TO (smth) COM_FORWARD_IAudioAdapter_SetProperty_TO (smth) COM_FORWARD_IAudioAdapter_GetProperty_TO (smth) 
#define COM_FORWARD_IAudioAdapter_TO_OBJ(obj) COM_FORWARD_IAudioAdapter_TO ((obj)->)
#define COM_FORWARD_IAudioAdapter_TO_BASE(base) COM_FORWARD_IAudioAdapter_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0093_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0093_v0_0_s_ifspec;

#ifndef __IHostAudioDevice_INTERFACE_DEFINED__
#define __IHostAudioDevice_INTERFACE_DEFINED__

/* interface IHostAudioDevice */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostAudioDevice;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cfde1265-3140-4048-a81f-a1e280dfbd75")
    IHostAudioDevice : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ AudioDeviceType *aType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ AudioDeviceType aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Usage( 
            /* [retval][out] */ AudioDirection *aUsage) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Usage( 
            /* [in] */ AudioDirection aUsage) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultIn( 
            /* [retval][out] */ BOOL *aDefaultIn) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultIn( 
            /* [in] */ BOOL aDefaultIn) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultOut( 
            /* [retval][out] */ BOOL *aDefaultOut) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultOut( 
            /* [in] */ BOOL aDefaultOut) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsHotPlug( 
            /* [retval][out] */ BOOL *aIsHotPlug) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsHotPlug( 
            /* [in] */ BOOL aIsHotPlug) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ AudioDeviceState *aState) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_State( 
            /* [in] */ AudioDeviceState aState) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IHostAudioDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IHostAudioDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IHostAudioDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IHostAudioDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IHostAudioDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IHostAudioDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IHostAudioDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IHostAudioDevice( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProperty( 
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IHostAudioDevice( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IHostAudioDevice( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IHostAudioDevice( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IHostAudioDevice( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostAudioDeviceVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostAudioDevice * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostAudioDevice * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostAudioDevice * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostAudioDevice * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostAudioDevice * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostAudioDevice * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostAudioDevice * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IHostAudioDevice * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IHostAudioDevice * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, put_Name)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IHostAudioDevice * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IHostAudioDevice * This,
            /* [retval][out] */ AudioDeviceType *aType);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, put_Type)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IHostAudioDevice * This,
            /* [in] */ AudioDeviceType aType);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_Usage)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Usage )( 
            IHostAudioDevice * This,
            /* [retval][out] */ AudioDirection *aUsage);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, put_Usage)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Usage )( 
            IHostAudioDevice * This,
            /* [in] */ AudioDirection aUsage);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_DefaultIn)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultIn )( 
            IHostAudioDevice * This,
            /* [retval][out] */ BOOL *aDefaultIn);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, put_DefaultIn)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultIn )( 
            IHostAudioDevice * This,
            /* [in] */ BOOL aDefaultIn);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_DefaultOut)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultOut )( 
            IHostAudioDevice * This,
            /* [retval][out] */ BOOL *aDefaultOut);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, put_DefaultOut)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultOut )( 
            IHostAudioDevice * This,
            /* [in] */ BOOL aDefaultOut);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_IsHotPlug)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsHotPlug )( 
            IHostAudioDevice * This,
            /* [retval][out] */ BOOL *aIsHotPlug);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, put_IsHotPlug)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsHotPlug )( 
            IHostAudioDevice * This,
            /* [in] */ BOOL aIsHotPlug);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IHostAudioDevice * This,
            /* [retval][out] */ AudioDeviceState *aState);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, put_State)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )( 
            IHostAudioDevice * This,
            /* [in] */ AudioDeviceState aState);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_InternalAndReservedAttribute1IHostAudioDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IHostAudioDevice )( 
            IHostAudioDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_InternalAndReservedAttribute2IHostAudioDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IHostAudioDevice )( 
            IHostAudioDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_InternalAndReservedAttribute3IHostAudioDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IHostAudioDevice )( 
            IHostAudioDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_InternalAndReservedAttribute4IHostAudioDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IHostAudioDevice )( 
            IHostAudioDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_InternalAndReservedAttribute5IHostAudioDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IHostAudioDevice )( 
            IHostAudioDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_InternalAndReservedAttribute6IHostAudioDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IHostAudioDevice )( 
            IHostAudioDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_InternalAndReservedAttribute7IHostAudioDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IHostAudioDevice )( 
            IHostAudioDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, get_InternalAndReservedAttribute8IHostAudioDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IHostAudioDevice )( 
            IHostAudioDevice * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, GetProperty)
        HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
            IHostAudioDevice * This,
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, InternalAndReservedMethod1IHostAudioDevice)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IHostAudioDevice )( 
            IHostAudioDevice * This);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, InternalAndReservedMethod2IHostAudioDevice)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IHostAudioDevice )( 
            IHostAudioDevice * This);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, InternalAndReservedMethod3IHostAudioDevice)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IHostAudioDevice )( 
            IHostAudioDevice * This);
        
        DECLSPEC_XFGVIRT(IHostAudioDevice, InternalAndReservedMethod4IHostAudioDevice)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IHostAudioDevice )( 
            IHostAudioDevice * This);
        
        END_INTERFACE
    } IHostAudioDeviceVtbl;

    interface IHostAudioDevice
    {
        CONST_VTBL struct IHostAudioDeviceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostAudioDevice_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostAudioDevice_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostAudioDevice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostAudioDevice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostAudioDevice_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IHostAudioDevice_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IHostAudioDevice_put_Name(This,aName)	\
    ( (This)->lpVtbl -> put_Name(This,aName) ) 

#define IHostAudioDevice_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IHostAudioDevice_put_Type(This,aType)	\
    ( (This)->lpVtbl -> put_Type(This,aType) ) 

#define IHostAudioDevice_get_Usage(This,aUsage)	\
    ( (This)->lpVtbl -> get_Usage(This,aUsage) ) 

#define IHostAudioDevice_put_Usage(This,aUsage)	\
    ( (This)->lpVtbl -> put_Usage(This,aUsage) ) 

#define IHostAudioDevice_get_DefaultIn(This,aDefaultIn)	\
    ( (This)->lpVtbl -> get_DefaultIn(This,aDefaultIn) ) 

#define IHostAudioDevice_put_DefaultIn(This,aDefaultIn)	\
    ( (This)->lpVtbl -> put_DefaultIn(This,aDefaultIn) ) 

#define IHostAudioDevice_get_DefaultOut(This,aDefaultOut)	\
    ( (This)->lpVtbl -> get_DefaultOut(This,aDefaultOut) ) 

#define IHostAudioDevice_put_DefaultOut(This,aDefaultOut)	\
    ( (This)->lpVtbl -> put_DefaultOut(This,aDefaultOut) ) 

#define IHostAudioDevice_get_IsHotPlug(This,aIsHotPlug)	\
    ( (This)->lpVtbl -> get_IsHotPlug(This,aIsHotPlug) ) 

#define IHostAudioDevice_put_IsHotPlug(This,aIsHotPlug)	\
    ( (This)->lpVtbl -> put_IsHotPlug(This,aIsHotPlug) ) 

#define IHostAudioDevice_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#define IHostAudioDevice_put_State(This,aState)	\
    ( (This)->lpVtbl -> put_State(This,aState) ) 

#define IHostAudioDevice_get_InternalAndReservedAttribute1IHostAudioDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IHostAudioDevice(This,aReserved) ) 

#define IHostAudioDevice_get_InternalAndReservedAttribute2IHostAudioDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IHostAudioDevice(This,aReserved) ) 

#define IHostAudioDevice_get_InternalAndReservedAttribute3IHostAudioDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IHostAudioDevice(This,aReserved) ) 

#define IHostAudioDevice_get_InternalAndReservedAttribute4IHostAudioDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IHostAudioDevice(This,aReserved) ) 

#define IHostAudioDevice_get_InternalAndReservedAttribute5IHostAudioDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IHostAudioDevice(This,aReserved) ) 

#define IHostAudioDevice_get_InternalAndReservedAttribute6IHostAudioDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IHostAudioDevice(This,aReserved) ) 

#define IHostAudioDevice_get_InternalAndReservedAttribute7IHostAudioDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IHostAudioDevice(This,aReserved) ) 

#define IHostAudioDevice_get_InternalAndReservedAttribute8IHostAudioDevice(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IHostAudioDevice(This,aReserved) ) 

#define IHostAudioDevice_GetProperty(This,aKey,aValue)	\
    ( (This)->lpVtbl -> GetProperty(This,aKey,aValue) ) 

#define IHostAudioDevice_InternalAndReservedMethod1IHostAudioDevice(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IHostAudioDevice(This) ) 

#define IHostAudioDevice_InternalAndReservedMethod2IHostAudioDevice(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IHostAudioDevice(This) ) 

#define IHostAudioDevice_InternalAndReservedMethod3IHostAudioDevice(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IHostAudioDevice(This) ) 

#define IHostAudioDevice_InternalAndReservedMethod4IHostAudioDevice(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IHostAudioDevice(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostAudioDevice_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0094 */
/* [local] */ 

#define COM_FORWARD_IHostAudioDevice_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IHostAudioDevice_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_GETTER_Id_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_Id_TO (base::)
#define COM_FORWARD_IHostAudioDevice_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IHostAudioDevice_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_GETTER_Name_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_Name_TO (base::)
#define COM_FORWARD_IHostAudioDevice_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }
#define COM_FORWARD_IHostAudioDevice_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_Name_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_SETTER_Name_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_Name_TO (base::)
#define COM_FORWARD_IHostAudioDevice_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (AudioDeviceType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IHostAudioDevice_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_GETTER_Type_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_Type_TO (base::)
#define COM_FORWARD_IHostAudioDevice_SETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE put_Type (AudioDeviceType aType) { return smth put_Type (aType); }
#define COM_FORWARD_IHostAudioDevice_SETTER_Type_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_Type_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_SETTER_Type_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_Type_TO (base::)
#define COM_FORWARD_IHostAudioDevice_GETTER_Usage_TO(smth) HRESULT STDMETHODCALLTYPE get_Usage (AudioDirection * aUsage) { return smth get_Usage (aUsage); }
#define COM_FORWARD_IHostAudioDevice_GETTER_Usage_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_Usage_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_GETTER_Usage_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_Usage_TO (base::)
#define COM_FORWARD_IHostAudioDevice_SETTER_Usage_TO(smth) HRESULT STDMETHODCALLTYPE put_Usage (AudioDirection aUsage) { return smth put_Usage (aUsage); }
#define COM_FORWARD_IHostAudioDevice_SETTER_Usage_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_Usage_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_SETTER_Usage_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_Usage_TO (base::)
#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultIn_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultIn (BOOL * aDefaultIn) { return smth get_DefaultIn (aDefaultIn); }
#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultIn_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_DefaultIn_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultIn_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_DefaultIn_TO (base::)
#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultIn_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultIn (BOOL aDefaultIn) { return smth put_DefaultIn (aDefaultIn); }
#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultIn_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_DefaultIn_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultIn_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_DefaultIn_TO (base::)
#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultOut_TO(smth) HRESULT STDMETHODCALLTYPE get_DefaultOut (BOOL * aDefaultOut) { return smth get_DefaultOut (aDefaultOut); }
#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultOut_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_DefaultOut_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_GETTER_DefaultOut_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_DefaultOut_TO (base::)
#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultOut_TO(smth) HRESULT STDMETHODCALLTYPE put_DefaultOut (BOOL aDefaultOut) { return smth put_DefaultOut (aDefaultOut); }
#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultOut_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_DefaultOut_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_SETTER_DefaultOut_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_DefaultOut_TO (base::)
#define COM_FORWARD_IHostAudioDevice_GETTER_IsHotPlug_TO(smth) HRESULT STDMETHODCALLTYPE get_IsHotPlug (BOOL * aIsHotPlug) { return smth get_IsHotPlug (aIsHotPlug); }
#define COM_FORWARD_IHostAudioDevice_GETTER_IsHotPlug_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_IsHotPlug_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_GETTER_IsHotPlug_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_IsHotPlug_TO (base::)
#define COM_FORWARD_IHostAudioDevice_SETTER_IsHotPlug_TO(smth) HRESULT STDMETHODCALLTYPE put_IsHotPlug (BOOL aIsHotPlug) { return smth put_IsHotPlug (aIsHotPlug); }
#define COM_FORWARD_IHostAudioDevice_SETTER_IsHotPlug_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_IsHotPlug_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_SETTER_IsHotPlug_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_IsHotPlug_TO (base::)
#define COM_FORWARD_IHostAudioDevice_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (AudioDeviceState * aState) { return smth get_State (aState); }
#define COM_FORWARD_IHostAudioDevice_GETTER_State_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GETTER_State_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_GETTER_State_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GETTER_State_TO (base::)
#define COM_FORWARD_IHostAudioDevice_SETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE put_State (AudioDeviceState aState) { return smth put_State (aState); }
#define COM_FORWARD_IHostAudioDevice_SETTER_State_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_SETTER_State_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_SETTER_State_TO_BASE(base) COM_FORWARD_IHostAudioDevice_SETTER_State_TO (base::)
#define COM_FORWARD_IHostAudioDevice_GetProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetProperty (BSTR aKey, BSTR * aValue) { return smth GetProperty (aKey, aValue); }
#define COM_FORWARD_IHostAudioDevice_GetProperty_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_GetProperty_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_GetProperty_TO_BASE(base) COM_FORWARD_IHostAudioDevice_GetProperty_TO (base::)
#define COM_FORWARD_IHostAudioDevice_TO(smth) COM_FORWARD_IHostAudioDevice_GETTER_Id_TO (smth) COM_FORWARD_IHostAudioDevice_GETTER_Name_TO (smth) COM_FORWARD_IHostAudioDevice_SETTER_Name_TO (smth) COM_FORWARD_IHostAudioDevice_GETTER_Type_TO (smth) COM_FORWARD_IHostAudioDevice_SETTER_Type_TO (smth) COM_FORWARD_IHostAudioDevice_GETTER_Usage_TO (smth) COM_FORWARD_IHostAudioDevice_SETTER_Usage_TO (smth) COM_FORWARD_IHostAudioDevice_GETTER_DefaultIn_TO (smth) COM_FORWARD_IHostAudioDevice_SETTER_DefaultIn_TO (smth) COM_FORWARD_IHostAudioDevice_GETTER_DefaultOut_TO (smth) COM_FORWARD_IHostAudioDevice_SETTER_DefaultOut_TO (smth) COM_FORWARD_IHostAudioDevice_GETTER_IsHotPlug_TO (smth) COM_FORWARD_IHostAudioDevice_SETTER_IsHotPlug_TO (smth) COM_FORWARD_IHostAudioDevice_GETTER_State_TO (smth) COM_FORWARD_IHostAudioDevice_SETTER_State_TO (smth) COM_FORWARD_IHostAudioDevice_GetProperty_TO (smth) 
#define COM_FORWARD_IHostAudioDevice_TO_OBJ(obj) COM_FORWARD_IHostAudioDevice_TO ((obj)->)
#define COM_FORWARD_IHostAudioDevice_TO_BASE(base) COM_FORWARD_IHostAudioDevice_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0094_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0094_v0_0_s_ifspec;

#ifndef __IAudioSettings_INTERFACE_DEFINED__
#define __IAudioSettings_INTERFACE_DEFINED__

/* interface IAudioSettings */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IAudioSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("52f40b16-520e-473f-9428-3e69b0d915c3")
    IAudioSettings : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Adapter( 
            /* [retval][out] */ IAudioAdapter **aAdapter) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IAudioSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IAudioSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IAudioSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IAudioSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IAudioSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IAudioSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IAudioSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IAudioSettings( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetHostAudioDevice( 
            /* [in] */ AudioDirection aUsage,
            /* [retval][out] */ IHostAudioDevice **aDevice) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetHostAudioDevice( 
            /* [in] */ IHostAudioDevice *aDevice,
            /* [in] */ AudioDirection aUsage) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IAudioSettings( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IAudioSettings( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IAudioSettings( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IAudioSettings( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAudioSettingsVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAudioSettings * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAudioSettings * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAudioSettings * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAudioSettings * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAudioSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAudioSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAudioSettings * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IAudioSettings, get_Adapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Adapter )( 
            IAudioSettings * This,
            /* [retval][out] */ IAudioAdapter **aAdapter);
        
        DECLSPEC_XFGVIRT(IAudioSettings, get_InternalAndReservedAttribute1IAudioSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IAudioSettings )( 
            IAudioSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioSettings, get_InternalAndReservedAttribute2IAudioSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IAudioSettings )( 
            IAudioSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioSettings, get_InternalAndReservedAttribute3IAudioSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IAudioSettings )( 
            IAudioSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioSettings, get_InternalAndReservedAttribute4IAudioSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IAudioSettings )( 
            IAudioSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioSettings, get_InternalAndReservedAttribute5IAudioSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IAudioSettings )( 
            IAudioSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioSettings, get_InternalAndReservedAttribute6IAudioSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IAudioSettings )( 
            IAudioSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioSettings, get_InternalAndReservedAttribute7IAudioSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IAudioSettings )( 
            IAudioSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioSettings, get_InternalAndReservedAttribute8IAudioSettings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IAudioSettings )( 
            IAudioSettings * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IAudioSettings, GetHostAudioDevice)
        HRESULT ( STDMETHODCALLTYPE *GetHostAudioDevice )( 
            IAudioSettings * This,
            /* [in] */ AudioDirection aUsage,
            /* [retval][out] */ IHostAudioDevice **aDevice);
        
        DECLSPEC_XFGVIRT(IAudioSettings, SetHostAudioDevice)
        HRESULT ( STDMETHODCALLTYPE *SetHostAudioDevice )( 
            IAudioSettings * This,
            /* [in] */ IHostAudioDevice *aDevice,
            /* [in] */ AudioDirection aUsage);
        
        DECLSPEC_XFGVIRT(IAudioSettings, InternalAndReservedMethod1IAudioSettings)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IAudioSettings )( 
            IAudioSettings * This);
        
        DECLSPEC_XFGVIRT(IAudioSettings, InternalAndReservedMethod2IAudioSettings)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IAudioSettings )( 
            IAudioSettings * This);
        
        DECLSPEC_XFGVIRT(IAudioSettings, InternalAndReservedMethod3IAudioSettings)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IAudioSettings )( 
            IAudioSettings * This);
        
        DECLSPEC_XFGVIRT(IAudioSettings, InternalAndReservedMethod4IAudioSettings)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IAudioSettings )( 
            IAudioSettings * This);
        
        END_INTERFACE
    } IAudioSettingsVtbl;

    interface IAudioSettings
    {
        CONST_VTBL struct IAudioSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAudioSettings_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAudioSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAudioSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAudioSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAudioSettings_get_Adapter(This,aAdapter)	\
    ( (This)->lpVtbl -> get_Adapter(This,aAdapter) ) 

#define IAudioSettings_get_InternalAndReservedAttribute1IAudioSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IAudioSettings(This,aReserved) ) 

#define IAudioSettings_get_InternalAndReservedAttribute2IAudioSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IAudioSettings(This,aReserved) ) 

#define IAudioSettings_get_InternalAndReservedAttribute3IAudioSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IAudioSettings(This,aReserved) ) 

#define IAudioSettings_get_InternalAndReservedAttribute4IAudioSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IAudioSettings(This,aReserved) ) 

#define IAudioSettings_get_InternalAndReservedAttribute5IAudioSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IAudioSettings(This,aReserved) ) 

#define IAudioSettings_get_InternalAndReservedAttribute6IAudioSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IAudioSettings(This,aReserved) ) 

#define IAudioSettings_get_InternalAndReservedAttribute7IAudioSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IAudioSettings(This,aReserved) ) 

#define IAudioSettings_get_InternalAndReservedAttribute8IAudioSettings(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IAudioSettings(This,aReserved) ) 

#define IAudioSettings_GetHostAudioDevice(This,aUsage,aDevice)	\
    ( (This)->lpVtbl -> GetHostAudioDevice(This,aUsage,aDevice) ) 

#define IAudioSettings_SetHostAudioDevice(This,aDevice,aUsage)	\
    ( (This)->lpVtbl -> SetHostAudioDevice(This,aDevice,aUsage) ) 

#define IAudioSettings_InternalAndReservedMethod1IAudioSettings(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IAudioSettings(This) ) 

#define IAudioSettings_InternalAndReservedMethod2IAudioSettings(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IAudioSettings(This) ) 

#define IAudioSettings_InternalAndReservedMethod3IAudioSettings(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IAudioSettings(This) ) 

#define IAudioSettings_InternalAndReservedMethod4IAudioSettings(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IAudioSettings(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAudioSettings_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0095 */
/* [local] */ 

#define COM_FORWARD_IAudioSettings_GETTER_Adapter_TO(smth) HRESULT STDMETHODCALLTYPE get_Adapter (IAudioAdapter * * aAdapter) { return smth get_Adapter (aAdapter); }
#define COM_FORWARD_IAudioSettings_GETTER_Adapter_TO_OBJ(obj) COM_FORWARD_IAudioSettings_GETTER_Adapter_TO ((obj)->)
#define COM_FORWARD_IAudioSettings_GETTER_Adapter_TO_BASE(base) COM_FORWARD_IAudioSettings_GETTER_Adapter_TO (base::)
#define COM_FORWARD_IAudioSettings_GetHostAudioDevice_TO(smth) HRESULT STDMETHODCALLTYPE GetHostAudioDevice (AudioDirection aUsage, IHostAudioDevice * * aDevice) { return smth GetHostAudioDevice (aUsage, aDevice); }
#define COM_FORWARD_IAudioSettings_GetHostAudioDevice_TO_OBJ(obj) COM_FORWARD_IAudioSettings_GetHostAudioDevice_TO ((obj)->)
#define COM_FORWARD_IAudioSettings_GetHostAudioDevice_TO_BASE(base) COM_FORWARD_IAudioSettings_GetHostAudioDevice_TO (base::)
#define COM_FORWARD_IAudioSettings_SetHostAudioDevice_TO(smth) HRESULT STDMETHODCALLTYPE SetHostAudioDevice (IHostAudioDevice * aDevice, AudioDirection aUsage) { return smth SetHostAudioDevice (aDevice, aUsage); }
#define COM_FORWARD_IAudioSettings_SetHostAudioDevice_TO_OBJ(obj) COM_FORWARD_IAudioSettings_SetHostAudioDevice_TO ((obj)->)
#define COM_FORWARD_IAudioSettings_SetHostAudioDevice_TO_BASE(base) COM_FORWARD_IAudioSettings_SetHostAudioDevice_TO (base::)
#define COM_FORWARD_IAudioSettings_TO(smth) COM_FORWARD_IAudioSettings_GETTER_Adapter_TO (smth) COM_FORWARD_IAudioSettings_GetHostAudioDevice_TO (smth) COM_FORWARD_IAudioSettings_SetHostAudioDevice_TO (smth) 
#define COM_FORWARD_IAudioSettings_TO_OBJ(obj) COM_FORWARD_IAudioSettings_TO ((obj)->)
#define COM_FORWARD_IAudioSettings_TO_BASE(base) COM_FORWARD_IAudioSettings_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0095_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0095_v0_0_s_ifspec;

#ifndef __IVRDEServer_INTERFACE_DEFINED__
#define __IVRDEServer_INTERFACE_DEFINED__

/* interface IVRDEServer */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVRDEServer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("08e25756-08a2-41af-a05f-d7c661abaebe")
    IVRDEServer : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AuthType( 
            /* [retval][out] */ AuthType *aAuthType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AuthType( 
            /* [in] */ AuthType aAuthType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AuthTimeout( 
            /* [retval][out] */ ULONG *aAuthTimeout) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AuthTimeout( 
            /* [in] */ ULONG aAuthTimeout) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllowMultiConnection( 
            /* [retval][out] */ BOOL *aAllowMultiConnection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AllowMultiConnection( 
            /* [in] */ BOOL aAllowMultiConnection) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReuseSingleConnection( 
            /* [retval][out] */ BOOL *aReuseSingleConnection) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ReuseSingleConnection( 
            /* [in] */ BOOL aReuseSingleConnection) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VRDEExtPack( 
            /* [retval][out] */ BSTR *aVRDEExtPack) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_VRDEExtPack( 
            /* [in] */ BSTR aVRDEExtPack) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AuthLibrary( 
            /* [retval][out] */ BSTR *aAuthLibrary) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AuthLibrary( 
            /* [in] */ BSTR aAuthLibrary) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VRDEProperties( 
            /* [retval][out] */ SAFEARRAY * *aVRDEProperties) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IVRDEServer( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IVRDEServer( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IVRDEServer( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IVRDEServer( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetVRDEProperty( 
            /* [in] */ BSTR aKey,
            /* [in] */ BSTR aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVRDEProperty( 
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IVRDEServer( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IVRDEServer( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVRDEServerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVRDEServer * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVRDEServer * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVRDEServer * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IVRDEServer * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IVRDEServer * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IVRDEServer * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IVRDEServer * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IVRDEServer * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IVRDEServer, put_Enabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IVRDEServer * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_AuthType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AuthType )( 
            IVRDEServer * This,
            /* [retval][out] */ AuthType *aAuthType);
        
        DECLSPEC_XFGVIRT(IVRDEServer, put_AuthType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AuthType )( 
            IVRDEServer * This,
            /* [in] */ AuthType aAuthType);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_AuthTimeout)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AuthTimeout )( 
            IVRDEServer * This,
            /* [retval][out] */ ULONG *aAuthTimeout);
        
        DECLSPEC_XFGVIRT(IVRDEServer, put_AuthTimeout)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AuthTimeout )( 
            IVRDEServer * This,
            /* [in] */ ULONG aAuthTimeout);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_AllowMultiConnection)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowMultiConnection )( 
            IVRDEServer * This,
            /* [retval][out] */ BOOL *aAllowMultiConnection);
        
        DECLSPEC_XFGVIRT(IVRDEServer, put_AllowMultiConnection)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowMultiConnection )( 
            IVRDEServer * This,
            /* [in] */ BOOL aAllowMultiConnection);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_ReuseSingleConnection)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReuseSingleConnection )( 
            IVRDEServer * This,
            /* [retval][out] */ BOOL *aReuseSingleConnection);
        
        DECLSPEC_XFGVIRT(IVRDEServer, put_ReuseSingleConnection)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ReuseSingleConnection )( 
            IVRDEServer * This,
            /* [in] */ BOOL aReuseSingleConnection);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_VRDEExtPack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VRDEExtPack )( 
            IVRDEServer * This,
            /* [retval][out] */ BSTR *aVRDEExtPack);
        
        DECLSPEC_XFGVIRT(IVRDEServer, put_VRDEExtPack)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_VRDEExtPack )( 
            IVRDEServer * This,
            /* [in] */ BSTR aVRDEExtPack);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_AuthLibrary)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AuthLibrary )( 
            IVRDEServer * This,
            /* [retval][out] */ BSTR *aAuthLibrary);
        
        DECLSPEC_XFGVIRT(IVRDEServer, put_AuthLibrary)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AuthLibrary )( 
            IVRDEServer * This,
            /* [in] */ BSTR aAuthLibrary);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_VRDEProperties)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VRDEProperties )( 
            IVRDEServer * This,
            /* [retval][out] */ SAFEARRAY * *aVRDEProperties);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_InternalAndReservedAttribute1IVRDEServer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IVRDEServer )( 
            IVRDEServer * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_InternalAndReservedAttribute2IVRDEServer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IVRDEServer )( 
            IVRDEServer * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_InternalAndReservedAttribute3IVRDEServer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IVRDEServer )( 
            IVRDEServer * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVRDEServer, get_InternalAndReservedAttribute4IVRDEServer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IVRDEServer )( 
            IVRDEServer * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVRDEServer, SetVRDEProperty)
        HRESULT ( STDMETHODCALLTYPE *SetVRDEProperty )( 
            IVRDEServer * This,
            /* [in] */ BSTR aKey,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(IVRDEServer, GetVRDEProperty)
        HRESULT ( STDMETHODCALLTYPE *GetVRDEProperty )( 
            IVRDEServer * This,
            /* [in] */ BSTR aKey,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IVRDEServer, InternalAndReservedMethod1IVRDEServer)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IVRDEServer )( 
            IVRDEServer * This);
        
        DECLSPEC_XFGVIRT(IVRDEServer, InternalAndReservedMethod2IVRDEServer)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IVRDEServer )( 
            IVRDEServer * This);
        
        END_INTERFACE
    } IVRDEServerVtbl;

    interface IVRDEServer
    {
        CONST_VTBL struct IVRDEServerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVRDEServer_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IVRDEServer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IVRDEServer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IVRDEServer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IVRDEServer_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IVRDEServer_put_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,aEnabled) ) 

#define IVRDEServer_get_AuthType(This,aAuthType)	\
    ( (This)->lpVtbl -> get_AuthType(This,aAuthType) ) 

#define IVRDEServer_put_AuthType(This,aAuthType)	\
    ( (This)->lpVtbl -> put_AuthType(This,aAuthType) ) 

#define IVRDEServer_get_AuthTimeout(This,aAuthTimeout)	\
    ( (This)->lpVtbl -> get_AuthTimeout(This,aAuthTimeout) ) 

#define IVRDEServer_put_AuthTimeout(This,aAuthTimeout)	\
    ( (This)->lpVtbl -> put_AuthTimeout(This,aAuthTimeout) ) 

#define IVRDEServer_get_AllowMultiConnection(This,aAllowMultiConnection)	\
    ( (This)->lpVtbl -> get_AllowMultiConnection(This,aAllowMultiConnection) ) 

#define IVRDEServer_put_AllowMultiConnection(This,aAllowMultiConnection)	\
    ( (This)->lpVtbl -> put_AllowMultiConnection(This,aAllowMultiConnection) ) 

#define IVRDEServer_get_ReuseSingleConnection(This,aReuseSingleConnection)	\
    ( (This)->lpVtbl -> get_ReuseSingleConnection(This,aReuseSingleConnection) ) 

#define IVRDEServer_put_ReuseSingleConnection(This,aReuseSingleConnection)	\
    ( (This)->lpVtbl -> put_ReuseSingleConnection(This,aReuseSingleConnection) ) 

#define IVRDEServer_get_VRDEExtPack(This,aVRDEExtPack)	\
    ( (This)->lpVtbl -> get_VRDEExtPack(This,aVRDEExtPack) ) 

#define IVRDEServer_put_VRDEExtPack(This,aVRDEExtPack)	\
    ( (This)->lpVtbl -> put_VRDEExtPack(This,aVRDEExtPack) ) 

#define IVRDEServer_get_AuthLibrary(This,aAuthLibrary)	\
    ( (This)->lpVtbl -> get_AuthLibrary(This,aAuthLibrary) ) 

#define IVRDEServer_put_AuthLibrary(This,aAuthLibrary)	\
    ( (This)->lpVtbl -> put_AuthLibrary(This,aAuthLibrary) ) 

#define IVRDEServer_get_VRDEProperties(This,aVRDEProperties)	\
    ( (This)->lpVtbl -> get_VRDEProperties(This,aVRDEProperties) ) 

#define IVRDEServer_get_InternalAndReservedAttribute1IVRDEServer(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IVRDEServer(This,aReserved) ) 

#define IVRDEServer_get_InternalAndReservedAttribute2IVRDEServer(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IVRDEServer(This,aReserved) ) 

#define IVRDEServer_get_InternalAndReservedAttribute3IVRDEServer(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IVRDEServer(This,aReserved) ) 

#define IVRDEServer_get_InternalAndReservedAttribute4IVRDEServer(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IVRDEServer(This,aReserved) ) 

#define IVRDEServer_SetVRDEProperty(This,aKey,aValue)	\
    ( (This)->lpVtbl -> SetVRDEProperty(This,aKey,aValue) ) 

#define IVRDEServer_GetVRDEProperty(This,aKey,aValue)	\
    ( (This)->lpVtbl -> GetVRDEProperty(This,aKey,aValue) ) 

#define IVRDEServer_InternalAndReservedMethod1IVRDEServer(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IVRDEServer(This) ) 

#define IVRDEServer_InternalAndReservedMethod2IVRDEServer(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IVRDEServer(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVRDEServer_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0096 */
/* [local] */ 

#define COM_FORWARD_IVRDEServer_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_IVRDEServer_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_Enabled_TO (base::)
#define COM_FORWARD_IVRDEServer_SETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE put_Enabled (BOOL aEnabled) { return smth put_Enabled (aEnabled); }
#define COM_FORWARD_IVRDEServer_SETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_SETTER_Enabled_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_Enabled_TO (base::)
#define COM_FORWARD_IVRDEServer_GETTER_AuthType_TO(smth) HRESULT STDMETHODCALLTYPE get_AuthType (AuthType * aAuthType) { return smth get_AuthType (aAuthType); }
#define COM_FORWARD_IVRDEServer_GETTER_AuthType_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_AuthType_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_GETTER_AuthType_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_AuthType_TO (base::)
#define COM_FORWARD_IVRDEServer_SETTER_AuthType_TO(smth) HRESULT STDMETHODCALLTYPE put_AuthType (AuthType aAuthType) { return smth put_AuthType (aAuthType); }
#define COM_FORWARD_IVRDEServer_SETTER_AuthType_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_AuthType_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_SETTER_AuthType_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_AuthType_TO (base::)
#define COM_FORWARD_IVRDEServer_GETTER_AuthTimeout_TO(smth) HRESULT STDMETHODCALLTYPE get_AuthTimeout (ULONG * aAuthTimeout) { return smth get_AuthTimeout (aAuthTimeout); }
#define COM_FORWARD_IVRDEServer_GETTER_AuthTimeout_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_AuthTimeout_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_GETTER_AuthTimeout_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_AuthTimeout_TO (base::)
#define COM_FORWARD_IVRDEServer_SETTER_AuthTimeout_TO(smth) HRESULT STDMETHODCALLTYPE put_AuthTimeout (ULONG aAuthTimeout) { return smth put_AuthTimeout (aAuthTimeout); }
#define COM_FORWARD_IVRDEServer_SETTER_AuthTimeout_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_AuthTimeout_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_SETTER_AuthTimeout_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_AuthTimeout_TO (base::)
#define COM_FORWARD_IVRDEServer_GETTER_AllowMultiConnection_TO(smth) HRESULT STDMETHODCALLTYPE get_AllowMultiConnection (BOOL * aAllowMultiConnection) { return smth get_AllowMultiConnection (aAllowMultiConnection); }
#define COM_FORWARD_IVRDEServer_GETTER_AllowMultiConnection_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_AllowMultiConnection_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_GETTER_AllowMultiConnection_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_AllowMultiConnection_TO (base::)
#define COM_FORWARD_IVRDEServer_SETTER_AllowMultiConnection_TO(smth) HRESULT STDMETHODCALLTYPE put_AllowMultiConnection (BOOL aAllowMultiConnection) { return smth put_AllowMultiConnection (aAllowMultiConnection); }
#define COM_FORWARD_IVRDEServer_SETTER_AllowMultiConnection_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_AllowMultiConnection_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_SETTER_AllowMultiConnection_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_AllowMultiConnection_TO (base::)
#define COM_FORWARD_IVRDEServer_GETTER_ReuseSingleConnection_TO(smth) HRESULT STDMETHODCALLTYPE get_ReuseSingleConnection (BOOL * aReuseSingleConnection) { return smth get_ReuseSingleConnection (aReuseSingleConnection); }
#define COM_FORWARD_IVRDEServer_GETTER_ReuseSingleConnection_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_ReuseSingleConnection_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_GETTER_ReuseSingleConnection_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_ReuseSingleConnection_TO (base::)
#define COM_FORWARD_IVRDEServer_SETTER_ReuseSingleConnection_TO(smth) HRESULT STDMETHODCALLTYPE put_ReuseSingleConnection (BOOL aReuseSingleConnection) { return smth put_ReuseSingleConnection (aReuseSingleConnection); }
#define COM_FORWARD_IVRDEServer_SETTER_ReuseSingleConnection_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_ReuseSingleConnection_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_SETTER_ReuseSingleConnection_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_ReuseSingleConnection_TO (base::)
#define COM_FORWARD_IVRDEServer_GETTER_VRDEExtPack_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEExtPack (BSTR * aVRDEExtPack) { return smth get_VRDEExtPack (aVRDEExtPack); }
#define COM_FORWARD_IVRDEServer_GETTER_VRDEExtPack_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_VRDEExtPack_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_GETTER_VRDEExtPack_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_VRDEExtPack_TO (base::)
#define COM_FORWARD_IVRDEServer_SETTER_VRDEExtPack_TO(smth) HRESULT STDMETHODCALLTYPE put_VRDEExtPack (BSTR aVRDEExtPack) { return smth put_VRDEExtPack (aVRDEExtPack); }
#define COM_FORWARD_IVRDEServer_SETTER_VRDEExtPack_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_VRDEExtPack_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_SETTER_VRDEExtPack_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_VRDEExtPack_TO (base::)
#define COM_FORWARD_IVRDEServer_GETTER_AuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE get_AuthLibrary (BSTR * aAuthLibrary) { return smth get_AuthLibrary (aAuthLibrary); }
#define COM_FORWARD_IVRDEServer_GETTER_AuthLibrary_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_AuthLibrary_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_GETTER_AuthLibrary_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_AuthLibrary_TO (base::)
#define COM_FORWARD_IVRDEServer_SETTER_AuthLibrary_TO(smth) HRESULT STDMETHODCALLTYPE put_AuthLibrary (BSTR aAuthLibrary) { return smth put_AuthLibrary (aAuthLibrary); }
#define COM_FORWARD_IVRDEServer_SETTER_AuthLibrary_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SETTER_AuthLibrary_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_SETTER_AuthLibrary_TO_BASE(base) COM_FORWARD_IVRDEServer_SETTER_AuthLibrary_TO (base::)
#define COM_FORWARD_IVRDEServer_GETTER_VRDEProperties_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEProperties (SAFEARRAY * * aVRDEProperties) { return smth get_VRDEProperties (aVRDEProperties); }
#define COM_FORWARD_IVRDEServer_GETTER_VRDEProperties_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GETTER_VRDEProperties_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_GETTER_VRDEProperties_TO_BASE(base) COM_FORWARD_IVRDEServer_GETTER_VRDEProperties_TO (base::)
#define COM_FORWARD_IVRDEServer_SetVRDEProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetVRDEProperty (BSTR aKey, BSTR aValue) { return smth SetVRDEProperty (aKey, aValue); }
#define COM_FORWARD_IVRDEServer_SetVRDEProperty_TO_OBJ(obj) COM_FORWARD_IVRDEServer_SetVRDEProperty_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_SetVRDEProperty_TO_BASE(base) COM_FORWARD_IVRDEServer_SetVRDEProperty_TO (base::)
#define COM_FORWARD_IVRDEServer_GetVRDEProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetVRDEProperty (BSTR aKey, BSTR * aValue) { return smth GetVRDEProperty (aKey, aValue); }
#define COM_FORWARD_IVRDEServer_GetVRDEProperty_TO_OBJ(obj) COM_FORWARD_IVRDEServer_GetVRDEProperty_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_GetVRDEProperty_TO_BASE(base) COM_FORWARD_IVRDEServer_GetVRDEProperty_TO (base::)
#define COM_FORWARD_IVRDEServer_TO(smth) COM_FORWARD_IVRDEServer_GETTER_Enabled_TO (smth) COM_FORWARD_IVRDEServer_SETTER_Enabled_TO (smth) COM_FORWARD_IVRDEServer_GETTER_AuthType_TO (smth) COM_FORWARD_IVRDEServer_SETTER_AuthType_TO (smth) COM_FORWARD_IVRDEServer_GETTER_AuthTimeout_TO (smth) COM_FORWARD_IVRDEServer_SETTER_AuthTimeout_TO (smth) COM_FORWARD_IVRDEServer_GETTER_AllowMultiConnection_TO (smth) COM_FORWARD_IVRDEServer_SETTER_AllowMultiConnection_TO (smth) COM_FORWARD_IVRDEServer_GETTER_ReuseSingleConnection_TO (smth) COM_FORWARD_IVRDEServer_SETTER_ReuseSingleConnection_TO (smth) COM_FORWARD_IVRDEServer_GETTER_VRDEExtPack_TO (smth) COM_FORWARD_IVRDEServer_SETTER_VRDEExtPack_TO (smth) COM_FORWARD_IVRDEServer_GETTER_AuthLibrary_TO (smth) COM_FORWARD_IVRDEServer_SETTER_AuthLibrary_TO (smth) COM_FORWARD_IVRDEServer_GETTER_VRDEProperties_TO (smth) COM_FORWARD_IVRDEServer_SetVRDEProperty_TO (smth) COM_FORWARD_IVRDEServer_GetVRDEProperty_TO (smth) 
#define COM_FORWARD_IVRDEServer_TO_OBJ(obj) COM_FORWARD_IVRDEServer_TO ((obj)->)
#define COM_FORWARD_IVRDEServer_TO_BASE(base) COM_FORWARD_IVRDEServer_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0096_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0096_v0_0_s_ifspec;

#ifndef __ISharedFolder_INTERFACE_DEFINED__
#define __ISharedFolder_INTERFACE_DEFINED__

/* interface ISharedFolder */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISharedFolder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0b108b8c-62e0-4e06-9dfa-2f1a2ad70774")
    ISharedFolder : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostPath( 
            /* [retval][out] */ BSTR *aHostPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Accessible( 
            /* [retval][out] */ BOOL *aAccessible) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Writable( 
            /* [retval][out] */ BOOL *aWritable) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Writable( 
            /* [in] */ BOOL aWritable) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutoMount( 
            /* [retval][out] */ BOOL *aAutoMount) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutoMount( 
            /* [in] */ BOOL aAutoMount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutoMountPoint( 
            /* [retval][out] */ BSTR *aAutoMountPoint) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutoMountPoint( 
            /* [in] */ BSTR aAutoMountPoint) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LastAccessError( 
            /* [retval][out] */ BSTR *aLastAccessError) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SymlinkPolicy( 
            /* [retval][out] */ SymlinkPolicy *aSymlinkPolicy) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SymlinkPolicy( 
            /* [in] */ SymlinkPolicy aSymlinkPolicy) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ISharedFolder( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ISharedFolder( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ISharedFolder( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ISharedFolder( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ISharedFolder( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ISharedFolder( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ISharedFolder( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ISharedFolder( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISharedFolderVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISharedFolder * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISharedFolder * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISharedFolder * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISharedFolder * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISharedFolder * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISharedFolder * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISharedFolder * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ISharedFolder * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_HostPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostPath )( 
            ISharedFolder * This,
            /* [retval][out] */ BSTR *aHostPath);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_Accessible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Accessible )( 
            ISharedFolder * This,
            /* [retval][out] */ BOOL *aAccessible);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_Writable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Writable )( 
            ISharedFolder * This,
            /* [retval][out] */ BOOL *aWritable);
        
        DECLSPEC_XFGVIRT(ISharedFolder, put_Writable)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Writable )( 
            ISharedFolder * This,
            /* [in] */ BOOL aWritable);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_AutoMount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoMount )( 
            ISharedFolder * This,
            /* [retval][out] */ BOOL *aAutoMount);
        
        DECLSPEC_XFGVIRT(ISharedFolder, put_AutoMount)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoMount )( 
            ISharedFolder * This,
            /* [in] */ BOOL aAutoMount);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_AutoMountPoint)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoMountPoint )( 
            ISharedFolder * This,
            /* [retval][out] */ BSTR *aAutoMountPoint);
        
        DECLSPEC_XFGVIRT(ISharedFolder, put_AutoMountPoint)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoMountPoint )( 
            ISharedFolder * This,
            /* [in] */ BSTR aAutoMountPoint);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_LastAccessError)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastAccessError )( 
            ISharedFolder * This,
            /* [retval][out] */ BSTR *aLastAccessError);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_SymlinkPolicy)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SymlinkPolicy )( 
            ISharedFolder * This,
            /* [retval][out] */ SymlinkPolicy *aSymlinkPolicy);
        
        DECLSPEC_XFGVIRT(ISharedFolder, put_SymlinkPolicy)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SymlinkPolicy )( 
            ISharedFolder * This,
            /* [in] */ SymlinkPolicy aSymlinkPolicy);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_InternalAndReservedAttribute1ISharedFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ISharedFolder )( 
            ISharedFolder * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_InternalAndReservedAttribute2ISharedFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ISharedFolder )( 
            ISharedFolder * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_InternalAndReservedAttribute3ISharedFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ISharedFolder )( 
            ISharedFolder * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_InternalAndReservedAttribute4ISharedFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ISharedFolder )( 
            ISharedFolder * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_InternalAndReservedAttribute5ISharedFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ISharedFolder )( 
            ISharedFolder * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_InternalAndReservedAttribute6ISharedFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ISharedFolder )( 
            ISharedFolder * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_InternalAndReservedAttribute7ISharedFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ISharedFolder )( 
            ISharedFolder * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISharedFolder, get_InternalAndReservedAttribute8ISharedFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ISharedFolder )( 
            ISharedFolder * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } ISharedFolderVtbl;

    interface ISharedFolder
    {
        CONST_VTBL struct ISharedFolderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISharedFolder_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISharedFolder_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISharedFolder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISharedFolder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISharedFolder_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define ISharedFolder_get_HostPath(This,aHostPath)	\
    ( (This)->lpVtbl -> get_HostPath(This,aHostPath) ) 

#define ISharedFolder_get_Accessible(This,aAccessible)	\
    ( (This)->lpVtbl -> get_Accessible(This,aAccessible) ) 

#define ISharedFolder_get_Writable(This,aWritable)	\
    ( (This)->lpVtbl -> get_Writable(This,aWritable) ) 

#define ISharedFolder_put_Writable(This,aWritable)	\
    ( (This)->lpVtbl -> put_Writable(This,aWritable) ) 

#define ISharedFolder_get_AutoMount(This,aAutoMount)	\
    ( (This)->lpVtbl -> get_AutoMount(This,aAutoMount) ) 

#define ISharedFolder_put_AutoMount(This,aAutoMount)	\
    ( (This)->lpVtbl -> put_AutoMount(This,aAutoMount) ) 

#define ISharedFolder_get_AutoMountPoint(This,aAutoMountPoint)	\
    ( (This)->lpVtbl -> get_AutoMountPoint(This,aAutoMountPoint) ) 

#define ISharedFolder_put_AutoMountPoint(This,aAutoMountPoint)	\
    ( (This)->lpVtbl -> put_AutoMountPoint(This,aAutoMountPoint) ) 

#define ISharedFolder_get_LastAccessError(This,aLastAccessError)	\
    ( (This)->lpVtbl -> get_LastAccessError(This,aLastAccessError) ) 

#define ISharedFolder_get_SymlinkPolicy(This,aSymlinkPolicy)	\
    ( (This)->lpVtbl -> get_SymlinkPolicy(This,aSymlinkPolicy) ) 

#define ISharedFolder_put_SymlinkPolicy(This,aSymlinkPolicy)	\
    ( (This)->lpVtbl -> put_SymlinkPolicy(This,aSymlinkPolicy) ) 

#define ISharedFolder_get_InternalAndReservedAttribute1ISharedFolder(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ISharedFolder(This,aReserved) ) 

#define ISharedFolder_get_InternalAndReservedAttribute2ISharedFolder(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ISharedFolder(This,aReserved) ) 

#define ISharedFolder_get_InternalAndReservedAttribute3ISharedFolder(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ISharedFolder(This,aReserved) ) 

#define ISharedFolder_get_InternalAndReservedAttribute4ISharedFolder(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ISharedFolder(This,aReserved) ) 

#define ISharedFolder_get_InternalAndReservedAttribute5ISharedFolder(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ISharedFolder(This,aReserved) ) 

#define ISharedFolder_get_InternalAndReservedAttribute6ISharedFolder(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ISharedFolder(This,aReserved) ) 

#define ISharedFolder_get_InternalAndReservedAttribute7ISharedFolder(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ISharedFolder(This,aReserved) ) 

#define ISharedFolder_get_InternalAndReservedAttribute8ISharedFolder(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ISharedFolder(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISharedFolder_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0097 */
/* [local] */ 

#define COM_FORWARD_ISharedFolder_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_ISharedFolder_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_GETTER_Name_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_Name_TO (base::)
#define COM_FORWARD_ISharedFolder_GETTER_HostPath_TO(smth) HRESULT STDMETHODCALLTYPE get_HostPath (BSTR * aHostPath) { return smth get_HostPath (aHostPath); }
#define COM_FORWARD_ISharedFolder_GETTER_HostPath_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_HostPath_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_GETTER_HostPath_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_HostPath_TO (base::)
#define COM_FORWARD_ISharedFolder_GETTER_Accessible_TO(smth) HRESULT STDMETHODCALLTYPE get_Accessible (BOOL * aAccessible) { return smth get_Accessible (aAccessible); }
#define COM_FORWARD_ISharedFolder_GETTER_Accessible_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_Accessible_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_GETTER_Accessible_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_Accessible_TO (base::)
#define COM_FORWARD_ISharedFolder_GETTER_Writable_TO(smth) HRESULT STDMETHODCALLTYPE get_Writable (BOOL * aWritable) { return smth get_Writable (aWritable); }
#define COM_FORWARD_ISharedFolder_GETTER_Writable_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_Writable_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_GETTER_Writable_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_Writable_TO (base::)
#define COM_FORWARD_ISharedFolder_SETTER_Writable_TO(smth) HRESULT STDMETHODCALLTYPE put_Writable (BOOL aWritable) { return smth put_Writable (aWritable); }
#define COM_FORWARD_ISharedFolder_SETTER_Writable_TO_OBJ(obj) COM_FORWARD_ISharedFolder_SETTER_Writable_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_SETTER_Writable_TO_BASE(base) COM_FORWARD_ISharedFolder_SETTER_Writable_TO (base::)
#define COM_FORWARD_ISharedFolder_GETTER_AutoMount_TO(smth) HRESULT STDMETHODCALLTYPE get_AutoMount (BOOL * aAutoMount) { return smth get_AutoMount (aAutoMount); }
#define COM_FORWARD_ISharedFolder_GETTER_AutoMount_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_AutoMount_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_GETTER_AutoMount_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_AutoMount_TO (base::)
#define COM_FORWARD_ISharedFolder_SETTER_AutoMount_TO(smth) HRESULT STDMETHODCALLTYPE put_AutoMount (BOOL aAutoMount) { return smth put_AutoMount (aAutoMount); }
#define COM_FORWARD_ISharedFolder_SETTER_AutoMount_TO_OBJ(obj) COM_FORWARD_ISharedFolder_SETTER_AutoMount_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_SETTER_AutoMount_TO_BASE(base) COM_FORWARD_ISharedFolder_SETTER_AutoMount_TO (base::)
#define COM_FORWARD_ISharedFolder_GETTER_AutoMountPoint_TO(smth) HRESULT STDMETHODCALLTYPE get_AutoMountPoint (BSTR * aAutoMountPoint) { return smth get_AutoMountPoint (aAutoMountPoint); }
#define COM_FORWARD_ISharedFolder_GETTER_AutoMountPoint_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_AutoMountPoint_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_GETTER_AutoMountPoint_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_AutoMountPoint_TO (base::)
#define COM_FORWARD_ISharedFolder_SETTER_AutoMountPoint_TO(smth) HRESULT STDMETHODCALLTYPE put_AutoMountPoint (BSTR aAutoMountPoint) { return smth put_AutoMountPoint (aAutoMountPoint); }
#define COM_FORWARD_ISharedFolder_SETTER_AutoMountPoint_TO_OBJ(obj) COM_FORWARD_ISharedFolder_SETTER_AutoMountPoint_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_SETTER_AutoMountPoint_TO_BASE(base) COM_FORWARD_ISharedFolder_SETTER_AutoMountPoint_TO (base::)
#define COM_FORWARD_ISharedFolder_GETTER_LastAccessError_TO(smth) HRESULT STDMETHODCALLTYPE get_LastAccessError (BSTR * aLastAccessError) { return smth get_LastAccessError (aLastAccessError); }
#define COM_FORWARD_ISharedFolder_GETTER_LastAccessError_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_LastAccessError_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_GETTER_LastAccessError_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_LastAccessError_TO (base::)
#define COM_FORWARD_ISharedFolder_GETTER_SymlinkPolicy_TO(smth) HRESULT STDMETHODCALLTYPE get_SymlinkPolicy (SymlinkPolicy * aSymlinkPolicy) { return smth get_SymlinkPolicy (aSymlinkPolicy); }
#define COM_FORWARD_ISharedFolder_GETTER_SymlinkPolicy_TO_OBJ(obj) COM_FORWARD_ISharedFolder_GETTER_SymlinkPolicy_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_GETTER_SymlinkPolicy_TO_BASE(base) COM_FORWARD_ISharedFolder_GETTER_SymlinkPolicy_TO (base::)
#define COM_FORWARD_ISharedFolder_SETTER_SymlinkPolicy_TO(smth) HRESULT STDMETHODCALLTYPE put_SymlinkPolicy (SymlinkPolicy aSymlinkPolicy) { return smth put_SymlinkPolicy (aSymlinkPolicy); }
#define COM_FORWARD_ISharedFolder_SETTER_SymlinkPolicy_TO_OBJ(obj) COM_FORWARD_ISharedFolder_SETTER_SymlinkPolicy_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_SETTER_SymlinkPolicy_TO_BASE(base) COM_FORWARD_ISharedFolder_SETTER_SymlinkPolicy_TO (base::)
#define COM_FORWARD_ISharedFolder_TO(smth) COM_FORWARD_ISharedFolder_GETTER_Name_TO (smth) COM_FORWARD_ISharedFolder_GETTER_HostPath_TO (smth) COM_FORWARD_ISharedFolder_GETTER_Accessible_TO (smth) COM_FORWARD_ISharedFolder_GETTER_Writable_TO (smth) COM_FORWARD_ISharedFolder_SETTER_Writable_TO (smth) COM_FORWARD_ISharedFolder_GETTER_AutoMount_TO (smth) COM_FORWARD_ISharedFolder_SETTER_AutoMount_TO (smth) COM_FORWARD_ISharedFolder_GETTER_AutoMountPoint_TO (smth) COM_FORWARD_ISharedFolder_SETTER_AutoMountPoint_TO (smth) COM_FORWARD_ISharedFolder_GETTER_LastAccessError_TO (smth) COM_FORWARD_ISharedFolder_GETTER_SymlinkPolicy_TO (smth) COM_FORWARD_ISharedFolder_SETTER_SymlinkPolicy_TO (smth) 
#define COM_FORWARD_ISharedFolder_TO_OBJ(obj) COM_FORWARD_ISharedFolder_TO ((obj)->)
#define COM_FORWARD_ISharedFolder_TO_BASE(base) COM_FORWARD_ISharedFolder_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0097_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0097_v0_0_s_ifspec;

#ifndef __IInternalSessionControl_INTERFACE_DEFINED__
#define __IInternalSessionControl_INTERFACE_DEFINED__

/* interface IInternalSessionControl */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IInternalSessionControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("739160a6-53ea-465b-bb6b-5326c20a3c0c")
    IInternalSessionControl : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PID( 
            /* [retval][out] */ ULONG *aPID) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RemoteConsole( 
            /* [retval][out] */ IConsole **aRemoteConsole) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NominalState( 
            /* [retval][out] */ MachineState *aNominalState) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AssignRemoteMachine( 
            /* [in] */ IMachine *aMachine,
            /* [in] */ IConsole *aConsole) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UpdateMachineState( 
            /* [in] */ MachineState aMachineState) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Uninitialize( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnNetworkAdapterChange( 
            /* [in] */ INetworkAdapter *aNetworkAdapter,
            /* [in] */ BOOL aChangeAdapter) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnAudioAdapterChange( 
            /* [in] */ IAudioAdapter *aAudioAdapter) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnHostAudioDeviceChange( 
            /* [in] */ IHostAudioDevice *aDevice,
            /* [in] */ BOOL aIsNew,
            /* [in] */ AudioDeviceState aState,
            /* [in] */ IVirtualBoxErrorInfo *aErrorInfo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnSerialPortChange( 
            /* [in] */ ISerialPort *aSerialPort) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnParallelPortChange( 
            /* [in] */ IParallelPort *aParallelPort) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnStorageControllerChange( 
            /* [in] */ BSTR aMachineId,
            /* [in] */ BSTR aControllerName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnMediumChange( 
            /* [in] */ IMediumAttachment *aMediumAttachment,
            /* [in] */ BOOL aForce) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnStorageDeviceChange( 
            /* [in] */ IMediumAttachment *aMediumAttachment,
            /* [in] */ BOOL aRemove,
            /* [in] */ BOOL aSilent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnVMProcessPriorityChange( 
            /* [in] */ VMProcPriority aPriority) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnClipboardModeChange( 
            /* [in] */ ClipboardMode aClipboardMode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnClipboardFileTransferModeChange( 
            /* [in] */ BOOL aEnabled) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnDnDModeChange( 
            /* [in] */ DnDMode aDndMode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnCPUChange( 
            /* [in] */ ULONG aCpu,
            /* [in] */ BOOL aAdd) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnCPUExecutionCapChange( 
            /* [in] */ ULONG aExecutionCap) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnVRDEServerChange( 
            /* [in] */ BOOL aRestart) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnRecordingStateChange( 
            /* [in] */ BOOL aEnabled,
            /* [out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnRecordingScreenStateChange( 
            /* [in] */ BOOL aEnabled,
            /* [in] */ ULONG aScreen) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnUSBControllerChange( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnSharedFolderChange( 
            /* [in] */ BOOL aGlobal) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnGuestDebugControlChange( 
            /* [in] */ IGuestDebugControl *aGuestDebugControl) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnUSBDeviceAttach( 
            /* [in] */ IUSBDevice *aDevice,
            /* [in] */ IVirtualBoxErrorInfo *aError,
            /* [in] */ ULONG aMaskedInterfaces,
            /* [in] */ BSTR aCaptureFilename) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnUSBDeviceDetach( 
            /* [in] */ BSTR aId,
            /* [in] */ IVirtualBoxErrorInfo *aError) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnShowWindow( 
            /* [in] */ BOOL aCheck,
            /* [out] */ BOOL *aCanShow,
            /* [out] */ LONG64 *aWinId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnBandwidthGroupChange( 
            /* [in] */ IBandwidthGroup *aBandwidthGroup) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AccessGuestProperty( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue,
            /* [in] */ BSTR aFlags,
            /* [in] */ ULONG aAccessMode,
            /* [out] */ BSTR *aRetValue,
            /* [out] */ LONG64 *aRetTimestamp,
            /* [out] */ BSTR *aRetFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnumerateGuestProperties( 
            /* [in] */ BSTR aPatterns,
            /* [out] */ SAFEARRAY * *aKeys,
            /* [out] */ SAFEARRAY * *aValues,
            /* [out] */ SAFEARRAY * *aTimestamps,
            /* [out] */ SAFEARRAY * *aFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnlineMergeMedium( 
            /* [in] */ IMediumAttachment *aMediumAttachment,
            /* [in] */ ULONG aSourceIdx,
            /* [in] */ ULONG aTargetIdx,
            /* [in] */ IProgress *aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReconfigureMediumAttachments( 
            /* [in] */ SAFEARRAY * aAttachments) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnableVMMStatistics( 
            /* [in] */ BOOL aEnable) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PauseWithReason( 
            /* [in] */ Reason aReason) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ResumeWithReason( 
            /* [in] */ Reason aReason) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SaveStateWithReason( 
            /* [in] */ Reason aReason,
            /* [in] */ IProgress *aProgress,
            /* [in] */ ISnapshot *aSnapshot,
            /* [in] */ BSTR aStateFilePath,
            /* [in] */ BOOL aPauseVM,
            /* [retval][out] */ BOOL *aLeftPaused) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CancelSaveStateWithReason( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AssignMachine( 
            /* [in] */ IMachine *aMachine,
            /* [in] */ LockType aLockType,
            /* [in] */ BSTR aTokenId) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IInternalSessionControlVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IInternalSessionControl * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IInternalSessionControl * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IInternalSessionControl * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IInternalSessionControl * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IInternalSessionControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IInternalSessionControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IInternalSessionControl * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, get_PID)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PID )( 
            IInternalSessionControl * This,
            /* [retval][out] */ ULONG *aPID);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, get_RemoteConsole)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemoteConsole )( 
            IInternalSessionControl * This,
            /* [retval][out] */ IConsole **aRemoteConsole);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, get_NominalState)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NominalState )( 
            IInternalSessionControl * This,
            /* [retval][out] */ MachineState *aNominalState);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, AssignRemoteMachine)
        HRESULT ( STDMETHODCALLTYPE *AssignRemoteMachine )( 
            IInternalSessionControl * This,
            /* [in] */ IMachine *aMachine,
            /* [in] */ IConsole *aConsole);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, UpdateMachineState)
        HRESULT ( STDMETHODCALLTYPE *UpdateMachineState )( 
            IInternalSessionControl * This,
            /* [in] */ MachineState aMachineState);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, Uninitialize)
        HRESULT ( STDMETHODCALLTYPE *Uninitialize )( 
            IInternalSessionControl * This);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnNetworkAdapterChange)
        HRESULT ( STDMETHODCALLTYPE *OnNetworkAdapterChange )( 
            IInternalSessionControl * This,
            /* [in] */ INetworkAdapter *aNetworkAdapter,
            /* [in] */ BOOL aChangeAdapter);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnAudioAdapterChange)
        HRESULT ( STDMETHODCALLTYPE *OnAudioAdapterChange )( 
            IInternalSessionControl * This,
            /* [in] */ IAudioAdapter *aAudioAdapter);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnHostAudioDeviceChange)
        HRESULT ( STDMETHODCALLTYPE *OnHostAudioDeviceChange )( 
            IInternalSessionControl * This,
            /* [in] */ IHostAudioDevice *aDevice,
            /* [in] */ BOOL aIsNew,
            /* [in] */ AudioDeviceState aState,
            /* [in] */ IVirtualBoxErrorInfo *aErrorInfo);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnSerialPortChange)
        HRESULT ( STDMETHODCALLTYPE *OnSerialPortChange )( 
            IInternalSessionControl * This,
            /* [in] */ ISerialPort *aSerialPort);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnParallelPortChange)
        HRESULT ( STDMETHODCALLTYPE *OnParallelPortChange )( 
            IInternalSessionControl * This,
            /* [in] */ IParallelPort *aParallelPort);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnStorageControllerChange)
        HRESULT ( STDMETHODCALLTYPE *OnStorageControllerChange )( 
            IInternalSessionControl * This,
            /* [in] */ BSTR aMachineId,
            /* [in] */ BSTR aControllerName);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnMediumChange)
        HRESULT ( STDMETHODCALLTYPE *OnMediumChange )( 
            IInternalSessionControl * This,
            /* [in] */ IMediumAttachment *aMediumAttachment,
            /* [in] */ BOOL aForce);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnStorageDeviceChange)
        HRESULT ( STDMETHODCALLTYPE *OnStorageDeviceChange )( 
            IInternalSessionControl * This,
            /* [in] */ IMediumAttachment *aMediumAttachment,
            /* [in] */ BOOL aRemove,
            /* [in] */ BOOL aSilent);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnVMProcessPriorityChange)
        HRESULT ( STDMETHODCALLTYPE *OnVMProcessPriorityChange )( 
            IInternalSessionControl * This,
            /* [in] */ VMProcPriority aPriority);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnClipboardModeChange)
        HRESULT ( STDMETHODCALLTYPE *OnClipboardModeChange )( 
            IInternalSessionControl * This,
            /* [in] */ ClipboardMode aClipboardMode);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnClipboardFileTransferModeChange)
        HRESULT ( STDMETHODCALLTYPE *OnClipboardFileTransferModeChange )( 
            IInternalSessionControl * This,
            /* [in] */ BOOL aEnabled);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnDnDModeChange)
        HRESULT ( STDMETHODCALLTYPE *OnDnDModeChange )( 
            IInternalSessionControl * This,
            /* [in] */ DnDMode aDndMode);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnCPUChange)
        HRESULT ( STDMETHODCALLTYPE *OnCPUChange )( 
            IInternalSessionControl * This,
            /* [in] */ ULONG aCpu,
            /* [in] */ BOOL aAdd);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnCPUExecutionCapChange)
        HRESULT ( STDMETHODCALLTYPE *OnCPUExecutionCapChange )( 
            IInternalSessionControl * This,
            /* [in] */ ULONG aExecutionCap);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnVRDEServerChange)
        HRESULT ( STDMETHODCALLTYPE *OnVRDEServerChange )( 
            IInternalSessionControl * This,
            /* [in] */ BOOL aRestart);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnRecordingStateChange)
        HRESULT ( STDMETHODCALLTYPE *OnRecordingStateChange )( 
            IInternalSessionControl * This,
            /* [in] */ BOOL aEnabled,
            /* [out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnRecordingScreenStateChange)
        HRESULT ( STDMETHODCALLTYPE *OnRecordingScreenStateChange )( 
            IInternalSessionControl * This,
            /* [in] */ BOOL aEnabled,
            /* [in] */ ULONG aScreen);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnUSBControllerChange)
        HRESULT ( STDMETHODCALLTYPE *OnUSBControllerChange )( 
            IInternalSessionControl * This);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnSharedFolderChange)
        HRESULT ( STDMETHODCALLTYPE *OnSharedFolderChange )( 
            IInternalSessionControl * This,
            /* [in] */ BOOL aGlobal);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnGuestDebugControlChange)
        HRESULT ( STDMETHODCALLTYPE *OnGuestDebugControlChange )( 
            IInternalSessionControl * This,
            /* [in] */ IGuestDebugControl *aGuestDebugControl);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnUSBDeviceAttach)
        HRESULT ( STDMETHODCALLTYPE *OnUSBDeviceAttach )( 
            IInternalSessionControl * This,
            /* [in] */ IUSBDevice *aDevice,
            /* [in] */ IVirtualBoxErrorInfo *aError,
            /* [in] */ ULONG aMaskedInterfaces,
            /* [in] */ BSTR aCaptureFilename);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnUSBDeviceDetach)
        HRESULT ( STDMETHODCALLTYPE *OnUSBDeviceDetach )( 
            IInternalSessionControl * This,
            /* [in] */ BSTR aId,
            /* [in] */ IVirtualBoxErrorInfo *aError);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnShowWindow)
        HRESULT ( STDMETHODCALLTYPE *OnShowWindow )( 
            IInternalSessionControl * This,
            /* [in] */ BOOL aCheck,
            /* [out] */ BOOL *aCanShow,
            /* [out] */ LONG64 *aWinId);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnBandwidthGroupChange)
        HRESULT ( STDMETHODCALLTYPE *OnBandwidthGroupChange )( 
            IInternalSessionControl * This,
            /* [in] */ IBandwidthGroup *aBandwidthGroup);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, AccessGuestProperty)
        HRESULT ( STDMETHODCALLTYPE *AccessGuestProperty )( 
            IInternalSessionControl * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue,
            /* [in] */ BSTR aFlags,
            /* [in] */ ULONG aAccessMode,
            /* [out] */ BSTR *aRetValue,
            /* [out] */ LONG64 *aRetTimestamp,
            /* [out] */ BSTR *aRetFlags);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, EnumerateGuestProperties)
        HRESULT ( STDMETHODCALLTYPE *EnumerateGuestProperties )( 
            IInternalSessionControl * This,
            /* [in] */ BSTR aPatterns,
            /* [out] */ SAFEARRAY * *aKeys,
            /* [out] */ SAFEARRAY * *aValues,
            /* [out] */ SAFEARRAY * *aTimestamps,
            /* [out] */ SAFEARRAY * *aFlags);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, OnlineMergeMedium)
        HRESULT ( STDMETHODCALLTYPE *OnlineMergeMedium )( 
            IInternalSessionControl * This,
            /* [in] */ IMediumAttachment *aMediumAttachment,
            /* [in] */ ULONG aSourceIdx,
            /* [in] */ ULONG aTargetIdx,
            /* [in] */ IProgress *aProgress);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, ReconfigureMediumAttachments)
        HRESULT ( STDMETHODCALLTYPE *ReconfigureMediumAttachments )( 
            IInternalSessionControl * This,
            /* [in] */ SAFEARRAY * aAttachments);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, EnableVMMStatistics)
        HRESULT ( STDMETHODCALLTYPE *EnableVMMStatistics )( 
            IInternalSessionControl * This,
            /* [in] */ BOOL aEnable);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, PauseWithReason)
        HRESULT ( STDMETHODCALLTYPE *PauseWithReason )( 
            IInternalSessionControl * This,
            /* [in] */ Reason aReason);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, ResumeWithReason)
        HRESULT ( STDMETHODCALLTYPE *ResumeWithReason )( 
            IInternalSessionControl * This,
            /* [in] */ Reason aReason);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, SaveStateWithReason)
        HRESULT ( STDMETHODCALLTYPE *SaveStateWithReason )( 
            IInternalSessionControl * This,
            /* [in] */ Reason aReason,
            /* [in] */ IProgress *aProgress,
            /* [in] */ ISnapshot *aSnapshot,
            /* [in] */ BSTR aStateFilePath,
            /* [in] */ BOOL aPauseVM,
            /* [retval][out] */ BOOL *aLeftPaused);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, CancelSaveStateWithReason)
        HRESULT ( STDMETHODCALLTYPE *CancelSaveStateWithReason )( 
            IInternalSessionControl * This);
        
        DECLSPEC_XFGVIRT(IInternalSessionControl, AssignMachine)
        HRESULT ( STDMETHODCALLTYPE *AssignMachine )( 
            IInternalSessionControl * This,
            /* [in] */ IMachine *aMachine,
            /* [in] */ LockType aLockType,
            /* [in] */ BSTR aTokenId);
        
        END_INTERFACE
    } IInternalSessionControlVtbl;

    interface IInternalSessionControl
    {
        CONST_VTBL struct IInternalSessionControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IInternalSessionControl_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IInternalSessionControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IInternalSessionControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IInternalSessionControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IInternalSessionControl_get_PID(This,aPID)	\
    ( (This)->lpVtbl -> get_PID(This,aPID) ) 

#define IInternalSessionControl_get_RemoteConsole(This,aRemoteConsole)	\
    ( (This)->lpVtbl -> get_RemoteConsole(This,aRemoteConsole) ) 

#define IInternalSessionControl_get_NominalState(This,aNominalState)	\
    ( (This)->lpVtbl -> get_NominalState(This,aNominalState) ) 

#define IInternalSessionControl_AssignRemoteMachine(This,aMachine,aConsole)	\
    ( (This)->lpVtbl -> AssignRemoteMachine(This,aMachine,aConsole) ) 

#define IInternalSessionControl_UpdateMachineState(This,aMachineState)	\
    ( (This)->lpVtbl -> UpdateMachineState(This,aMachineState) ) 

#define IInternalSessionControl_Uninitialize(This)	\
    ( (This)->lpVtbl -> Uninitialize(This) ) 

#define IInternalSessionControl_OnNetworkAdapterChange(This,aNetworkAdapter,aChangeAdapter)	\
    ( (This)->lpVtbl -> OnNetworkAdapterChange(This,aNetworkAdapter,aChangeAdapter) ) 

#define IInternalSessionControl_OnAudioAdapterChange(This,aAudioAdapter)	\
    ( (This)->lpVtbl -> OnAudioAdapterChange(This,aAudioAdapter) ) 

#define IInternalSessionControl_OnHostAudioDeviceChange(This,aDevice,aIsNew,aState,aErrorInfo)	\
    ( (This)->lpVtbl -> OnHostAudioDeviceChange(This,aDevice,aIsNew,aState,aErrorInfo) ) 

#define IInternalSessionControl_OnSerialPortChange(This,aSerialPort)	\
    ( (This)->lpVtbl -> OnSerialPortChange(This,aSerialPort) ) 

#define IInternalSessionControl_OnParallelPortChange(This,aParallelPort)	\
    ( (This)->lpVtbl -> OnParallelPortChange(This,aParallelPort) ) 

#define IInternalSessionControl_OnStorageControllerChange(This,aMachineId,aControllerName)	\
    ( (This)->lpVtbl -> OnStorageControllerChange(This,aMachineId,aControllerName) ) 

#define IInternalSessionControl_OnMediumChange(This,aMediumAttachment,aForce)	\
    ( (This)->lpVtbl -> OnMediumChange(This,aMediumAttachment,aForce) ) 

#define IInternalSessionControl_OnStorageDeviceChange(This,aMediumAttachment,aRemove,aSilent)	\
    ( (This)->lpVtbl -> OnStorageDeviceChange(This,aMediumAttachment,aRemove,aSilent) ) 

#define IInternalSessionControl_OnVMProcessPriorityChange(This,aPriority)	\
    ( (This)->lpVtbl -> OnVMProcessPriorityChange(This,aPriority) ) 

#define IInternalSessionControl_OnClipboardModeChange(This,aClipboardMode)	\
    ( (This)->lpVtbl -> OnClipboardModeChange(This,aClipboardMode) ) 

#define IInternalSessionControl_OnClipboardFileTransferModeChange(This,aEnabled)	\
    ( (This)->lpVtbl -> OnClipboardFileTransferModeChange(This,aEnabled) ) 

#define IInternalSessionControl_OnDnDModeChange(This,aDndMode)	\
    ( (This)->lpVtbl -> OnDnDModeChange(This,aDndMode) ) 

#define IInternalSessionControl_OnCPUChange(This,aCpu,aAdd)	\
    ( (This)->lpVtbl -> OnCPUChange(This,aCpu,aAdd) ) 

#define IInternalSessionControl_OnCPUExecutionCapChange(This,aExecutionCap)	\
    ( (This)->lpVtbl -> OnCPUExecutionCapChange(This,aExecutionCap) ) 

#define IInternalSessionControl_OnVRDEServerChange(This,aRestart)	\
    ( (This)->lpVtbl -> OnVRDEServerChange(This,aRestart) ) 

#define IInternalSessionControl_OnRecordingStateChange(This,aEnabled,aProgress)	\
    ( (This)->lpVtbl -> OnRecordingStateChange(This,aEnabled,aProgress) ) 

#define IInternalSessionControl_OnRecordingScreenStateChange(This,aEnabled,aScreen)	\
    ( (This)->lpVtbl -> OnRecordingScreenStateChange(This,aEnabled,aScreen) ) 

#define IInternalSessionControl_OnUSBControllerChange(This)	\
    ( (This)->lpVtbl -> OnUSBControllerChange(This) ) 

#define IInternalSessionControl_OnSharedFolderChange(This,aGlobal)	\
    ( (This)->lpVtbl -> OnSharedFolderChange(This,aGlobal) ) 

#define IInternalSessionControl_OnGuestDebugControlChange(This,aGuestDebugControl)	\
    ( (This)->lpVtbl -> OnGuestDebugControlChange(This,aGuestDebugControl) ) 

#define IInternalSessionControl_OnUSBDeviceAttach(This,aDevice,aError,aMaskedInterfaces,aCaptureFilename)	\
    ( (This)->lpVtbl -> OnUSBDeviceAttach(This,aDevice,aError,aMaskedInterfaces,aCaptureFilename) ) 

#define IInternalSessionControl_OnUSBDeviceDetach(This,aId,aError)	\
    ( (This)->lpVtbl -> OnUSBDeviceDetach(This,aId,aError) ) 

#define IInternalSessionControl_OnShowWindow(This,aCheck,aCanShow,aWinId)	\
    ( (This)->lpVtbl -> OnShowWindow(This,aCheck,aCanShow,aWinId) ) 

#define IInternalSessionControl_OnBandwidthGroupChange(This,aBandwidthGroup)	\
    ( (This)->lpVtbl -> OnBandwidthGroupChange(This,aBandwidthGroup) ) 

#define IInternalSessionControl_AccessGuestProperty(This,aName,aValue,aFlags,aAccessMode,aRetValue,aRetTimestamp,aRetFlags)	\
    ( (This)->lpVtbl -> AccessGuestProperty(This,aName,aValue,aFlags,aAccessMode,aRetValue,aRetTimestamp,aRetFlags) ) 

#define IInternalSessionControl_EnumerateGuestProperties(This,aPatterns,aKeys,aValues,aTimestamps,aFlags)	\
    ( (This)->lpVtbl -> EnumerateGuestProperties(This,aPatterns,aKeys,aValues,aTimestamps,aFlags) ) 

#define IInternalSessionControl_OnlineMergeMedium(This,aMediumAttachment,aSourceIdx,aTargetIdx,aProgress)	\
    ( (This)->lpVtbl -> OnlineMergeMedium(This,aMediumAttachment,aSourceIdx,aTargetIdx,aProgress) ) 

#define IInternalSessionControl_ReconfigureMediumAttachments(This,aAttachments)	\
    ( (This)->lpVtbl -> ReconfigureMediumAttachments(This,aAttachments) ) 

#define IInternalSessionControl_EnableVMMStatistics(This,aEnable)	\
    ( (This)->lpVtbl -> EnableVMMStatistics(This,aEnable) ) 

#define IInternalSessionControl_PauseWithReason(This,aReason)	\
    ( (This)->lpVtbl -> PauseWithReason(This,aReason) ) 

#define IInternalSessionControl_ResumeWithReason(This,aReason)	\
    ( (This)->lpVtbl -> ResumeWithReason(This,aReason) ) 

#define IInternalSessionControl_SaveStateWithReason(This,aReason,aProgress,aSnapshot,aStateFilePath,aPauseVM,aLeftPaused)	\
    ( (This)->lpVtbl -> SaveStateWithReason(This,aReason,aProgress,aSnapshot,aStateFilePath,aPauseVM,aLeftPaused) ) 

#define IInternalSessionControl_CancelSaveStateWithReason(This)	\
    ( (This)->lpVtbl -> CancelSaveStateWithReason(This) ) 

#define IInternalSessionControl_AssignMachine(This,aMachine,aLockType,aTokenId)	\
    ( (This)->lpVtbl -> AssignMachine(This,aMachine,aLockType,aTokenId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IInternalSessionControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0098 */
/* [local] */ 

#define COM_FORWARD_IInternalSessionControl_GETTER_PID_TO(smth) HRESULT STDMETHODCALLTYPE get_PID (ULONG * aPID) { return smth get_PID (aPID); }
#define COM_FORWARD_IInternalSessionControl_GETTER_PID_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_GETTER_PID_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_GETTER_PID_TO_BASE(base) COM_FORWARD_IInternalSessionControl_GETTER_PID_TO (base::)
#define COM_FORWARD_IInternalSessionControl_GETTER_RemoteConsole_TO(smth) HRESULT STDMETHODCALLTYPE get_RemoteConsole (IConsole * * aRemoteConsole) { return smth get_RemoteConsole (aRemoteConsole); }
#define COM_FORWARD_IInternalSessionControl_GETTER_RemoteConsole_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_GETTER_RemoteConsole_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_GETTER_RemoteConsole_TO_BASE(base) COM_FORWARD_IInternalSessionControl_GETTER_RemoteConsole_TO (base::)
#define COM_FORWARD_IInternalSessionControl_GETTER_NominalState_TO(smth) HRESULT STDMETHODCALLTYPE get_NominalState (MachineState * aNominalState) { return smth get_NominalState (aNominalState); }
#define COM_FORWARD_IInternalSessionControl_GETTER_NominalState_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_GETTER_NominalState_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_GETTER_NominalState_TO_BASE(base) COM_FORWARD_IInternalSessionControl_GETTER_NominalState_TO (base::)
#define COM_FORWARD_IInternalSessionControl_AssignRemoteMachine_TO(smth) HRESULT STDMETHODCALLTYPE AssignRemoteMachine (IMachine * aMachine, IConsole * aConsole) { return smth AssignRemoteMachine (aMachine, aConsole); }
#define COM_FORWARD_IInternalSessionControl_AssignRemoteMachine_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_AssignRemoteMachine_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_AssignRemoteMachine_TO_BASE(base) COM_FORWARD_IInternalSessionControl_AssignRemoteMachine_TO (base::)
#define COM_FORWARD_IInternalSessionControl_UpdateMachineState_TO(smth) HRESULT STDMETHODCALLTYPE UpdateMachineState (MachineState aMachineState) { return smth UpdateMachineState (aMachineState); }
#define COM_FORWARD_IInternalSessionControl_UpdateMachineState_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_UpdateMachineState_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_UpdateMachineState_TO_BASE(base) COM_FORWARD_IInternalSessionControl_UpdateMachineState_TO (base::)
#define COM_FORWARD_IInternalSessionControl_Uninitialize_TO(smth) HRESULT STDMETHODCALLTYPE Uninitialize() { return smth Uninitialize(); }
#define COM_FORWARD_IInternalSessionControl_Uninitialize_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_Uninitialize_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_Uninitialize_TO_BASE(base) COM_FORWARD_IInternalSessionControl_Uninitialize_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnNetworkAdapterChange_TO(smth) HRESULT STDMETHODCALLTYPE OnNetworkAdapterChange (INetworkAdapter * aNetworkAdapter, BOOL aChangeAdapter) { return smth OnNetworkAdapterChange (aNetworkAdapter, aChangeAdapter); }
#define COM_FORWARD_IInternalSessionControl_OnNetworkAdapterChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnNetworkAdapterChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnNetworkAdapterChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnNetworkAdapterChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnAudioAdapterChange_TO(smth) HRESULT STDMETHODCALLTYPE OnAudioAdapterChange (IAudioAdapter * aAudioAdapter) { return smth OnAudioAdapterChange (aAudioAdapter); }
#define COM_FORWARD_IInternalSessionControl_OnAudioAdapterChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnAudioAdapterChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnAudioAdapterChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnAudioAdapterChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnHostAudioDeviceChange_TO(smth) HRESULT STDMETHODCALLTYPE OnHostAudioDeviceChange (IHostAudioDevice * aDevice, BOOL aIsNew, AudioDeviceState aState, IVirtualBoxErrorInfo * aErrorInfo) { return smth OnHostAudioDeviceChange (aDevice, aIsNew, aState, aErrorInfo); }
#define COM_FORWARD_IInternalSessionControl_OnHostAudioDeviceChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnHostAudioDeviceChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnHostAudioDeviceChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnHostAudioDeviceChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnSerialPortChange_TO(smth) HRESULT STDMETHODCALLTYPE OnSerialPortChange (ISerialPort * aSerialPort) { return smth OnSerialPortChange (aSerialPort); }
#define COM_FORWARD_IInternalSessionControl_OnSerialPortChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnSerialPortChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnSerialPortChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnSerialPortChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnParallelPortChange_TO(smth) HRESULT STDMETHODCALLTYPE OnParallelPortChange (IParallelPort * aParallelPort) { return smth OnParallelPortChange (aParallelPort); }
#define COM_FORWARD_IInternalSessionControl_OnParallelPortChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnParallelPortChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnParallelPortChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnParallelPortChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnStorageControllerChange_TO(smth) HRESULT STDMETHODCALLTYPE OnStorageControllerChange (BSTR aMachineId, BSTR aControllerName) { return smth OnStorageControllerChange (aMachineId, aControllerName); }
#define COM_FORWARD_IInternalSessionControl_OnStorageControllerChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnStorageControllerChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnStorageControllerChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnStorageControllerChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnMediumChange_TO(smth) HRESULT STDMETHODCALLTYPE OnMediumChange (IMediumAttachment * aMediumAttachment, BOOL aForce) { return smth OnMediumChange (aMediumAttachment, aForce); }
#define COM_FORWARD_IInternalSessionControl_OnMediumChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnMediumChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnMediumChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnMediumChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnStorageDeviceChange_TO(smth) HRESULT STDMETHODCALLTYPE OnStorageDeviceChange (IMediumAttachment * aMediumAttachment, BOOL aRemove, BOOL aSilent) { return smth OnStorageDeviceChange (aMediumAttachment, aRemove, aSilent); }
#define COM_FORWARD_IInternalSessionControl_OnStorageDeviceChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnStorageDeviceChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnStorageDeviceChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnStorageDeviceChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnVMProcessPriorityChange_TO(smth) HRESULT STDMETHODCALLTYPE OnVMProcessPriorityChange (VMProcPriority aPriority) { return smth OnVMProcessPriorityChange (aPriority); }
#define COM_FORWARD_IInternalSessionControl_OnVMProcessPriorityChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnVMProcessPriorityChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnVMProcessPriorityChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnVMProcessPriorityChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnClipboardModeChange_TO(smth) HRESULT STDMETHODCALLTYPE OnClipboardModeChange (ClipboardMode aClipboardMode) { return smth OnClipboardModeChange (aClipboardMode); }
#define COM_FORWARD_IInternalSessionControl_OnClipboardModeChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnClipboardModeChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnClipboardModeChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnClipboardModeChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnClipboardFileTransferModeChange_TO(smth) HRESULT STDMETHODCALLTYPE OnClipboardFileTransferModeChange (BOOL aEnabled) { return smth OnClipboardFileTransferModeChange (aEnabled); }
#define COM_FORWARD_IInternalSessionControl_OnClipboardFileTransferModeChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnClipboardFileTransferModeChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnClipboardFileTransferModeChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnClipboardFileTransferModeChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnDnDModeChange_TO(smth) HRESULT STDMETHODCALLTYPE OnDnDModeChange (DnDMode aDndMode) { return smth OnDnDModeChange (aDndMode); }
#define COM_FORWARD_IInternalSessionControl_OnDnDModeChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnDnDModeChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnDnDModeChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnDnDModeChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnCPUChange_TO(smth) HRESULT STDMETHODCALLTYPE OnCPUChange (ULONG aCpu, BOOL aAdd) { return smth OnCPUChange (aCpu, aAdd); }
#define COM_FORWARD_IInternalSessionControl_OnCPUChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnCPUChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnCPUChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnCPUChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO(smth) HRESULT STDMETHODCALLTYPE OnCPUExecutionCapChange (ULONG aExecutionCap) { return smth OnCPUExecutionCapChange (aExecutionCap); }
#define COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO(smth) HRESULT STDMETHODCALLTYPE OnVRDEServerChange (BOOL aRestart) { return smth OnVRDEServerChange (aRestart); }
#define COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnRecordingStateChange_TO(smth) HRESULT STDMETHODCALLTYPE OnRecordingStateChange (BOOL aEnabled, IProgress * * aProgress) { return smth OnRecordingStateChange (aEnabled, aProgress); }
#define COM_FORWARD_IInternalSessionControl_OnRecordingStateChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnRecordingStateChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnRecordingStateChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnRecordingStateChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnRecordingScreenStateChange_TO(smth) HRESULT STDMETHODCALLTYPE OnRecordingScreenStateChange (BOOL aEnabled, ULONG aScreen) { return smth OnRecordingScreenStateChange (aEnabled, aScreen); }
#define COM_FORWARD_IInternalSessionControl_OnRecordingScreenStateChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnRecordingScreenStateChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnRecordingScreenStateChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnRecordingScreenStateChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO(smth) HRESULT STDMETHODCALLTYPE OnUSBControllerChange() { return smth OnUSBControllerChange(); }
#define COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_TO(smth) HRESULT STDMETHODCALLTYPE OnSharedFolderChange (BOOL aGlobal) { return smth OnSharedFolderChange (aGlobal); }
#define COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnGuestDebugControlChange_TO(smth) HRESULT STDMETHODCALLTYPE OnGuestDebugControlChange (IGuestDebugControl * aGuestDebugControl) { return smth OnGuestDebugControlChange (aGuestDebugControl); }
#define COM_FORWARD_IInternalSessionControl_OnGuestDebugControlChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnGuestDebugControlChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnGuestDebugControlChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnGuestDebugControlChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnUSBDeviceAttach_TO(smth) HRESULT STDMETHODCALLTYPE OnUSBDeviceAttach (IUSBDevice * aDevice, IVirtualBoxErrorInfo * aError, ULONG aMaskedInterfaces, BSTR aCaptureFilename) { return smth OnUSBDeviceAttach (aDevice, aError, aMaskedInterfaces, aCaptureFilename); }
#define COM_FORWARD_IInternalSessionControl_OnUSBDeviceAttach_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnUSBDeviceAttach_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnUSBDeviceAttach_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnUSBDeviceAttach_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnUSBDeviceDetach_TO(smth) HRESULT STDMETHODCALLTYPE OnUSBDeviceDetach (BSTR aId, IVirtualBoxErrorInfo * aError) { return smth OnUSBDeviceDetach (aId, aError); }
#define COM_FORWARD_IInternalSessionControl_OnUSBDeviceDetach_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnUSBDeviceDetach_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnUSBDeviceDetach_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnUSBDeviceDetach_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnShowWindow_TO(smth) HRESULT STDMETHODCALLTYPE OnShowWindow (BOOL aCheck, BOOL * aCanShow, LONG64 * aWinId) { return smth OnShowWindow (aCheck, aCanShow, aWinId); }
#define COM_FORWARD_IInternalSessionControl_OnShowWindow_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnShowWindow_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnShowWindow_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnShowWindow_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnBandwidthGroupChange_TO(smth) HRESULT STDMETHODCALLTYPE OnBandwidthGroupChange (IBandwidthGroup * aBandwidthGroup) { return smth OnBandwidthGroupChange (aBandwidthGroup); }
#define COM_FORWARD_IInternalSessionControl_OnBandwidthGroupChange_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnBandwidthGroupChange_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnBandwidthGroupChange_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnBandwidthGroupChange_TO (base::)
#define COM_FORWARD_IInternalSessionControl_AccessGuestProperty_TO(smth) HRESULT STDMETHODCALLTYPE AccessGuestProperty (BSTR aName, BSTR aValue, BSTR aFlags, ULONG aAccessMode, BSTR * aRetValue, LONG64 * aRetTimestamp, BSTR * aRetFlags) { return smth AccessGuestProperty (aName, aValue, aFlags, aAccessMode, aRetValue, aRetTimestamp, aRetFlags); }
#define COM_FORWARD_IInternalSessionControl_AccessGuestProperty_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_AccessGuestProperty_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_AccessGuestProperty_TO_BASE(base) COM_FORWARD_IInternalSessionControl_AccessGuestProperty_TO (base::)
#define COM_FORWARD_IInternalSessionControl_EnumerateGuestProperties_TO(smth) HRESULT STDMETHODCALLTYPE EnumerateGuestProperties (BSTR aPatterns, SAFEARRAY * * aKeys, SAFEARRAY * * aValues, SAFEARRAY * * aTimestamps, SAFEARRAY * * aFlags) { return smth EnumerateGuestProperties (aPatterns, aKeys, aValues, aTimestamps, aFlags); }
#define COM_FORWARD_IInternalSessionControl_EnumerateGuestProperties_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_EnumerateGuestProperties_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_EnumerateGuestProperties_TO_BASE(base) COM_FORWARD_IInternalSessionControl_EnumerateGuestProperties_TO (base::)
#define COM_FORWARD_IInternalSessionControl_OnlineMergeMedium_TO(smth) HRESULT STDMETHODCALLTYPE OnlineMergeMedium (IMediumAttachment * aMediumAttachment, ULONG aSourceIdx, ULONG aTargetIdx, IProgress * aProgress) { return smth OnlineMergeMedium (aMediumAttachment, aSourceIdx, aTargetIdx, aProgress); }
#define COM_FORWARD_IInternalSessionControl_OnlineMergeMedium_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_OnlineMergeMedium_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_OnlineMergeMedium_TO_BASE(base) COM_FORWARD_IInternalSessionControl_OnlineMergeMedium_TO (base::)
#define COM_FORWARD_IInternalSessionControl_ReconfigureMediumAttachments_TO(smth) HRESULT STDMETHODCALLTYPE ReconfigureMediumAttachments (SAFEARRAY * * aAttachments) { return smth ReconfigureMediumAttachments (aAttachments); }
#define COM_FORWARD_IInternalSessionControl_ReconfigureMediumAttachments_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_ReconfigureMediumAttachments_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_ReconfigureMediumAttachments_TO_BASE(base) COM_FORWARD_IInternalSessionControl_ReconfigureMediumAttachments_TO (base::)
#define COM_FORWARD_IInternalSessionControl_EnableVMMStatistics_TO(smth) HRESULT STDMETHODCALLTYPE EnableVMMStatistics (BOOL aEnable) { return smth EnableVMMStatistics (aEnable); }
#define COM_FORWARD_IInternalSessionControl_EnableVMMStatistics_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_EnableVMMStatistics_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_EnableVMMStatistics_TO_BASE(base) COM_FORWARD_IInternalSessionControl_EnableVMMStatistics_TO (base::)
#define COM_FORWARD_IInternalSessionControl_PauseWithReason_TO(smth) HRESULT STDMETHODCALLTYPE PauseWithReason (Reason aReason) { return smth PauseWithReason (aReason); }
#define COM_FORWARD_IInternalSessionControl_PauseWithReason_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_PauseWithReason_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_PauseWithReason_TO_BASE(base) COM_FORWARD_IInternalSessionControl_PauseWithReason_TO (base::)
#define COM_FORWARD_IInternalSessionControl_ResumeWithReason_TO(smth) HRESULT STDMETHODCALLTYPE ResumeWithReason (Reason aReason) { return smth ResumeWithReason (aReason); }
#define COM_FORWARD_IInternalSessionControl_ResumeWithReason_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_ResumeWithReason_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_ResumeWithReason_TO_BASE(base) COM_FORWARD_IInternalSessionControl_ResumeWithReason_TO (base::)
#define COM_FORWARD_IInternalSessionControl_SaveStateWithReason_TO(smth) HRESULT STDMETHODCALLTYPE SaveStateWithReason (Reason aReason, IProgress * aProgress, ISnapshot * aSnapshot, BSTR aStateFilePath, BOOL aPauseVM, BOOL * aLeftPaused) { return smth SaveStateWithReason (aReason, aProgress, aSnapshot, aStateFilePath, aPauseVM, aLeftPaused); }
#define COM_FORWARD_IInternalSessionControl_SaveStateWithReason_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_SaveStateWithReason_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_SaveStateWithReason_TO_BASE(base) COM_FORWARD_IInternalSessionControl_SaveStateWithReason_TO (base::)
#define COM_FORWARD_IInternalSessionControl_CancelSaveStateWithReason_TO(smth) HRESULT STDMETHODCALLTYPE CancelSaveStateWithReason() { return smth CancelSaveStateWithReason(); }
#define COM_FORWARD_IInternalSessionControl_CancelSaveStateWithReason_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_CancelSaveStateWithReason_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_CancelSaveStateWithReason_TO_BASE(base) COM_FORWARD_IInternalSessionControl_CancelSaveStateWithReason_TO (base::)
#define COM_FORWARD_IInternalSessionControl_AssignMachine_TO(smth) HRESULT STDMETHODCALLTYPE AssignMachine (IMachine * aMachine, LockType aLockType, BSTR aTokenId) { return smth AssignMachine (aMachine, aLockType, aTokenId); }
#define COM_FORWARD_IInternalSessionControl_AssignMachine_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_AssignMachine_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_AssignMachine_TO_BASE(base) COM_FORWARD_IInternalSessionControl_AssignMachine_TO (base::)
#define COM_FORWARD_IInternalSessionControl_TO(smth) COM_FORWARD_IInternalSessionControl_GETTER_PID_TO (smth) COM_FORWARD_IInternalSessionControl_GETTER_RemoteConsole_TO (smth) COM_FORWARD_IInternalSessionControl_GETTER_NominalState_TO (smth) COM_FORWARD_IInternalSessionControl_AssignRemoteMachine_TO (smth) COM_FORWARD_IInternalSessionControl_UpdateMachineState_TO (smth) COM_FORWARD_IInternalSessionControl_Uninitialize_TO (smth) COM_FORWARD_IInternalSessionControl_OnNetworkAdapterChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnAudioAdapterChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnHostAudioDeviceChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnSerialPortChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnParallelPortChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnStorageControllerChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnMediumChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnStorageDeviceChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnVMProcessPriorityChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnClipboardModeChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnClipboardFileTransferModeChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnDnDModeChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnCPUChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnCPUExecutionCapChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnVRDEServerChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnRecordingStateChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnRecordingScreenStateChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnUSBControllerChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnSharedFolderChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnGuestDebugControlChange_TO (smth) COM_FORWARD_IInternalSessionControl_OnUSBDeviceAttach_TO (smth) COM_FORWARD_IInternalSessionControl_OnUSBDeviceDetach_TO (smth) COM_FORWARD_IInternalSessionControl_OnShowWindow_TO (smth) COM_FORWARD_IInternalSessionControl_OnBandwidthGroupChange_TO (smth) COM_FORWARD_IInternalSessionControl_AccessGuestProperty_TO (smth) COM_FORWARD_IInternalSessionControl_EnumerateGuestProperties_TO (smth) COM_FORWARD_IInternalSessionControl_OnlineMergeMedium_TO (smth) COM_FORWARD_IInternalSessionControl_ReconfigureMediumAttachments_TO (smth) COM_FORWARD_IInternalSessionControl_EnableVMMStatistics_TO (smth) COM_FORWARD_IInternalSessionControl_PauseWithReason_TO (smth) COM_FORWARD_IInternalSessionControl_ResumeWithReason_TO (smth) COM_FORWARD_IInternalSessionControl_SaveStateWithReason_TO (smth) COM_FORWARD_IInternalSessionControl_CancelSaveStateWithReason_TO (smth) COM_FORWARD_IInternalSessionControl_AssignMachine_TO (smth) 
#define COM_FORWARD_IInternalSessionControl_TO_OBJ(obj) COM_FORWARD_IInternalSessionControl_TO ((obj)->)
#define COM_FORWARD_IInternalSessionControl_TO_BASE(base) COM_FORWARD_IInternalSessionControl_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0098_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0098_v0_0_s_ifspec;

#ifndef __ISession_INTERFACE_DEFINED__
#define __ISession_INTERFACE_DEFINED__

/* interface ISession */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISession;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c0447716-ff5a-4795-b57a-ecd5fffa18a4")
    ISession : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ SessionState *aState) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ SessionType *aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Machine( 
            /* [retval][out] */ IMachine **aMachine) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Console( 
            /* [retval][out] */ IConsole **aConsole) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ISession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ISession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ISession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ISession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ISession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ISession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ISession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ISession( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnlockMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ISession( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ISession( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3ISession( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4ISession( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISessionVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISession * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISession * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISession * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISession * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISession * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISession * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISession * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ISession, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            ISession * This,
            /* [retval][out] */ SessionState *aState);
        
        DECLSPEC_XFGVIRT(ISession, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ISession * This,
            /* [retval][out] */ SessionType *aType);
        
        DECLSPEC_XFGVIRT(ISession, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ISession * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(ISession, put_Name)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            ISession * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(ISession, get_Machine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Machine )( 
            ISession * This,
            /* [retval][out] */ IMachine **aMachine);
        
        DECLSPEC_XFGVIRT(ISession, get_Console)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Console )( 
            ISession * This,
            /* [retval][out] */ IConsole **aConsole);
        
        DECLSPEC_XFGVIRT(ISession, get_InternalAndReservedAttribute1ISession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ISession )( 
            ISession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISession, get_InternalAndReservedAttribute2ISession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ISession )( 
            ISession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISession, get_InternalAndReservedAttribute3ISession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ISession )( 
            ISession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISession, get_InternalAndReservedAttribute4ISession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ISession )( 
            ISession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISession, get_InternalAndReservedAttribute5ISession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ISession )( 
            ISession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISession, get_InternalAndReservedAttribute6ISession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ISession )( 
            ISession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISession, get_InternalAndReservedAttribute7ISession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ISession )( 
            ISession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISession, get_InternalAndReservedAttribute8ISession)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ISession )( 
            ISession * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ISession, UnlockMachine)
        HRESULT ( STDMETHODCALLTYPE *UnlockMachine )( 
            ISession * This);
        
        DECLSPEC_XFGVIRT(ISession, InternalAndReservedMethod1ISession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ISession )( 
            ISession * This);
        
        DECLSPEC_XFGVIRT(ISession, InternalAndReservedMethod2ISession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ISession )( 
            ISession * This);
        
        DECLSPEC_XFGVIRT(ISession, InternalAndReservedMethod3ISession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3ISession )( 
            ISession * This);
        
        DECLSPEC_XFGVIRT(ISession, InternalAndReservedMethod4ISession)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4ISession )( 
            ISession * This);
        
        END_INTERFACE
    } ISessionVtbl;

    interface ISession
    {
        CONST_VTBL struct ISessionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISession_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISession_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISession_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISession_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#define ISession_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ISession_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define ISession_put_Name(This,aName)	\
    ( (This)->lpVtbl -> put_Name(This,aName) ) 

#define ISession_get_Machine(This,aMachine)	\
    ( (This)->lpVtbl -> get_Machine(This,aMachine) ) 

#define ISession_get_Console(This,aConsole)	\
    ( (This)->lpVtbl -> get_Console(This,aConsole) ) 

#define ISession_get_InternalAndReservedAttribute1ISession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ISession(This,aReserved) ) 

#define ISession_get_InternalAndReservedAttribute2ISession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ISession(This,aReserved) ) 

#define ISession_get_InternalAndReservedAttribute3ISession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ISession(This,aReserved) ) 

#define ISession_get_InternalAndReservedAttribute4ISession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ISession(This,aReserved) ) 

#define ISession_get_InternalAndReservedAttribute5ISession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ISession(This,aReserved) ) 

#define ISession_get_InternalAndReservedAttribute6ISession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ISession(This,aReserved) ) 

#define ISession_get_InternalAndReservedAttribute7ISession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ISession(This,aReserved) ) 

#define ISession_get_InternalAndReservedAttribute8ISession(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ISession(This,aReserved) ) 

#define ISession_UnlockMachine(This)	\
    ( (This)->lpVtbl -> UnlockMachine(This) ) 

#define ISession_InternalAndReservedMethod1ISession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ISession(This) ) 

#define ISession_InternalAndReservedMethod2ISession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ISession(This) ) 

#define ISession_InternalAndReservedMethod3ISession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3ISession(This) ) 

#define ISession_InternalAndReservedMethod4ISession(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4ISession(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISession_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0099 */
/* [local] */ 

#define COM_FORWARD_ISession_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (SessionState * aState) { return smth get_State (aState); }
#define COM_FORWARD_ISession_GETTER_State_TO_OBJ(obj) COM_FORWARD_ISession_GETTER_State_TO ((obj)->)
#define COM_FORWARD_ISession_GETTER_State_TO_BASE(base) COM_FORWARD_ISession_GETTER_State_TO (base::)
#define COM_FORWARD_ISession_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (SessionType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_ISession_GETTER_Type_TO_OBJ(obj) COM_FORWARD_ISession_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_ISession_GETTER_Type_TO_BASE(base) COM_FORWARD_ISession_GETTER_Type_TO (base::)
#define COM_FORWARD_ISession_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_ISession_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ISession_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_ISession_GETTER_Name_TO_BASE(base) COM_FORWARD_ISession_GETTER_Name_TO (base::)
#define COM_FORWARD_ISession_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }
#define COM_FORWARD_ISession_SETTER_Name_TO_OBJ(obj) COM_FORWARD_ISession_SETTER_Name_TO ((obj)->)
#define COM_FORWARD_ISession_SETTER_Name_TO_BASE(base) COM_FORWARD_ISession_SETTER_Name_TO (base::)
#define COM_FORWARD_ISession_GETTER_Machine_TO(smth) HRESULT STDMETHODCALLTYPE get_Machine (IMachine * * aMachine) { return smth get_Machine (aMachine); }
#define COM_FORWARD_ISession_GETTER_Machine_TO_OBJ(obj) COM_FORWARD_ISession_GETTER_Machine_TO ((obj)->)
#define COM_FORWARD_ISession_GETTER_Machine_TO_BASE(base) COM_FORWARD_ISession_GETTER_Machine_TO (base::)
#define COM_FORWARD_ISession_GETTER_Console_TO(smth) HRESULT STDMETHODCALLTYPE get_Console (IConsole * * aConsole) { return smth get_Console (aConsole); }
#define COM_FORWARD_ISession_GETTER_Console_TO_OBJ(obj) COM_FORWARD_ISession_GETTER_Console_TO ((obj)->)
#define COM_FORWARD_ISession_GETTER_Console_TO_BASE(base) COM_FORWARD_ISession_GETTER_Console_TO (base::)
#define COM_FORWARD_ISession_UnlockMachine_TO(smth) HRESULT STDMETHODCALLTYPE UnlockMachine() { return smth UnlockMachine(); }
#define COM_FORWARD_ISession_UnlockMachine_TO_OBJ(obj) COM_FORWARD_ISession_UnlockMachine_TO ((obj)->)
#define COM_FORWARD_ISession_UnlockMachine_TO_BASE(base) COM_FORWARD_ISession_UnlockMachine_TO (base::)
#define COM_FORWARD_ISession_TO(smth) COM_FORWARD_ISession_GETTER_State_TO (smth) COM_FORWARD_ISession_GETTER_Type_TO (smth) COM_FORWARD_ISession_GETTER_Name_TO (smth) COM_FORWARD_ISession_SETTER_Name_TO (smth) COM_FORWARD_ISession_GETTER_Machine_TO (smth) COM_FORWARD_ISession_GETTER_Console_TO (smth) COM_FORWARD_ISession_UnlockMachine_TO (smth) 
#define COM_FORWARD_ISession_TO_OBJ(obj) COM_FORWARD_ISession_TO ((obj)->)
#define COM_FORWARD_ISession_TO_BASE(base) COM_FORWARD_ISession_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0099_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0099_v0_0_s_ifspec;

#ifndef __IStorageController_INTERFACE_DEFINED__
#define __IStorageController_INTERFACE_DEFINED__

/* interface IStorageController */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IStorageController;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ddca7247-bf98-47fb-ab2f-b5177533f493")
    IStorageController : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxDevicesPerPortCount( 
            /* [retval][out] */ ULONG *aMaxDevicesPerPortCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MinPortCount( 
            /* [retval][out] */ ULONG *aMinPortCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxPortCount( 
            /* [retval][out] */ ULONG *aMaxPortCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Instance( 
            /* [retval][out] */ ULONG *aInstance) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Instance( 
            /* [in] */ ULONG aInstance) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortCount( 
            /* [retval][out] */ ULONG *aPortCount) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PortCount( 
            /* [in] */ ULONG aPortCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Bus( 
            /* [retval][out] */ StorageBus *aBus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ControllerType( 
            /* [retval][out] */ StorageControllerType *aControllerType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ControllerType( 
            /* [in] */ StorageControllerType aControllerType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UseHostIOCache( 
            /* [retval][out] */ BOOL *aUseHostIOCache) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UseHostIOCache( 
            /* [in] */ BOOL aUseHostIOCache) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Bootable( 
            /* [retval][out] */ BOOL *aBootable) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IStorageController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IStorageController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IStorageController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IStorageController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IStorageController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IStorageController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IStorageController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IStorageController( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IStorageController( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IStorageController( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IStorageController( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IStorageController( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IStorageControllerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IStorageController * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IStorageController * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IStorageController * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IStorageController * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IStorageController * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IStorageController * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IStorageController * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IStorageController, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IStorageController * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IStorageController, put_Name)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IStorageController * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IStorageController, get_MaxDevicesPerPortCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxDevicesPerPortCount )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aMaxDevicesPerPortCount);
        
        DECLSPEC_XFGVIRT(IStorageController, get_MinPortCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinPortCount )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aMinPortCount);
        
        DECLSPEC_XFGVIRT(IStorageController, get_MaxPortCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxPortCount )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aMaxPortCount);
        
        DECLSPEC_XFGVIRT(IStorageController, get_Instance)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Instance )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aInstance);
        
        DECLSPEC_XFGVIRT(IStorageController, put_Instance)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Instance )( 
            IStorageController * This,
            /* [in] */ ULONG aInstance);
        
        DECLSPEC_XFGVIRT(IStorageController, get_PortCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortCount )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aPortCount);
        
        DECLSPEC_XFGVIRT(IStorageController, put_PortCount)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortCount )( 
            IStorageController * This,
            /* [in] */ ULONG aPortCount);
        
        DECLSPEC_XFGVIRT(IStorageController, get_Bus)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bus )( 
            IStorageController * This,
            /* [retval][out] */ StorageBus *aBus);
        
        DECLSPEC_XFGVIRT(IStorageController, get_ControllerType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ControllerType )( 
            IStorageController * This,
            /* [retval][out] */ StorageControllerType *aControllerType);
        
        DECLSPEC_XFGVIRT(IStorageController, put_ControllerType)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ControllerType )( 
            IStorageController * This,
            /* [in] */ StorageControllerType aControllerType);
        
        DECLSPEC_XFGVIRT(IStorageController, get_UseHostIOCache)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseHostIOCache )( 
            IStorageController * This,
            /* [retval][out] */ BOOL *aUseHostIOCache);
        
        DECLSPEC_XFGVIRT(IStorageController, put_UseHostIOCache)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseHostIOCache )( 
            IStorageController * This,
            /* [in] */ BOOL aUseHostIOCache);
        
        DECLSPEC_XFGVIRT(IStorageController, get_Bootable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bootable )( 
            IStorageController * This,
            /* [retval][out] */ BOOL *aBootable);
        
        DECLSPEC_XFGVIRT(IStorageController, get_InternalAndReservedAttribute1IStorageController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IStorageController )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStorageController, get_InternalAndReservedAttribute2IStorageController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IStorageController )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStorageController, get_InternalAndReservedAttribute3IStorageController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IStorageController )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStorageController, get_InternalAndReservedAttribute4IStorageController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IStorageController )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStorageController, get_InternalAndReservedAttribute5IStorageController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IStorageController )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStorageController, get_InternalAndReservedAttribute6IStorageController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IStorageController )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStorageController, get_InternalAndReservedAttribute7IStorageController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IStorageController )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStorageController, get_InternalAndReservedAttribute8IStorageController)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IStorageController )( 
            IStorageController * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStorageController, InternalAndReservedMethod1IStorageController)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IStorageController )( 
            IStorageController * This);
        
        DECLSPEC_XFGVIRT(IStorageController, InternalAndReservedMethod2IStorageController)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IStorageController )( 
            IStorageController * This);
        
        DECLSPEC_XFGVIRT(IStorageController, InternalAndReservedMethod3IStorageController)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IStorageController )( 
            IStorageController * This);
        
        DECLSPEC_XFGVIRT(IStorageController, InternalAndReservedMethod4IStorageController)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IStorageController )( 
            IStorageController * This);
        
        END_INTERFACE
    } IStorageControllerVtbl;

    interface IStorageController
    {
        CONST_VTBL struct IStorageControllerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IStorageController_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IStorageController_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IStorageController_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IStorageController_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IStorageController_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IStorageController_put_Name(This,aName)	\
    ( (This)->lpVtbl -> put_Name(This,aName) ) 

#define IStorageController_get_MaxDevicesPerPortCount(This,aMaxDevicesPerPortCount)	\
    ( (This)->lpVtbl -> get_MaxDevicesPerPortCount(This,aMaxDevicesPerPortCount) ) 

#define IStorageController_get_MinPortCount(This,aMinPortCount)	\
    ( (This)->lpVtbl -> get_MinPortCount(This,aMinPortCount) ) 

#define IStorageController_get_MaxPortCount(This,aMaxPortCount)	\
    ( (This)->lpVtbl -> get_MaxPortCount(This,aMaxPortCount) ) 

#define IStorageController_get_Instance(This,aInstance)	\
    ( (This)->lpVtbl -> get_Instance(This,aInstance) ) 

#define IStorageController_put_Instance(This,aInstance)	\
    ( (This)->lpVtbl -> put_Instance(This,aInstance) ) 

#define IStorageController_get_PortCount(This,aPortCount)	\
    ( (This)->lpVtbl -> get_PortCount(This,aPortCount) ) 

#define IStorageController_put_PortCount(This,aPortCount)	\
    ( (This)->lpVtbl -> put_PortCount(This,aPortCount) ) 

#define IStorageController_get_Bus(This,aBus)	\
    ( (This)->lpVtbl -> get_Bus(This,aBus) ) 

#define IStorageController_get_ControllerType(This,aControllerType)	\
    ( (This)->lpVtbl -> get_ControllerType(This,aControllerType) ) 

#define IStorageController_put_ControllerType(This,aControllerType)	\
    ( (This)->lpVtbl -> put_ControllerType(This,aControllerType) ) 

#define IStorageController_get_UseHostIOCache(This,aUseHostIOCache)	\
    ( (This)->lpVtbl -> get_UseHostIOCache(This,aUseHostIOCache) ) 

#define IStorageController_put_UseHostIOCache(This,aUseHostIOCache)	\
    ( (This)->lpVtbl -> put_UseHostIOCache(This,aUseHostIOCache) ) 

#define IStorageController_get_Bootable(This,aBootable)	\
    ( (This)->lpVtbl -> get_Bootable(This,aBootable) ) 

#define IStorageController_get_InternalAndReservedAttribute1IStorageController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IStorageController(This,aReserved) ) 

#define IStorageController_get_InternalAndReservedAttribute2IStorageController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IStorageController(This,aReserved) ) 

#define IStorageController_get_InternalAndReservedAttribute3IStorageController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IStorageController(This,aReserved) ) 

#define IStorageController_get_InternalAndReservedAttribute4IStorageController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IStorageController(This,aReserved) ) 

#define IStorageController_get_InternalAndReservedAttribute5IStorageController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IStorageController(This,aReserved) ) 

#define IStorageController_get_InternalAndReservedAttribute6IStorageController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IStorageController(This,aReserved) ) 

#define IStorageController_get_InternalAndReservedAttribute7IStorageController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IStorageController(This,aReserved) ) 

#define IStorageController_get_InternalAndReservedAttribute8IStorageController(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IStorageController(This,aReserved) ) 

#define IStorageController_InternalAndReservedMethod1IStorageController(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IStorageController(This) ) 

#define IStorageController_InternalAndReservedMethod2IStorageController(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IStorageController(This) ) 

#define IStorageController_InternalAndReservedMethod3IStorageController(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IStorageController(This) ) 

#define IStorageController_InternalAndReservedMethod4IStorageController(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IStorageController(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IStorageController_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0100 */
/* [local] */ 

#define COM_FORWARD_IStorageController_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IStorageController_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IStorageController_GETTER_Name_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_Name_TO (base::)
#define COM_FORWARD_IStorageController_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }
#define COM_FORWARD_IStorageController_SETTER_Name_TO_OBJ(obj) COM_FORWARD_IStorageController_SETTER_Name_TO ((obj)->)
#define COM_FORWARD_IStorageController_SETTER_Name_TO_BASE(base) COM_FORWARD_IStorageController_SETTER_Name_TO (base::)
#define COM_FORWARD_IStorageController_GETTER_MaxDevicesPerPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxDevicesPerPortCount (ULONG * aMaxDevicesPerPortCount) { return smth get_MaxDevicesPerPortCount (aMaxDevicesPerPortCount); }
#define COM_FORWARD_IStorageController_GETTER_MaxDevicesPerPortCount_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_MaxDevicesPerPortCount_TO ((obj)->)
#define COM_FORWARD_IStorageController_GETTER_MaxDevicesPerPortCount_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_MaxDevicesPerPortCount_TO (base::)
#define COM_FORWARD_IStorageController_GETTER_MinPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MinPortCount (ULONG * aMinPortCount) { return smth get_MinPortCount (aMinPortCount); }
#define COM_FORWARD_IStorageController_GETTER_MinPortCount_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_MinPortCount_TO ((obj)->)
#define COM_FORWARD_IStorageController_GETTER_MinPortCount_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_MinPortCount_TO (base::)
#define COM_FORWARD_IStorageController_GETTER_MaxPortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxPortCount (ULONG * aMaxPortCount) { return smth get_MaxPortCount (aMaxPortCount); }
#define COM_FORWARD_IStorageController_GETTER_MaxPortCount_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_MaxPortCount_TO ((obj)->)
#define COM_FORWARD_IStorageController_GETTER_MaxPortCount_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_MaxPortCount_TO (base::)
#define COM_FORWARD_IStorageController_GETTER_Instance_TO(smth) HRESULT STDMETHODCALLTYPE get_Instance (ULONG * aInstance) { return smth get_Instance (aInstance); }
#define COM_FORWARD_IStorageController_GETTER_Instance_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_Instance_TO ((obj)->)
#define COM_FORWARD_IStorageController_GETTER_Instance_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_Instance_TO (base::)
#define COM_FORWARD_IStorageController_SETTER_Instance_TO(smth) HRESULT STDMETHODCALLTYPE put_Instance (ULONG aInstance) { return smth put_Instance (aInstance); }
#define COM_FORWARD_IStorageController_SETTER_Instance_TO_OBJ(obj) COM_FORWARD_IStorageController_SETTER_Instance_TO ((obj)->)
#define COM_FORWARD_IStorageController_SETTER_Instance_TO_BASE(base) COM_FORWARD_IStorageController_SETTER_Instance_TO (base::)
#define COM_FORWARD_IStorageController_GETTER_PortCount_TO(smth) HRESULT STDMETHODCALLTYPE get_PortCount (ULONG * aPortCount) { return smth get_PortCount (aPortCount); }
#define COM_FORWARD_IStorageController_GETTER_PortCount_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_PortCount_TO ((obj)->)
#define COM_FORWARD_IStorageController_GETTER_PortCount_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_PortCount_TO (base::)
#define COM_FORWARD_IStorageController_SETTER_PortCount_TO(smth) HRESULT STDMETHODCALLTYPE put_PortCount (ULONG aPortCount) { return smth put_PortCount (aPortCount); }
#define COM_FORWARD_IStorageController_SETTER_PortCount_TO_OBJ(obj) COM_FORWARD_IStorageController_SETTER_PortCount_TO ((obj)->)
#define COM_FORWARD_IStorageController_SETTER_PortCount_TO_BASE(base) COM_FORWARD_IStorageController_SETTER_PortCount_TO (base::)
#define COM_FORWARD_IStorageController_GETTER_Bus_TO(smth) HRESULT STDMETHODCALLTYPE get_Bus (StorageBus * aBus) { return smth get_Bus (aBus); }
#define COM_FORWARD_IStorageController_GETTER_Bus_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_Bus_TO ((obj)->)
#define COM_FORWARD_IStorageController_GETTER_Bus_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_Bus_TO (base::)
#define COM_FORWARD_IStorageController_GETTER_ControllerType_TO(smth) HRESULT STDMETHODCALLTYPE get_ControllerType (StorageControllerType * aControllerType) { return smth get_ControllerType (aControllerType); }
#define COM_FORWARD_IStorageController_GETTER_ControllerType_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_ControllerType_TO ((obj)->)
#define COM_FORWARD_IStorageController_GETTER_ControllerType_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_ControllerType_TO (base::)
#define COM_FORWARD_IStorageController_SETTER_ControllerType_TO(smth) HRESULT STDMETHODCALLTYPE put_ControllerType (StorageControllerType aControllerType) { return smth put_ControllerType (aControllerType); }
#define COM_FORWARD_IStorageController_SETTER_ControllerType_TO_OBJ(obj) COM_FORWARD_IStorageController_SETTER_ControllerType_TO ((obj)->)
#define COM_FORWARD_IStorageController_SETTER_ControllerType_TO_BASE(base) COM_FORWARD_IStorageController_SETTER_ControllerType_TO (base::)
#define COM_FORWARD_IStorageController_GETTER_UseHostIOCache_TO(smth) HRESULT STDMETHODCALLTYPE get_UseHostIOCache (BOOL * aUseHostIOCache) { return smth get_UseHostIOCache (aUseHostIOCache); }
#define COM_FORWARD_IStorageController_GETTER_UseHostIOCache_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_UseHostIOCache_TO ((obj)->)
#define COM_FORWARD_IStorageController_GETTER_UseHostIOCache_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_UseHostIOCache_TO (base::)
#define COM_FORWARD_IStorageController_SETTER_UseHostIOCache_TO(smth) HRESULT STDMETHODCALLTYPE put_UseHostIOCache (BOOL aUseHostIOCache) { return smth put_UseHostIOCache (aUseHostIOCache); }
#define COM_FORWARD_IStorageController_SETTER_UseHostIOCache_TO_OBJ(obj) COM_FORWARD_IStorageController_SETTER_UseHostIOCache_TO ((obj)->)
#define COM_FORWARD_IStorageController_SETTER_UseHostIOCache_TO_BASE(base) COM_FORWARD_IStorageController_SETTER_UseHostIOCache_TO (base::)
#define COM_FORWARD_IStorageController_GETTER_Bootable_TO(smth) HRESULT STDMETHODCALLTYPE get_Bootable (BOOL * aBootable) { return smth get_Bootable (aBootable); }
#define COM_FORWARD_IStorageController_GETTER_Bootable_TO_OBJ(obj) COM_FORWARD_IStorageController_GETTER_Bootable_TO ((obj)->)
#define COM_FORWARD_IStorageController_GETTER_Bootable_TO_BASE(base) COM_FORWARD_IStorageController_GETTER_Bootable_TO (base::)
#define COM_FORWARD_IStorageController_TO(smth) COM_FORWARD_IStorageController_GETTER_Name_TO (smth) COM_FORWARD_IStorageController_SETTER_Name_TO (smth) COM_FORWARD_IStorageController_GETTER_MaxDevicesPerPortCount_TO (smth) COM_FORWARD_IStorageController_GETTER_MinPortCount_TO (smth) COM_FORWARD_IStorageController_GETTER_MaxPortCount_TO (smth) COM_FORWARD_IStorageController_GETTER_Instance_TO (smth) COM_FORWARD_IStorageController_SETTER_Instance_TO (smth) COM_FORWARD_IStorageController_GETTER_PortCount_TO (smth) COM_FORWARD_IStorageController_SETTER_PortCount_TO (smth) COM_FORWARD_IStorageController_GETTER_Bus_TO (smth) COM_FORWARD_IStorageController_GETTER_ControllerType_TO (smth) COM_FORWARD_IStorageController_SETTER_ControllerType_TO (smth) COM_FORWARD_IStorageController_GETTER_UseHostIOCache_TO (smth) COM_FORWARD_IStorageController_SETTER_UseHostIOCache_TO (smth) COM_FORWARD_IStorageController_GETTER_Bootable_TO (smth) 
#define COM_FORWARD_IStorageController_TO_OBJ(obj) COM_FORWARD_IStorageController_TO ((obj)->)
#define COM_FORWARD_IStorageController_TO_BASE(base) COM_FORWARD_IStorageController_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0100_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0100_v0_0_s_ifspec;

#ifndef __IPerformanceMetric_INTERFACE_DEFINED__
#define __IPerformanceMetric_INTERFACE_DEFINED__

/* interface IPerformanceMetric */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IPerformanceMetric;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("81314d14-fd1c-411a-95c5-e9bb1414e632")
    IPerformanceMetric : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MetricName( 
            /* [retval][out] */ BSTR *aMetricName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Object( 
            /* [retval][out] */ IUnknown **aObject) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *aDescription) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Period( 
            /* [retval][out] */ ULONG *aPeriod) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ ULONG *aCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Unit( 
            /* [retval][out] */ BSTR *aUnit) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MinimumValue( 
            /* [retval][out] */ LONG *aMinimumValue) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaximumValue( 
            /* [retval][out] */ LONG *aMaximumValue) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IPerformanceMetric( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IPerformanceMetric( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IPerformanceMetric( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IPerformanceMetric( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IPerformanceMetric( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IPerformanceMetric( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IPerformanceMetric( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IPerformanceMetric( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IPerformanceMetricVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPerformanceMetric * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPerformanceMetric * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPerformanceMetric * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IPerformanceMetric * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IPerformanceMetric * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IPerformanceMetric * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IPerformanceMetric * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_MetricName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetricName )( 
            IPerformanceMetric * This,
            /* [retval][out] */ BSTR *aMetricName);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_Object)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Object )( 
            IPerformanceMetric * This,
            /* [retval][out] */ IUnknown **aObject);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IPerformanceMetric * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_Period)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Period )( 
            IPerformanceMetric * This,
            /* [retval][out] */ ULONG *aPeriod);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IPerformanceMetric * This,
            /* [retval][out] */ ULONG *aCount);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_Unit)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Unit )( 
            IPerformanceMetric * This,
            /* [retval][out] */ BSTR *aUnit);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_MinimumValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinimumValue )( 
            IPerformanceMetric * This,
            /* [retval][out] */ LONG *aMinimumValue);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_MaximumValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaximumValue )( 
            IPerformanceMetric * This,
            /* [retval][out] */ LONG *aMaximumValue);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_InternalAndReservedAttribute1IPerformanceMetric)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IPerformanceMetric )( 
            IPerformanceMetric * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_InternalAndReservedAttribute2IPerformanceMetric)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IPerformanceMetric )( 
            IPerformanceMetric * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_InternalAndReservedAttribute3IPerformanceMetric)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IPerformanceMetric )( 
            IPerformanceMetric * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_InternalAndReservedAttribute4IPerformanceMetric)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IPerformanceMetric )( 
            IPerformanceMetric * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_InternalAndReservedAttribute5IPerformanceMetric)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IPerformanceMetric )( 
            IPerformanceMetric * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_InternalAndReservedAttribute6IPerformanceMetric)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IPerformanceMetric )( 
            IPerformanceMetric * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_InternalAndReservedAttribute7IPerformanceMetric)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IPerformanceMetric )( 
            IPerformanceMetric * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceMetric, get_InternalAndReservedAttribute8IPerformanceMetric)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IPerformanceMetric )( 
            IPerformanceMetric * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IPerformanceMetricVtbl;

    interface IPerformanceMetric
    {
        CONST_VTBL struct IPerformanceMetricVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPerformanceMetric_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IPerformanceMetric_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IPerformanceMetric_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IPerformanceMetric_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IPerformanceMetric_get_MetricName(This,aMetricName)	\
    ( (This)->lpVtbl -> get_MetricName(This,aMetricName) ) 

#define IPerformanceMetric_get_Object(This,aObject)	\
    ( (This)->lpVtbl -> get_Object(This,aObject) ) 

#define IPerformanceMetric_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IPerformanceMetric_get_Period(This,aPeriod)	\
    ( (This)->lpVtbl -> get_Period(This,aPeriod) ) 

#define IPerformanceMetric_get_Count(This,aCount)	\
    ( (This)->lpVtbl -> get_Count(This,aCount) ) 

#define IPerformanceMetric_get_Unit(This,aUnit)	\
    ( (This)->lpVtbl -> get_Unit(This,aUnit) ) 

#define IPerformanceMetric_get_MinimumValue(This,aMinimumValue)	\
    ( (This)->lpVtbl -> get_MinimumValue(This,aMinimumValue) ) 

#define IPerformanceMetric_get_MaximumValue(This,aMaximumValue)	\
    ( (This)->lpVtbl -> get_MaximumValue(This,aMaximumValue) ) 

#define IPerformanceMetric_get_InternalAndReservedAttribute1IPerformanceMetric(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IPerformanceMetric(This,aReserved) ) 

#define IPerformanceMetric_get_InternalAndReservedAttribute2IPerformanceMetric(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IPerformanceMetric(This,aReserved) ) 

#define IPerformanceMetric_get_InternalAndReservedAttribute3IPerformanceMetric(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IPerformanceMetric(This,aReserved) ) 

#define IPerformanceMetric_get_InternalAndReservedAttribute4IPerformanceMetric(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IPerformanceMetric(This,aReserved) ) 

#define IPerformanceMetric_get_InternalAndReservedAttribute5IPerformanceMetric(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IPerformanceMetric(This,aReserved) ) 

#define IPerformanceMetric_get_InternalAndReservedAttribute6IPerformanceMetric(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IPerformanceMetric(This,aReserved) ) 

#define IPerformanceMetric_get_InternalAndReservedAttribute7IPerformanceMetric(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IPerformanceMetric(This,aReserved) ) 

#define IPerformanceMetric_get_InternalAndReservedAttribute8IPerformanceMetric(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IPerformanceMetric(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IPerformanceMetric_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0101 */
/* [local] */ 

#define COM_FORWARD_IPerformanceMetric_GETTER_MetricName_TO(smth) HRESULT STDMETHODCALLTYPE get_MetricName (BSTR * aMetricName) { return smth get_MetricName (aMetricName); }
#define COM_FORWARD_IPerformanceMetric_GETTER_MetricName_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_MetricName_TO ((obj)->)
#define COM_FORWARD_IPerformanceMetric_GETTER_MetricName_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_MetricName_TO (base::)
#define COM_FORWARD_IPerformanceMetric_GETTER_Object_TO(smth) HRESULT STDMETHODCALLTYPE get_Object (IUnknown * * aObject) { return smth get_Object (aObject); }
#define COM_FORWARD_IPerformanceMetric_GETTER_Object_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_Object_TO ((obj)->)
#define COM_FORWARD_IPerformanceMetric_GETTER_Object_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_Object_TO (base::)
#define COM_FORWARD_IPerformanceMetric_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }
#define COM_FORWARD_IPerformanceMetric_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_Description_TO ((obj)->)
#define COM_FORWARD_IPerformanceMetric_GETTER_Description_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_Description_TO (base::)
#define COM_FORWARD_IPerformanceMetric_GETTER_Period_TO(smth) HRESULT STDMETHODCALLTYPE get_Period (ULONG * aPeriod) { return smth get_Period (aPeriod); }
#define COM_FORWARD_IPerformanceMetric_GETTER_Period_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_Period_TO ((obj)->)
#define COM_FORWARD_IPerformanceMetric_GETTER_Period_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_Period_TO (base::)
#define COM_FORWARD_IPerformanceMetric_GETTER_Count_TO(smth) HRESULT STDMETHODCALLTYPE get_Count (ULONG * aCount) { return smth get_Count (aCount); }
#define COM_FORWARD_IPerformanceMetric_GETTER_Count_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_Count_TO ((obj)->)
#define COM_FORWARD_IPerformanceMetric_GETTER_Count_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_Count_TO (base::)
#define COM_FORWARD_IPerformanceMetric_GETTER_Unit_TO(smth) HRESULT STDMETHODCALLTYPE get_Unit (BSTR * aUnit) { return smth get_Unit (aUnit); }
#define COM_FORWARD_IPerformanceMetric_GETTER_Unit_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_Unit_TO ((obj)->)
#define COM_FORWARD_IPerformanceMetric_GETTER_Unit_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_Unit_TO (base::)
#define COM_FORWARD_IPerformanceMetric_GETTER_MinimumValue_TO(smth) HRESULT STDMETHODCALLTYPE get_MinimumValue (LONG * aMinimumValue) { return smth get_MinimumValue (aMinimumValue); }
#define COM_FORWARD_IPerformanceMetric_GETTER_MinimumValue_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_MinimumValue_TO ((obj)->)
#define COM_FORWARD_IPerformanceMetric_GETTER_MinimumValue_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_MinimumValue_TO (base::)
#define COM_FORWARD_IPerformanceMetric_GETTER_MaximumValue_TO(smth) HRESULT STDMETHODCALLTYPE get_MaximumValue (LONG * aMaximumValue) { return smth get_MaximumValue (aMaximumValue); }
#define COM_FORWARD_IPerformanceMetric_GETTER_MaximumValue_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_GETTER_MaximumValue_TO ((obj)->)
#define COM_FORWARD_IPerformanceMetric_GETTER_MaximumValue_TO_BASE(base) COM_FORWARD_IPerformanceMetric_GETTER_MaximumValue_TO (base::)
#define COM_FORWARD_IPerformanceMetric_TO(smth) COM_FORWARD_IPerformanceMetric_GETTER_MetricName_TO (smth) COM_FORWARD_IPerformanceMetric_GETTER_Object_TO (smth) COM_FORWARD_IPerformanceMetric_GETTER_Description_TO (smth) COM_FORWARD_IPerformanceMetric_GETTER_Period_TO (smth) COM_FORWARD_IPerformanceMetric_GETTER_Count_TO (smth) COM_FORWARD_IPerformanceMetric_GETTER_Unit_TO (smth) COM_FORWARD_IPerformanceMetric_GETTER_MinimumValue_TO (smth) COM_FORWARD_IPerformanceMetric_GETTER_MaximumValue_TO (smth) 
#define COM_FORWARD_IPerformanceMetric_TO_OBJ(obj) COM_FORWARD_IPerformanceMetric_TO ((obj)->)
#define COM_FORWARD_IPerformanceMetric_TO_BASE(base) COM_FORWARD_IPerformanceMetric_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0101_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0101_v0_0_s_ifspec;

#ifndef __IPerformanceCollector_INTERFACE_DEFINED__
#define __IPerformanceCollector_INTERFACE_DEFINED__

/* interface IPerformanceCollector */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IPerformanceCollector;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b14290ad-cd54-400c-b858-797bcb82570e")
    IPerformanceCollector : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MetricNames( 
            /* [retval][out] */ SAFEARRAY * *aMetricNames) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IPerformanceCollector( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IPerformanceCollector( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IPerformanceCollector( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IPerformanceCollector( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IPerformanceCollector( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IPerformanceCollector( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IPerformanceCollector( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IPerformanceCollector( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMetrics( 
            /* [in] */ SAFEARRAY * aMetricNames,
            /* [in] */ SAFEARRAY * aObjects,
            /* [retval][out] */ SAFEARRAY * *aMetrics) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetupMetrics( 
            /* [in] */ SAFEARRAY * aMetricNames,
            /* [in] */ SAFEARRAY * aObjects,
            /* [in] */ ULONG aPeriod,
            /* [in] */ ULONG aCount,
            /* [retval][out] */ SAFEARRAY * *aAffectedMetrics) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnableMetrics( 
            /* [in] */ SAFEARRAY * aMetricNames,
            /* [in] */ SAFEARRAY * aObjects,
            /* [retval][out] */ SAFEARRAY * *aAffectedMetrics) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DisableMetrics( 
            /* [in] */ SAFEARRAY * aMetricNames,
            /* [in] */ SAFEARRAY * aObjects,
            /* [retval][out] */ SAFEARRAY * *aAffectedMetrics) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryMetricsData( 
            /* [in] */ SAFEARRAY * aMetricNames,
            /* [in] */ SAFEARRAY * aObjects,
            /* [out] */ SAFEARRAY * *aReturnMetricNames,
            /* [out] */ SAFEARRAY * *aReturnObjects,
            /* [out] */ SAFEARRAY * *aReturnUnits,
            /* [out] */ SAFEARRAY * *aReturnScales,
            /* [out] */ SAFEARRAY * *aReturnSequenceNumbers,
            /* [out] */ SAFEARRAY * *aReturnDataIndices,
            /* [out] */ SAFEARRAY * *aReturnDataLengths,
            /* [retval][out] */ SAFEARRAY * *aReturnData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IPerformanceCollector( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IPerformanceCollector( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IPerformanceCollector( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IPerformanceCollector( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IPerformanceCollectorVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPerformanceCollector * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPerformanceCollector * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPerformanceCollector * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IPerformanceCollector * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IPerformanceCollector * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IPerformanceCollector * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IPerformanceCollector * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, get_MetricNames)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MetricNames )( 
            IPerformanceCollector * This,
            /* [retval][out] */ SAFEARRAY * *aMetricNames);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, get_InternalAndReservedAttribute1IPerformanceCollector)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IPerformanceCollector )( 
            IPerformanceCollector * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, get_InternalAndReservedAttribute2IPerformanceCollector)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IPerformanceCollector )( 
            IPerformanceCollector * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, get_InternalAndReservedAttribute3IPerformanceCollector)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IPerformanceCollector )( 
            IPerformanceCollector * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, get_InternalAndReservedAttribute4IPerformanceCollector)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IPerformanceCollector )( 
            IPerformanceCollector * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, get_InternalAndReservedAttribute5IPerformanceCollector)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IPerformanceCollector )( 
            IPerformanceCollector * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, get_InternalAndReservedAttribute6IPerformanceCollector)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IPerformanceCollector )( 
            IPerformanceCollector * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, get_InternalAndReservedAttribute7IPerformanceCollector)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IPerformanceCollector )( 
            IPerformanceCollector * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, get_InternalAndReservedAttribute8IPerformanceCollector)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IPerformanceCollector )( 
            IPerformanceCollector * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, GetMetrics)
        HRESULT ( STDMETHODCALLTYPE *GetMetrics )( 
            IPerformanceCollector * This,
            /* [in] */ SAFEARRAY * aMetricNames,
            /* [in] */ SAFEARRAY * aObjects,
            /* [retval][out] */ SAFEARRAY * *aMetrics);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, SetupMetrics)
        HRESULT ( STDMETHODCALLTYPE *SetupMetrics )( 
            IPerformanceCollector * This,
            /* [in] */ SAFEARRAY * aMetricNames,
            /* [in] */ SAFEARRAY * aObjects,
            /* [in] */ ULONG aPeriod,
            /* [in] */ ULONG aCount,
            /* [retval][out] */ SAFEARRAY * *aAffectedMetrics);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, EnableMetrics)
        HRESULT ( STDMETHODCALLTYPE *EnableMetrics )( 
            IPerformanceCollector * This,
            /* [in] */ SAFEARRAY * aMetricNames,
            /* [in] */ SAFEARRAY * aObjects,
            /* [retval][out] */ SAFEARRAY * *aAffectedMetrics);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, DisableMetrics)
        HRESULT ( STDMETHODCALLTYPE *DisableMetrics )( 
            IPerformanceCollector * This,
            /* [in] */ SAFEARRAY * aMetricNames,
            /* [in] */ SAFEARRAY * aObjects,
            /* [retval][out] */ SAFEARRAY * *aAffectedMetrics);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, QueryMetricsData)
        HRESULT ( STDMETHODCALLTYPE *QueryMetricsData )( 
            IPerformanceCollector * This,
            /* [in] */ SAFEARRAY * aMetricNames,
            /* [in] */ SAFEARRAY * aObjects,
            /* [out] */ SAFEARRAY * *aReturnMetricNames,
            /* [out] */ SAFEARRAY * *aReturnObjects,
            /* [out] */ SAFEARRAY * *aReturnUnits,
            /* [out] */ SAFEARRAY * *aReturnScales,
            /* [out] */ SAFEARRAY * *aReturnSequenceNumbers,
            /* [out] */ SAFEARRAY * *aReturnDataIndices,
            /* [out] */ SAFEARRAY * *aReturnDataLengths,
            /* [retval][out] */ SAFEARRAY * *aReturnData);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, InternalAndReservedMethod1IPerformanceCollector)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IPerformanceCollector )( 
            IPerformanceCollector * This);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, InternalAndReservedMethod2IPerformanceCollector)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IPerformanceCollector )( 
            IPerformanceCollector * This);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, InternalAndReservedMethod3IPerformanceCollector)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IPerformanceCollector )( 
            IPerformanceCollector * This);
        
        DECLSPEC_XFGVIRT(IPerformanceCollector, InternalAndReservedMethod4IPerformanceCollector)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IPerformanceCollector )( 
            IPerformanceCollector * This);
        
        END_INTERFACE
    } IPerformanceCollectorVtbl;

    interface IPerformanceCollector
    {
        CONST_VTBL struct IPerformanceCollectorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPerformanceCollector_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IPerformanceCollector_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IPerformanceCollector_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IPerformanceCollector_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IPerformanceCollector_get_MetricNames(This,aMetricNames)	\
    ( (This)->lpVtbl -> get_MetricNames(This,aMetricNames) ) 

#define IPerformanceCollector_get_InternalAndReservedAttribute1IPerformanceCollector(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IPerformanceCollector(This,aReserved) ) 

#define IPerformanceCollector_get_InternalAndReservedAttribute2IPerformanceCollector(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IPerformanceCollector(This,aReserved) ) 

#define IPerformanceCollector_get_InternalAndReservedAttribute3IPerformanceCollector(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IPerformanceCollector(This,aReserved) ) 

#define IPerformanceCollector_get_InternalAndReservedAttribute4IPerformanceCollector(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IPerformanceCollector(This,aReserved) ) 

#define IPerformanceCollector_get_InternalAndReservedAttribute5IPerformanceCollector(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IPerformanceCollector(This,aReserved) ) 

#define IPerformanceCollector_get_InternalAndReservedAttribute6IPerformanceCollector(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IPerformanceCollector(This,aReserved) ) 

#define IPerformanceCollector_get_InternalAndReservedAttribute7IPerformanceCollector(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IPerformanceCollector(This,aReserved) ) 

#define IPerformanceCollector_get_InternalAndReservedAttribute8IPerformanceCollector(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IPerformanceCollector(This,aReserved) ) 

#define IPerformanceCollector_GetMetrics(This,aMetricNames,aObjects,aMetrics)	\
    ( (This)->lpVtbl -> GetMetrics(This,aMetricNames,aObjects,aMetrics) ) 

#define IPerformanceCollector_SetupMetrics(This,aMetricNames,aObjects,aPeriod,aCount,aAffectedMetrics)	\
    ( (This)->lpVtbl -> SetupMetrics(This,aMetricNames,aObjects,aPeriod,aCount,aAffectedMetrics) ) 

#define IPerformanceCollector_EnableMetrics(This,aMetricNames,aObjects,aAffectedMetrics)	\
    ( (This)->lpVtbl -> EnableMetrics(This,aMetricNames,aObjects,aAffectedMetrics) ) 

#define IPerformanceCollector_DisableMetrics(This,aMetricNames,aObjects,aAffectedMetrics)	\
    ( (This)->lpVtbl -> DisableMetrics(This,aMetricNames,aObjects,aAffectedMetrics) ) 

#define IPerformanceCollector_QueryMetricsData(This,aMetricNames,aObjects,aReturnMetricNames,aReturnObjects,aReturnUnits,aReturnScales,aReturnSequenceNumbers,aReturnDataIndices,aReturnDataLengths,aReturnData)	\
    ( (This)->lpVtbl -> QueryMetricsData(This,aMetricNames,aObjects,aReturnMetricNames,aReturnObjects,aReturnUnits,aReturnScales,aReturnSequenceNumbers,aReturnDataIndices,aReturnDataLengths,aReturnData) ) 

#define IPerformanceCollector_InternalAndReservedMethod1IPerformanceCollector(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IPerformanceCollector(This) ) 

#define IPerformanceCollector_InternalAndReservedMethod2IPerformanceCollector(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IPerformanceCollector(This) ) 

#define IPerformanceCollector_InternalAndReservedMethod3IPerformanceCollector(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IPerformanceCollector(This) ) 

#define IPerformanceCollector_InternalAndReservedMethod4IPerformanceCollector(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IPerformanceCollector(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IPerformanceCollector_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0102 */
/* [local] */ 

#define COM_FORWARD_IPerformanceCollector_GETTER_MetricNames_TO(smth) HRESULT STDMETHODCALLTYPE get_MetricNames (SAFEARRAY * * aMetricNames) { return smth get_MetricNames (aMetricNames); }
#define COM_FORWARD_IPerformanceCollector_GETTER_MetricNames_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_GETTER_MetricNames_TO ((obj)->)
#define COM_FORWARD_IPerformanceCollector_GETTER_MetricNames_TO_BASE(base) COM_FORWARD_IPerformanceCollector_GETTER_MetricNames_TO (base::)
#define COM_FORWARD_IPerformanceCollector_GetMetrics_TO(smth) HRESULT STDMETHODCALLTYPE GetMetrics (SAFEARRAY * * aMetricNames, SAFEARRAY * * aObjects, SAFEARRAY * * aMetrics) { return smth GetMetrics (aMetricNames, aObjects, aMetrics); }
#define COM_FORWARD_IPerformanceCollector_GetMetrics_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_GetMetrics_TO ((obj)->)
#define COM_FORWARD_IPerformanceCollector_GetMetrics_TO_BASE(base) COM_FORWARD_IPerformanceCollector_GetMetrics_TO (base::)
#define COM_FORWARD_IPerformanceCollector_SetupMetrics_TO(smth) HRESULT STDMETHODCALLTYPE SetupMetrics (SAFEARRAY * * aMetricNames, SAFEARRAY * * aObjects, ULONG aPeriod, ULONG aCount, SAFEARRAY * * aAffectedMetrics) { return smth SetupMetrics (aMetricNames, aObjects, aPeriod, aCount, aAffectedMetrics); }
#define COM_FORWARD_IPerformanceCollector_SetupMetrics_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_SetupMetrics_TO ((obj)->)
#define COM_FORWARD_IPerformanceCollector_SetupMetrics_TO_BASE(base) COM_FORWARD_IPerformanceCollector_SetupMetrics_TO (base::)
#define COM_FORWARD_IPerformanceCollector_EnableMetrics_TO(smth) HRESULT STDMETHODCALLTYPE EnableMetrics (SAFEARRAY * * aMetricNames, SAFEARRAY * * aObjects, SAFEARRAY * * aAffectedMetrics) { return smth EnableMetrics (aMetricNames, aObjects, aAffectedMetrics); }
#define COM_FORWARD_IPerformanceCollector_EnableMetrics_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_EnableMetrics_TO ((obj)->)
#define COM_FORWARD_IPerformanceCollector_EnableMetrics_TO_BASE(base) COM_FORWARD_IPerformanceCollector_EnableMetrics_TO (base::)
#define COM_FORWARD_IPerformanceCollector_DisableMetrics_TO(smth) HRESULT STDMETHODCALLTYPE DisableMetrics (SAFEARRAY * * aMetricNames, SAFEARRAY * * aObjects, SAFEARRAY * * aAffectedMetrics) { return smth DisableMetrics (aMetricNames, aObjects, aAffectedMetrics); }
#define COM_FORWARD_IPerformanceCollector_DisableMetrics_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_DisableMetrics_TO ((obj)->)
#define COM_FORWARD_IPerformanceCollector_DisableMetrics_TO_BASE(base) COM_FORWARD_IPerformanceCollector_DisableMetrics_TO (base::)
#define COM_FORWARD_IPerformanceCollector_QueryMetricsData_TO(smth) HRESULT STDMETHODCALLTYPE QueryMetricsData (SAFEARRAY * * aMetricNames, SAFEARRAY * * aObjects, SAFEARRAY * * aReturnMetricNames, SAFEARRAY * * aReturnObjects, SAFEARRAY * * aReturnUnits, SAFEARRAY * * aReturnScales, SAFEARRAY * * aReturnSequenceNumbers, SAFEARRAY * * aReturnDataIndices, SAFEARRAY * * aReturnDataLengths, SAFEARRAY * * aReturnData) { return smth QueryMetricsData (aMetricNames, aObjects, aReturnMetricNames, aReturnObjects, aReturnUnits, aReturnScales, aReturnSequenceNumbers, aReturnDataIndices, aReturnDataLengths, aReturnData); }
#define COM_FORWARD_IPerformanceCollector_QueryMetricsData_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_QueryMetricsData_TO ((obj)->)
#define COM_FORWARD_IPerformanceCollector_QueryMetricsData_TO_BASE(base) COM_FORWARD_IPerformanceCollector_QueryMetricsData_TO (base::)
#define COM_FORWARD_IPerformanceCollector_TO(smth) COM_FORWARD_IPerformanceCollector_GETTER_MetricNames_TO (smth) COM_FORWARD_IPerformanceCollector_GetMetrics_TO (smth) COM_FORWARD_IPerformanceCollector_SetupMetrics_TO (smth) COM_FORWARD_IPerformanceCollector_EnableMetrics_TO (smth) COM_FORWARD_IPerformanceCollector_DisableMetrics_TO (smth) COM_FORWARD_IPerformanceCollector_QueryMetricsData_TO (smth) 
#define COM_FORWARD_IPerformanceCollector_TO_OBJ(obj) COM_FORWARD_IPerformanceCollector_TO ((obj)->)
#define COM_FORWARD_IPerformanceCollector_TO_BASE(base) COM_FORWARD_IPerformanceCollector_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0102_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0102_v0_0_s_ifspec;

#ifndef __INATEngine_INTERFACE_DEFINED__
#define __INATEngine_INTERFACE_DEFINED__

/* interface INATEngine */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INATEngine;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a06253a7-dcd2-44e3-8689-9c9c4b6b6234")
    INATEngine : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Network( 
            /* [retval][out] */ BSTR *aNetwork) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Network( 
            /* [in] */ BSTR aNetwork) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostIP( 
            /* [retval][out] */ BSTR *aHostIP) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HostIP( 
            /* [in] */ BSTR aHostIP) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TFTPPrefix( 
            /* [retval][out] */ BSTR *aTFTPPrefix) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TFTPPrefix( 
            /* [in] */ BSTR aTFTPPrefix) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TFTPBootFile( 
            /* [retval][out] */ BSTR *aTFTPBootFile) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TFTPBootFile( 
            /* [in] */ BSTR aTFTPBootFile) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TFTPNextServer( 
            /* [retval][out] */ BSTR *aTFTPNextServer) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TFTPNextServer( 
            /* [in] */ BSTR aTFTPNextServer) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AliasMode( 
            /* [retval][out] */ ULONG *aAliasMode) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AliasMode( 
            /* [in] */ ULONG aAliasMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DNSPassDomain( 
            /* [retval][out] */ BOOL *aDNSPassDomain) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DNSPassDomain( 
            /* [in] */ BOOL aDNSPassDomain) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DNSProxy( 
            /* [retval][out] */ BOOL *aDNSProxy) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DNSProxy( 
            /* [in] */ BOOL aDNSProxy) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DNSUseHostResolver( 
            /* [retval][out] */ BOOL *aDNSUseHostResolver) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DNSUseHostResolver( 
            /* [in] */ BOOL aDNSUseHostResolver) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Redirects( 
            /* [retval][out] */ SAFEARRAY * *aRedirects) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalhostReachable( 
            /* [retval][out] */ BOOL *aLocalhostReachable) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LocalhostReachable( 
            /* [in] */ BOOL aLocalhostReachable) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ForwardBroadcast( 
            /* [retval][out] */ BOOL *aForwardBroadcast) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ForwardBroadcast( 
            /* [in] */ BOOL aForwardBroadcast) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1INATEngine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2INATEngine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3INATEngine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4INATEngine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5INATEngine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6INATEngine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7INATEngine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetNetworkSettings( 
            /* [in] */ ULONG aMtu,
            /* [in] */ ULONG aSockSnd,
            /* [in] */ ULONG aSockRcv,
            /* [in] */ ULONG aTcpWndSnd,
            /* [in] */ ULONG aTcpWndRcv) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetNetworkSettings( 
            /* [out] */ ULONG *aMtu,
            /* [out] */ ULONG *aSockSnd,
            /* [out] */ ULONG *aSockRcv,
            /* [out] */ ULONG *aTcpWndSnd,
            /* [out] */ ULONG *aTcpWndRcv) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddRedirect( 
            /* [in] */ BSTR aName,
            /* [in] */ NATProtocol aProto,
            /* [in] */ BSTR aHostIP,
            /* [in] */ USHORT aHostPort,
            /* [in] */ BSTR aGuestIP,
            /* [in] */ USHORT aGuestPort) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveRedirect( 
            /* [in] */ BSTR aName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1INATEngine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2INATEngine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3INATEngine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4INATEngine( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INATEngineVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INATEngine * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INATEngine * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INATEngine * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INATEngine * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INATEngine * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INATEngine * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INATEngine * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(INATEngine, get_Network)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Network )( 
            INATEngine * This,
            /* [retval][out] */ BSTR *aNetwork);
        
        DECLSPEC_XFGVIRT(INATEngine, put_Network)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Network )( 
            INATEngine * This,
            /* [in] */ BSTR aNetwork);
        
        DECLSPEC_XFGVIRT(INATEngine, get_HostIP)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostIP )( 
            INATEngine * This,
            /* [retval][out] */ BSTR *aHostIP);
        
        DECLSPEC_XFGVIRT(INATEngine, put_HostIP)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HostIP )( 
            INATEngine * This,
            /* [in] */ BSTR aHostIP);
        
        DECLSPEC_XFGVIRT(INATEngine, get_TFTPPrefix)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TFTPPrefix )( 
            INATEngine * This,
            /* [retval][out] */ BSTR *aTFTPPrefix);
        
        DECLSPEC_XFGVIRT(INATEngine, put_TFTPPrefix)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TFTPPrefix )( 
            INATEngine * This,
            /* [in] */ BSTR aTFTPPrefix);
        
        DECLSPEC_XFGVIRT(INATEngine, get_TFTPBootFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TFTPBootFile )( 
            INATEngine * This,
            /* [retval][out] */ BSTR *aTFTPBootFile);
        
        DECLSPEC_XFGVIRT(INATEngine, put_TFTPBootFile)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TFTPBootFile )( 
            INATEngine * This,
            /* [in] */ BSTR aTFTPBootFile);
        
        DECLSPEC_XFGVIRT(INATEngine, get_TFTPNextServer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TFTPNextServer )( 
            INATEngine * This,
            /* [retval][out] */ BSTR *aTFTPNextServer);
        
        DECLSPEC_XFGVIRT(INATEngine, put_TFTPNextServer)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TFTPNextServer )( 
            INATEngine * This,
            /* [in] */ BSTR aTFTPNextServer);
        
        DECLSPEC_XFGVIRT(INATEngine, get_AliasMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AliasMode )( 
            INATEngine * This,
            /* [retval][out] */ ULONG *aAliasMode);
        
        DECLSPEC_XFGVIRT(INATEngine, put_AliasMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AliasMode )( 
            INATEngine * This,
            /* [in] */ ULONG aAliasMode);
        
        DECLSPEC_XFGVIRT(INATEngine, get_DNSPassDomain)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DNSPassDomain )( 
            INATEngine * This,
            /* [retval][out] */ BOOL *aDNSPassDomain);
        
        DECLSPEC_XFGVIRT(INATEngine, put_DNSPassDomain)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DNSPassDomain )( 
            INATEngine * This,
            /* [in] */ BOOL aDNSPassDomain);
        
        DECLSPEC_XFGVIRT(INATEngine, get_DNSProxy)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DNSProxy )( 
            INATEngine * This,
            /* [retval][out] */ BOOL *aDNSProxy);
        
        DECLSPEC_XFGVIRT(INATEngine, put_DNSProxy)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DNSProxy )( 
            INATEngine * This,
            /* [in] */ BOOL aDNSProxy);
        
        DECLSPEC_XFGVIRT(INATEngine, get_DNSUseHostResolver)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DNSUseHostResolver )( 
            INATEngine * This,
            /* [retval][out] */ BOOL *aDNSUseHostResolver);
        
        DECLSPEC_XFGVIRT(INATEngine, put_DNSUseHostResolver)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DNSUseHostResolver )( 
            INATEngine * This,
            /* [in] */ BOOL aDNSUseHostResolver);
        
        DECLSPEC_XFGVIRT(INATEngine, get_Redirects)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Redirects )( 
            INATEngine * This,
            /* [retval][out] */ SAFEARRAY * *aRedirects);
        
        DECLSPEC_XFGVIRT(INATEngine, get_LocalhostReachable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalhostReachable )( 
            INATEngine * This,
            /* [retval][out] */ BOOL *aLocalhostReachable);
        
        DECLSPEC_XFGVIRT(INATEngine, put_LocalhostReachable)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LocalhostReachable )( 
            INATEngine * This,
            /* [in] */ BOOL aLocalhostReachable);
        
        DECLSPEC_XFGVIRT(INATEngine, get_ForwardBroadcast)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForwardBroadcast )( 
            INATEngine * This,
            /* [retval][out] */ BOOL *aForwardBroadcast);
        
        DECLSPEC_XFGVIRT(INATEngine, put_ForwardBroadcast)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForwardBroadcast )( 
            INATEngine * This,
            /* [in] */ BOOL aForwardBroadcast);
        
        DECLSPEC_XFGVIRT(INATEngine, get_InternalAndReservedAttribute1INATEngine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1INATEngine )( 
            INATEngine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATEngine, get_InternalAndReservedAttribute2INATEngine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2INATEngine )( 
            INATEngine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATEngine, get_InternalAndReservedAttribute3INATEngine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3INATEngine )( 
            INATEngine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATEngine, get_InternalAndReservedAttribute4INATEngine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4INATEngine )( 
            INATEngine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATEngine, get_InternalAndReservedAttribute5INATEngine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5INATEngine )( 
            INATEngine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATEngine, get_InternalAndReservedAttribute6INATEngine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6INATEngine )( 
            INATEngine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATEngine, get_InternalAndReservedAttribute7INATEngine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7INATEngine )( 
            INATEngine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(INATEngine, SetNetworkSettings)
        HRESULT ( STDMETHODCALLTYPE *SetNetworkSettings )( 
            INATEngine * This,
            /* [in] */ ULONG aMtu,
            /* [in] */ ULONG aSockSnd,
            /* [in] */ ULONG aSockRcv,
            /* [in] */ ULONG aTcpWndSnd,
            /* [in] */ ULONG aTcpWndRcv);
        
        DECLSPEC_XFGVIRT(INATEngine, GetNetworkSettings)
        HRESULT ( STDMETHODCALLTYPE *GetNetworkSettings )( 
            INATEngine * This,
            /* [out] */ ULONG *aMtu,
            /* [out] */ ULONG *aSockSnd,
            /* [out] */ ULONG *aSockRcv,
            /* [out] */ ULONG *aTcpWndSnd,
            /* [out] */ ULONG *aTcpWndRcv);
        
        DECLSPEC_XFGVIRT(INATEngine, AddRedirect)
        HRESULT ( STDMETHODCALLTYPE *AddRedirect )( 
            INATEngine * This,
            /* [in] */ BSTR aName,
            /* [in] */ NATProtocol aProto,
            /* [in] */ BSTR aHostIP,
            /* [in] */ USHORT aHostPort,
            /* [in] */ BSTR aGuestIP,
            /* [in] */ USHORT aGuestPort);
        
        DECLSPEC_XFGVIRT(INATEngine, RemoveRedirect)
        HRESULT ( STDMETHODCALLTYPE *RemoveRedirect )( 
            INATEngine * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(INATEngine, InternalAndReservedMethod1INATEngine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1INATEngine )( 
            INATEngine * This);
        
        DECLSPEC_XFGVIRT(INATEngine, InternalAndReservedMethod2INATEngine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2INATEngine )( 
            INATEngine * This);
        
        DECLSPEC_XFGVIRT(INATEngine, InternalAndReservedMethod3INATEngine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3INATEngine )( 
            INATEngine * This);
        
        DECLSPEC_XFGVIRT(INATEngine, InternalAndReservedMethod4INATEngine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4INATEngine )( 
            INATEngine * This);
        
        END_INTERFACE
    } INATEngineVtbl;

    interface INATEngine
    {
        CONST_VTBL struct INATEngineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INATEngine_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INATEngine_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INATEngine_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INATEngine_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INATEngine_get_Network(This,aNetwork)	\
    ( (This)->lpVtbl -> get_Network(This,aNetwork) ) 

#define INATEngine_put_Network(This,aNetwork)	\
    ( (This)->lpVtbl -> put_Network(This,aNetwork) ) 

#define INATEngine_get_HostIP(This,aHostIP)	\
    ( (This)->lpVtbl -> get_HostIP(This,aHostIP) ) 

#define INATEngine_put_HostIP(This,aHostIP)	\
    ( (This)->lpVtbl -> put_HostIP(This,aHostIP) ) 

#define INATEngine_get_TFTPPrefix(This,aTFTPPrefix)	\
    ( (This)->lpVtbl -> get_TFTPPrefix(This,aTFTPPrefix) ) 

#define INATEngine_put_TFTPPrefix(This,aTFTPPrefix)	\
    ( (This)->lpVtbl -> put_TFTPPrefix(This,aTFTPPrefix) ) 

#define INATEngine_get_TFTPBootFile(This,aTFTPBootFile)	\
    ( (This)->lpVtbl -> get_TFTPBootFile(This,aTFTPBootFile) ) 

#define INATEngine_put_TFTPBootFile(This,aTFTPBootFile)	\
    ( (This)->lpVtbl -> put_TFTPBootFile(This,aTFTPBootFile) ) 

#define INATEngine_get_TFTPNextServer(This,aTFTPNextServer)	\
    ( (This)->lpVtbl -> get_TFTPNextServer(This,aTFTPNextServer) ) 

#define INATEngine_put_TFTPNextServer(This,aTFTPNextServer)	\
    ( (This)->lpVtbl -> put_TFTPNextServer(This,aTFTPNextServer) ) 

#define INATEngine_get_AliasMode(This,aAliasMode)	\
    ( (This)->lpVtbl -> get_AliasMode(This,aAliasMode) ) 

#define INATEngine_put_AliasMode(This,aAliasMode)	\
    ( (This)->lpVtbl -> put_AliasMode(This,aAliasMode) ) 

#define INATEngine_get_DNSPassDomain(This,aDNSPassDomain)	\
    ( (This)->lpVtbl -> get_DNSPassDomain(This,aDNSPassDomain) ) 

#define INATEngine_put_DNSPassDomain(This,aDNSPassDomain)	\
    ( (This)->lpVtbl -> put_DNSPassDomain(This,aDNSPassDomain) ) 

#define INATEngine_get_DNSProxy(This,aDNSProxy)	\
    ( (This)->lpVtbl -> get_DNSProxy(This,aDNSProxy) ) 

#define INATEngine_put_DNSProxy(This,aDNSProxy)	\
    ( (This)->lpVtbl -> put_DNSProxy(This,aDNSProxy) ) 

#define INATEngine_get_DNSUseHostResolver(This,aDNSUseHostResolver)	\
    ( (This)->lpVtbl -> get_DNSUseHostResolver(This,aDNSUseHostResolver) ) 

#define INATEngine_put_DNSUseHostResolver(This,aDNSUseHostResolver)	\
    ( (This)->lpVtbl -> put_DNSUseHostResolver(This,aDNSUseHostResolver) ) 

#define INATEngine_get_Redirects(This,aRedirects)	\
    ( (This)->lpVtbl -> get_Redirects(This,aRedirects) ) 

#define INATEngine_get_LocalhostReachable(This,aLocalhostReachable)	\
    ( (This)->lpVtbl -> get_LocalhostReachable(This,aLocalhostReachable) ) 

#define INATEngine_put_LocalhostReachable(This,aLocalhostReachable)	\
    ( (This)->lpVtbl -> put_LocalhostReachable(This,aLocalhostReachable) ) 

#define INATEngine_get_ForwardBroadcast(This,aForwardBroadcast)	\
    ( (This)->lpVtbl -> get_ForwardBroadcast(This,aForwardBroadcast) ) 

#define INATEngine_put_ForwardBroadcast(This,aForwardBroadcast)	\
    ( (This)->lpVtbl -> put_ForwardBroadcast(This,aForwardBroadcast) ) 

#define INATEngine_get_InternalAndReservedAttribute1INATEngine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1INATEngine(This,aReserved) ) 

#define INATEngine_get_InternalAndReservedAttribute2INATEngine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2INATEngine(This,aReserved) ) 

#define INATEngine_get_InternalAndReservedAttribute3INATEngine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3INATEngine(This,aReserved) ) 

#define INATEngine_get_InternalAndReservedAttribute4INATEngine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4INATEngine(This,aReserved) ) 

#define INATEngine_get_InternalAndReservedAttribute5INATEngine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5INATEngine(This,aReserved) ) 

#define INATEngine_get_InternalAndReservedAttribute6INATEngine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6INATEngine(This,aReserved) ) 

#define INATEngine_get_InternalAndReservedAttribute7INATEngine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7INATEngine(This,aReserved) ) 

#define INATEngine_SetNetworkSettings(This,aMtu,aSockSnd,aSockRcv,aTcpWndSnd,aTcpWndRcv)	\
    ( (This)->lpVtbl -> SetNetworkSettings(This,aMtu,aSockSnd,aSockRcv,aTcpWndSnd,aTcpWndRcv) ) 

#define INATEngine_GetNetworkSettings(This,aMtu,aSockSnd,aSockRcv,aTcpWndSnd,aTcpWndRcv)	\
    ( (This)->lpVtbl -> GetNetworkSettings(This,aMtu,aSockSnd,aSockRcv,aTcpWndSnd,aTcpWndRcv) ) 

#define INATEngine_AddRedirect(This,aName,aProto,aHostIP,aHostPort,aGuestIP,aGuestPort)	\
    ( (This)->lpVtbl -> AddRedirect(This,aName,aProto,aHostIP,aHostPort,aGuestIP,aGuestPort) ) 

#define INATEngine_RemoveRedirect(This,aName)	\
    ( (This)->lpVtbl -> RemoveRedirect(This,aName) ) 

#define INATEngine_InternalAndReservedMethod1INATEngine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1INATEngine(This) ) 

#define INATEngine_InternalAndReservedMethod2INATEngine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2INATEngine(This) ) 

#define INATEngine_InternalAndReservedMethod3INATEngine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3INATEngine(This) ) 

#define INATEngine_InternalAndReservedMethod4INATEngine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4INATEngine(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INATEngine_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0103 */
/* [local] */ 

#define COM_FORWARD_INATEngine_GETTER_Network_TO(smth) HRESULT STDMETHODCALLTYPE get_Network (BSTR * aNetwork) { return smth get_Network (aNetwork); }
#define COM_FORWARD_INATEngine_GETTER_Network_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_Network_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_Network_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_Network_TO (base::)
#define COM_FORWARD_INATEngine_SETTER_Network_TO(smth) HRESULT STDMETHODCALLTYPE put_Network (BSTR aNetwork) { return smth put_Network (aNetwork); }
#define COM_FORWARD_INATEngine_SETTER_Network_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_Network_TO ((obj)->)
#define COM_FORWARD_INATEngine_SETTER_Network_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_Network_TO (base::)
#define COM_FORWARD_INATEngine_GETTER_HostIP_TO(smth) HRESULT STDMETHODCALLTYPE get_HostIP (BSTR * aHostIP) { return smth get_HostIP (aHostIP); }
#define COM_FORWARD_INATEngine_GETTER_HostIP_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_HostIP_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_HostIP_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_HostIP_TO (base::)
#define COM_FORWARD_INATEngine_SETTER_HostIP_TO(smth) HRESULT STDMETHODCALLTYPE put_HostIP (BSTR aHostIP) { return smth put_HostIP (aHostIP); }
#define COM_FORWARD_INATEngine_SETTER_HostIP_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_HostIP_TO ((obj)->)
#define COM_FORWARD_INATEngine_SETTER_HostIP_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_HostIP_TO (base::)
#define COM_FORWARD_INATEngine_GETTER_TFTPPrefix_TO(smth) HRESULT STDMETHODCALLTYPE get_TFTPPrefix (BSTR * aTFTPPrefix) { return smth get_TFTPPrefix (aTFTPPrefix); }
#define COM_FORWARD_INATEngine_GETTER_TFTPPrefix_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_TFTPPrefix_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_TFTPPrefix_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_TFTPPrefix_TO (base::)
#define COM_FORWARD_INATEngine_SETTER_TFTPPrefix_TO(smth) HRESULT STDMETHODCALLTYPE put_TFTPPrefix (BSTR aTFTPPrefix) { return smth put_TFTPPrefix (aTFTPPrefix); }
#define COM_FORWARD_INATEngine_SETTER_TFTPPrefix_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_TFTPPrefix_TO ((obj)->)
#define COM_FORWARD_INATEngine_SETTER_TFTPPrefix_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_TFTPPrefix_TO (base::)
#define COM_FORWARD_INATEngine_GETTER_TFTPBootFile_TO(smth) HRESULT STDMETHODCALLTYPE get_TFTPBootFile (BSTR * aTFTPBootFile) { return smth get_TFTPBootFile (aTFTPBootFile); }
#define COM_FORWARD_INATEngine_GETTER_TFTPBootFile_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_TFTPBootFile_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_TFTPBootFile_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_TFTPBootFile_TO (base::)
#define COM_FORWARD_INATEngine_SETTER_TFTPBootFile_TO(smth) HRESULT STDMETHODCALLTYPE put_TFTPBootFile (BSTR aTFTPBootFile) { return smth put_TFTPBootFile (aTFTPBootFile); }
#define COM_FORWARD_INATEngine_SETTER_TFTPBootFile_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_TFTPBootFile_TO ((obj)->)
#define COM_FORWARD_INATEngine_SETTER_TFTPBootFile_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_TFTPBootFile_TO (base::)
#define COM_FORWARD_INATEngine_GETTER_TFTPNextServer_TO(smth) HRESULT STDMETHODCALLTYPE get_TFTPNextServer (BSTR * aTFTPNextServer) { return smth get_TFTPNextServer (aTFTPNextServer); }
#define COM_FORWARD_INATEngine_GETTER_TFTPNextServer_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_TFTPNextServer_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_TFTPNextServer_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_TFTPNextServer_TO (base::)
#define COM_FORWARD_INATEngine_SETTER_TFTPNextServer_TO(smth) HRESULT STDMETHODCALLTYPE put_TFTPNextServer (BSTR aTFTPNextServer) { return smth put_TFTPNextServer (aTFTPNextServer); }
#define COM_FORWARD_INATEngine_SETTER_TFTPNextServer_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_TFTPNextServer_TO ((obj)->)
#define COM_FORWARD_INATEngine_SETTER_TFTPNextServer_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_TFTPNextServer_TO (base::)
#define COM_FORWARD_INATEngine_GETTER_AliasMode_TO(smth) HRESULT STDMETHODCALLTYPE get_AliasMode (ULONG * aAliasMode) { return smth get_AliasMode (aAliasMode); }
#define COM_FORWARD_INATEngine_GETTER_AliasMode_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_AliasMode_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_AliasMode_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_AliasMode_TO (base::)
#define COM_FORWARD_INATEngine_SETTER_AliasMode_TO(smth) HRESULT STDMETHODCALLTYPE put_AliasMode (ULONG aAliasMode) { return smth put_AliasMode (aAliasMode); }
#define COM_FORWARD_INATEngine_SETTER_AliasMode_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_AliasMode_TO ((obj)->)
#define COM_FORWARD_INATEngine_SETTER_AliasMode_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_AliasMode_TO (base::)
#define COM_FORWARD_INATEngine_GETTER_DNSPassDomain_TO(smth) HRESULT STDMETHODCALLTYPE get_DNSPassDomain (BOOL * aDNSPassDomain) { return smth get_DNSPassDomain (aDNSPassDomain); }
#define COM_FORWARD_INATEngine_GETTER_DNSPassDomain_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_DNSPassDomain_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_DNSPassDomain_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_DNSPassDomain_TO (base::)
#define COM_FORWARD_INATEngine_SETTER_DNSPassDomain_TO(smth) HRESULT STDMETHODCALLTYPE put_DNSPassDomain (BOOL aDNSPassDomain) { return smth put_DNSPassDomain (aDNSPassDomain); }
#define COM_FORWARD_INATEngine_SETTER_DNSPassDomain_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_DNSPassDomain_TO ((obj)->)
#define COM_FORWARD_INATEngine_SETTER_DNSPassDomain_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_DNSPassDomain_TO (base::)
#define COM_FORWARD_INATEngine_GETTER_DNSProxy_TO(smth) HRESULT STDMETHODCALLTYPE get_DNSProxy (BOOL * aDNSProxy) { return smth get_DNSProxy (aDNSProxy); }
#define COM_FORWARD_INATEngine_GETTER_DNSProxy_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_DNSProxy_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_DNSProxy_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_DNSProxy_TO (base::)
#define COM_FORWARD_INATEngine_SETTER_DNSProxy_TO(smth) HRESULT STDMETHODCALLTYPE put_DNSProxy (BOOL aDNSProxy) { return smth put_DNSProxy (aDNSProxy); }
#define COM_FORWARD_INATEngine_SETTER_DNSProxy_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_DNSProxy_TO ((obj)->)
#define COM_FORWARD_INATEngine_SETTER_DNSProxy_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_DNSProxy_TO (base::)
#define COM_FORWARD_INATEngine_GETTER_DNSUseHostResolver_TO(smth) HRESULT STDMETHODCALLTYPE get_DNSUseHostResolver (BOOL * aDNSUseHostResolver) { return smth get_DNSUseHostResolver (aDNSUseHostResolver); }
#define COM_FORWARD_INATEngine_GETTER_DNSUseHostResolver_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_DNSUseHostResolver_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_DNSUseHostResolver_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_DNSUseHostResolver_TO (base::)
#define COM_FORWARD_INATEngine_SETTER_DNSUseHostResolver_TO(smth) HRESULT STDMETHODCALLTYPE put_DNSUseHostResolver (BOOL aDNSUseHostResolver) { return smth put_DNSUseHostResolver (aDNSUseHostResolver); }
#define COM_FORWARD_INATEngine_SETTER_DNSUseHostResolver_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_DNSUseHostResolver_TO ((obj)->)
#define COM_FORWARD_INATEngine_SETTER_DNSUseHostResolver_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_DNSUseHostResolver_TO (base::)
#define COM_FORWARD_INATEngine_GETTER_Redirects_TO(smth) HRESULT STDMETHODCALLTYPE get_Redirects (SAFEARRAY * * aRedirects) { return smth get_Redirects (aRedirects); }
#define COM_FORWARD_INATEngine_GETTER_Redirects_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_Redirects_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_Redirects_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_Redirects_TO (base::)
#define COM_FORWARD_INATEngine_GETTER_LocalhostReachable_TO(smth) HRESULT STDMETHODCALLTYPE get_LocalhostReachable (BOOL * aLocalhostReachable) { return smth get_LocalhostReachable (aLocalhostReachable); }
#define COM_FORWARD_INATEngine_GETTER_LocalhostReachable_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_LocalhostReachable_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_LocalhostReachable_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_LocalhostReachable_TO (base::)
#define COM_FORWARD_INATEngine_SETTER_LocalhostReachable_TO(smth) HRESULT STDMETHODCALLTYPE put_LocalhostReachable (BOOL aLocalhostReachable) { return smth put_LocalhostReachable (aLocalhostReachable); }
#define COM_FORWARD_INATEngine_SETTER_LocalhostReachable_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_LocalhostReachable_TO ((obj)->)
#define COM_FORWARD_INATEngine_SETTER_LocalhostReachable_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_LocalhostReachable_TO (base::)
#define COM_FORWARD_INATEngine_GETTER_ForwardBroadcast_TO(smth) HRESULT STDMETHODCALLTYPE get_ForwardBroadcast (BOOL * aForwardBroadcast) { return smth get_ForwardBroadcast (aForwardBroadcast); }
#define COM_FORWARD_INATEngine_GETTER_ForwardBroadcast_TO_OBJ(obj) COM_FORWARD_INATEngine_GETTER_ForwardBroadcast_TO ((obj)->)
#define COM_FORWARD_INATEngine_GETTER_ForwardBroadcast_TO_BASE(base) COM_FORWARD_INATEngine_GETTER_ForwardBroadcast_TO (base::)
#define COM_FORWARD_INATEngine_SETTER_ForwardBroadcast_TO(smth) HRESULT STDMETHODCALLTYPE put_ForwardBroadcast (BOOL aForwardBroadcast) { return smth put_ForwardBroadcast (aForwardBroadcast); }
#define COM_FORWARD_INATEngine_SETTER_ForwardBroadcast_TO_OBJ(obj) COM_FORWARD_INATEngine_SETTER_ForwardBroadcast_TO ((obj)->)
#define COM_FORWARD_INATEngine_SETTER_ForwardBroadcast_TO_BASE(base) COM_FORWARD_INATEngine_SETTER_ForwardBroadcast_TO (base::)
#define COM_FORWARD_INATEngine_SetNetworkSettings_TO(smth) HRESULT STDMETHODCALLTYPE SetNetworkSettings (ULONG aMtu, ULONG aSockSnd, ULONG aSockRcv, ULONG aTcpWndSnd, ULONG aTcpWndRcv) { return smth SetNetworkSettings (aMtu, aSockSnd, aSockRcv, aTcpWndSnd, aTcpWndRcv); }
#define COM_FORWARD_INATEngine_SetNetworkSettings_TO_OBJ(obj) COM_FORWARD_INATEngine_SetNetworkSettings_TO ((obj)->)
#define COM_FORWARD_INATEngine_SetNetworkSettings_TO_BASE(base) COM_FORWARD_INATEngine_SetNetworkSettings_TO (base::)
#define COM_FORWARD_INATEngine_GetNetworkSettings_TO(smth) HRESULT STDMETHODCALLTYPE GetNetworkSettings (ULONG * aMtu, ULONG * aSockSnd, ULONG * aSockRcv, ULONG * aTcpWndSnd, ULONG * aTcpWndRcv) { return smth GetNetworkSettings (aMtu, aSockSnd, aSockRcv, aTcpWndSnd, aTcpWndRcv); }
#define COM_FORWARD_INATEngine_GetNetworkSettings_TO_OBJ(obj) COM_FORWARD_INATEngine_GetNetworkSettings_TO ((obj)->)
#define COM_FORWARD_INATEngine_GetNetworkSettings_TO_BASE(base) COM_FORWARD_INATEngine_GetNetworkSettings_TO (base::)
#define COM_FORWARD_INATEngine_AddRedirect_TO(smth) HRESULT STDMETHODCALLTYPE AddRedirect (BSTR aName, NATProtocol aProto, BSTR aHostIP, USHORT aHostPort, BSTR aGuestIP, USHORT aGuestPort) { return smth AddRedirect (aName, aProto, aHostIP, aHostPort, aGuestIP, aGuestPort); }
#define COM_FORWARD_INATEngine_AddRedirect_TO_OBJ(obj) COM_FORWARD_INATEngine_AddRedirect_TO ((obj)->)
#define COM_FORWARD_INATEngine_AddRedirect_TO_BASE(base) COM_FORWARD_INATEngine_AddRedirect_TO (base::)
#define COM_FORWARD_INATEngine_RemoveRedirect_TO(smth) HRESULT STDMETHODCALLTYPE RemoveRedirect (BSTR aName) { return smth RemoveRedirect (aName); }
#define COM_FORWARD_INATEngine_RemoveRedirect_TO_OBJ(obj) COM_FORWARD_INATEngine_RemoveRedirect_TO ((obj)->)
#define COM_FORWARD_INATEngine_RemoveRedirect_TO_BASE(base) COM_FORWARD_INATEngine_RemoveRedirect_TO (base::)
#define COM_FORWARD_INATEngine_TO(smth) COM_FORWARD_INATEngine_GETTER_Network_TO (smth) COM_FORWARD_INATEngine_SETTER_Network_TO (smth) COM_FORWARD_INATEngine_GETTER_HostIP_TO (smth) COM_FORWARD_INATEngine_SETTER_HostIP_TO (smth) COM_FORWARD_INATEngine_GETTER_TFTPPrefix_TO (smth) COM_FORWARD_INATEngine_SETTER_TFTPPrefix_TO (smth) COM_FORWARD_INATEngine_GETTER_TFTPBootFile_TO (smth) COM_FORWARD_INATEngine_SETTER_TFTPBootFile_TO (smth) COM_FORWARD_INATEngine_GETTER_TFTPNextServer_TO (smth) COM_FORWARD_INATEngine_SETTER_TFTPNextServer_TO (smth) COM_FORWARD_INATEngine_GETTER_AliasMode_TO (smth) COM_FORWARD_INATEngine_SETTER_AliasMode_TO (smth) COM_FORWARD_INATEngine_GETTER_DNSPassDomain_TO (smth) COM_FORWARD_INATEngine_SETTER_DNSPassDomain_TO (smth) COM_FORWARD_INATEngine_GETTER_DNSProxy_TO (smth) COM_FORWARD_INATEngine_SETTER_DNSProxy_TO (smth) COM_FORWARD_INATEngine_GETTER_DNSUseHostResolver_TO (smth) COM_FORWARD_INATEngine_SETTER_DNSUseHostResolver_TO (smth) COM_FORWARD_INATEngine_GETTER_Redirects_TO (smth) COM_FORWARD_INATEngine_GETTER_LocalhostReachable_TO (smth) COM_FORWARD_INATEngine_SETTER_LocalhostReachable_TO (smth) COM_FORWARD_INATEngine_GETTER_ForwardBroadcast_TO (smth) COM_FORWARD_INATEngine_SETTER_ForwardBroadcast_TO (smth) COM_FORWARD_INATEngine_SetNetworkSettings_TO (smth) COM_FORWARD_INATEngine_GetNetworkSettings_TO (smth) COM_FORWARD_INATEngine_AddRedirect_TO (smth) COM_FORWARD_INATEngine_RemoveRedirect_TO (smth) 
#define COM_FORWARD_INATEngine_TO_OBJ(obj) COM_FORWARD_INATEngine_TO ((obj)->)
#define COM_FORWARD_INATEngine_TO_BASE(base) COM_FORWARD_INATEngine_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0103_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0103_v0_0_s_ifspec;

#ifndef __IExtPackPlugIn_INTERFACE_DEFINED__
#define __IExtPackPlugIn_INTERFACE_DEFINED__

/* interface IExtPackPlugIn */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IExtPackPlugIn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("78861431-d545-44aa-8013-181b8c288554")
    IExtPackPlugIn : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *aDescription) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Frontend( 
            /* [retval][out] */ BSTR *aFrontend) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ModulePath( 
            /* [retval][out] */ BSTR *aModulePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IExtPackPlugIn( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IExtPackPlugIn( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IExtPackPlugIn( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IExtPackPlugIn( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IExtPackPlugInVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IExtPackPlugIn * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IExtPackPlugIn * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IExtPackPlugIn * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IExtPackPlugIn * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IExtPackPlugIn * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IExtPackPlugIn * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IExtPackPlugIn * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IExtPackPlugIn, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IExtPackPlugIn * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IExtPackPlugIn, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IExtPackPlugIn * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IExtPackPlugIn, get_Frontend)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Frontend )( 
            IExtPackPlugIn * This,
            /* [retval][out] */ BSTR *aFrontend);
        
        DECLSPEC_XFGVIRT(IExtPackPlugIn, get_ModulePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModulePath )( 
            IExtPackPlugIn * This,
            /* [retval][out] */ BSTR *aModulePath);
        
        DECLSPEC_XFGVIRT(IExtPackPlugIn, get_InternalAndReservedAttribute1IExtPackPlugIn)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IExtPackPlugIn )( 
            IExtPackPlugIn * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackPlugIn, get_InternalAndReservedAttribute2IExtPackPlugIn)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IExtPackPlugIn )( 
            IExtPackPlugIn * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackPlugIn, get_InternalAndReservedAttribute3IExtPackPlugIn)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IExtPackPlugIn )( 
            IExtPackPlugIn * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackPlugIn, get_InternalAndReservedAttribute4IExtPackPlugIn)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IExtPackPlugIn )( 
            IExtPackPlugIn * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IExtPackPlugInVtbl;

    interface IExtPackPlugIn
    {
        CONST_VTBL struct IExtPackPlugInVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IExtPackPlugIn_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IExtPackPlugIn_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IExtPackPlugIn_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IExtPackPlugIn_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IExtPackPlugIn_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IExtPackPlugIn_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IExtPackPlugIn_get_Frontend(This,aFrontend)	\
    ( (This)->lpVtbl -> get_Frontend(This,aFrontend) ) 

#define IExtPackPlugIn_get_ModulePath(This,aModulePath)	\
    ( (This)->lpVtbl -> get_ModulePath(This,aModulePath) ) 

#define IExtPackPlugIn_get_InternalAndReservedAttribute1IExtPackPlugIn(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IExtPackPlugIn(This,aReserved) ) 

#define IExtPackPlugIn_get_InternalAndReservedAttribute2IExtPackPlugIn(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IExtPackPlugIn(This,aReserved) ) 

#define IExtPackPlugIn_get_InternalAndReservedAttribute3IExtPackPlugIn(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IExtPackPlugIn(This,aReserved) ) 

#define IExtPackPlugIn_get_InternalAndReservedAttribute4IExtPackPlugIn(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IExtPackPlugIn(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IExtPackPlugIn_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0104 */
/* [local] */ 

#define COM_FORWARD_IExtPackPlugIn_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IExtPackPlugIn_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IExtPackPlugIn_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IExtPackPlugIn_GETTER_Name_TO_BASE(base) COM_FORWARD_IExtPackPlugIn_GETTER_Name_TO (base::)
#define COM_FORWARD_IExtPackPlugIn_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }
#define COM_FORWARD_IExtPackPlugIn_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IExtPackPlugIn_GETTER_Description_TO ((obj)->)
#define COM_FORWARD_IExtPackPlugIn_GETTER_Description_TO_BASE(base) COM_FORWARD_IExtPackPlugIn_GETTER_Description_TO (base::)
#define COM_FORWARD_IExtPackPlugIn_GETTER_Frontend_TO(smth) HRESULT STDMETHODCALLTYPE get_Frontend (BSTR * aFrontend) { return smth get_Frontend (aFrontend); }
#define COM_FORWARD_IExtPackPlugIn_GETTER_Frontend_TO_OBJ(obj) COM_FORWARD_IExtPackPlugIn_GETTER_Frontend_TO ((obj)->)
#define COM_FORWARD_IExtPackPlugIn_GETTER_Frontend_TO_BASE(base) COM_FORWARD_IExtPackPlugIn_GETTER_Frontend_TO (base::)
#define COM_FORWARD_IExtPackPlugIn_GETTER_ModulePath_TO(smth) HRESULT STDMETHODCALLTYPE get_ModulePath (BSTR * aModulePath) { return smth get_ModulePath (aModulePath); }
#define COM_FORWARD_IExtPackPlugIn_GETTER_ModulePath_TO_OBJ(obj) COM_FORWARD_IExtPackPlugIn_GETTER_ModulePath_TO ((obj)->)
#define COM_FORWARD_IExtPackPlugIn_GETTER_ModulePath_TO_BASE(base) COM_FORWARD_IExtPackPlugIn_GETTER_ModulePath_TO (base::)
#define COM_FORWARD_IExtPackPlugIn_TO(smth) COM_FORWARD_IExtPackPlugIn_GETTER_Name_TO (smth) COM_FORWARD_IExtPackPlugIn_GETTER_Description_TO (smth) COM_FORWARD_IExtPackPlugIn_GETTER_Frontend_TO (smth) COM_FORWARD_IExtPackPlugIn_GETTER_ModulePath_TO (smth) 
#define COM_FORWARD_IExtPackPlugIn_TO_OBJ(obj) COM_FORWARD_IExtPackPlugIn_TO ((obj)->)
#define COM_FORWARD_IExtPackPlugIn_TO_BASE(base) COM_FORWARD_IExtPackPlugIn_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0104_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0104_v0_0_s_ifspec;

#ifndef __IExtPackBase_INTERFACE_DEFINED__
#define __IExtPackBase_INTERFACE_DEFINED__

/* interface IExtPackBase */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IExtPackBase;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("aa204a12-5b29-45a5-b5d6-c2bafcdb9b0b")
    IExtPackBase : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *aDescription) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ BSTR *aVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Revision( 
            /* [retval][out] */ ULONG *aRevision) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Edition( 
            /* [retval][out] */ BSTR *aEdition) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VRDEModule( 
            /* [retval][out] */ BSTR *aVRDEModule) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CryptoModule( 
            /* [retval][out] */ BSTR *aCryptoModule) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PlugIns( 
            /* [retval][out] */ SAFEARRAY * *aPlugIns) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Usable( 
            /* [retval][out] */ BOOL *aUsable) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WhyUnusable( 
            /* [retval][out] */ BSTR *aWhyUnusable) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShowLicense( 
            /* [retval][out] */ BOOL *aShowLicense) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_License( 
            /* [retval][out] */ BSTR *aLicense) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IExtPackBase( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IExtPackBase( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IExtPackBase( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IExtPackBase( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IExtPackBase( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IExtPackBase( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IExtPackBase( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IExtPackBase( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryLicense( 
            /* [in] */ BSTR aPreferredLocale,
            /* [in] */ BSTR aPreferredLanguage,
            /* [in] */ BSTR aFormat,
            /* [retval][out] */ BSTR *aLicenseText) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IExtPackBase( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IExtPackBase( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IExtPackBase( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IExtPackBase( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IExtPackBaseVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IExtPackBase * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IExtPackBase * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IExtPackBase * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IExtPackBase * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IExtPackBase * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IExtPackBase * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IExtPackBase * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IExtPackBase * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IExtPackBase * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Version)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IExtPackBase * This,
            /* [retval][out] */ BSTR *aVersion);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Revision)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Revision )( 
            IExtPackBase * This,
            /* [retval][out] */ ULONG *aRevision);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Edition)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Edition )( 
            IExtPackBase * This,
            /* [retval][out] */ BSTR *aEdition);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_VRDEModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VRDEModule )( 
            IExtPackBase * This,
            /* [retval][out] */ BSTR *aVRDEModule);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_CryptoModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CryptoModule )( 
            IExtPackBase * This,
            /* [retval][out] */ BSTR *aCryptoModule);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_PlugIns)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlugIns )( 
            IExtPackBase * This,
            /* [retval][out] */ SAFEARRAY * *aPlugIns);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Usable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Usable )( 
            IExtPackBase * This,
            /* [retval][out] */ BOOL *aUsable);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_WhyUnusable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WhyUnusable )( 
            IExtPackBase * This,
            /* [retval][out] */ BSTR *aWhyUnusable);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_ShowLicense)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowLicense )( 
            IExtPackBase * This,
            /* [retval][out] */ BOOL *aShowLicense);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_License)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_License )( 
            IExtPackBase * This,
            /* [retval][out] */ BSTR *aLicense);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute1IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IExtPackBase )( 
            IExtPackBase * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute2IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IExtPackBase )( 
            IExtPackBase * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute3IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IExtPackBase )( 
            IExtPackBase * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute4IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IExtPackBase )( 
            IExtPackBase * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute5IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IExtPackBase )( 
            IExtPackBase * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute6IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IExtPackBase )( 
            IExtPackBase * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute7IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IExtPackBase )( 
            IExtPackBase * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute8IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IExtPackBase )( 
            IExtPackBase * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, QueryLicense)
        HRESULT ( STDMETHODCALLTYPE *QueryLicense )( 
            IExtPackBase * This,
            /* [in] */ BSTR aPreferredLocale,
            /* [in] */ BSTR aPreferredLanguage,
            /* [in] */ BSTR aFormat,
            /* [retval][out] */ BSTR *aLicenseText);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod1IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IExtPackBase )( 
            IExtPackBase * This);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod2IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IExtPackBase )( 
            IExtPackBase * This);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod3IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IExtPackBase )( 
            IExtPackBase * This);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod4IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IExtPackBase )( 
            IExtPackBase * This);
        
        END_INTERFACE
    } IExtPackBaseVtbl;

    interface IExtPackBase
    {
        CONST_VTBL struct IExtPackBaseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IExtPackBase_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IExtPackBase_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IExtPackBase_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IExtPackBase_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IExtPackBase_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IExtPackBase_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IExtPackBase_get_Version(This,aVersion)	\
    ( (This)->lpVtbl -> get_Version(This,aVersion) ) 

#define IExtPackBase_get_Revision(This,aRevision)	\
    ( (This)->lpVtbl -> get_Revision(This,aRevision) ) 

#define IExtPackBase_get_Edition(This,aEdition)	\
    ( (This)->lpVtbl -> get_Edition(This,aEdition) ) 

#define IExtPackBase_get_VRDEModule(This,aVRDEModule)	\
    ( (This)->lpVtbl -> get_VRDEModule(This,aVRDEModule) ) 

#define IExtPackBase_get_CryptoModule(This,aCryptoModule)	\
    ( (This)->lpVtbl -> get_CryptoModule(This,aCryptoModule) ) 

#define IExtPackBase_get_PlugIns(This,aPlugIns)	\
    ( (This)->lpVtbl -> get_PlugIns(This,aPlugIns) ) 

#define IExtPackBase_get_Usable(This,aUsable)	\
    ( (This)->lpVtbl -> get_Usable(This,aUsable) ) 

#define IExtPackBase_get_WhyUnusable(This,aWhyUnusable)	\
    ( (This)->lpVtbl -> get_WhyUnusable(This,aWhyUnusable) ) 

#define IExtPackBase_get_ShowLicense(This,aShowLicense)	\
    ( (This)->lpVtbl -> get_ShowLicense(This,aShowLicense) ) 

#define IExtPackBase_get_License(This,aLicense)	\
    ( (This)->lpVtbl -> get_License(This,aLicense) ) 

#define IExtPackBase_get_InternalAndReservedAttribute1IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IExtPackBase(This,aReserved) ) 

#define IExtPackBase_get_InternalAndReservedAttribute2IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IExtPackBase(This,aReserved) ) 

#define IExtPackBase_get_InternalAndReservedAttribute3IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IExtPackBase(This,aReserved) ) 

#define IExtPackBase_get_InternalAndReservedAttribute4IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IExtPackBase(This,aReserved) ) 

#define IExtPackBase_get_InternalAndReservedAttribute5IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IExtPackBase(This,aReserved) ) 

#define IExtPackBase_get_InternalAndReservedAttribute6IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IExtPackBase(This,aReserved) ) 

#define IExtPackBase_get_InternalAndReservedAttribute7IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IExtPackBase(This,aReserved) ) 

#define IExtPackBase_get_InternalAndReservedAttribute8IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IExtPackBase(This,aReserved) ) 

#define IExtPackBase_QueryLicense(This,aPreferredLocale,aPreferredLanguage,aFormat,aLicenseText)	\
    ( (This)->lpVtbl -> QueryLicense(This,aPreferredLocale,aPreferredLanguage,aFormat,aLicenseText) ) 

#define IExtPackBase_InternalAndReservedMethod1IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IExtPackBase(This) ) 

#define IExtPackBase_InternalAndReservedMethod2IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IExtPackBase(This) ) 

#define IExtPackBase_InternalAndReservedMethod3IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IExtPackBase(This) ) 

#define IExtPackBase_InternalAndReservedMethod4IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IExtPackBase(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IExtPackBase_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0105 */
/* [local] */ 

#define COM_FORWARD_IExtPackBase_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IExtPackBase_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_Name_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Name_TO (base::)
#define COM_FORWARD_IExtPackBase_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }
#define COM_FORWARD_IExtPackBase_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Description_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_Description_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Description_TO (base::)
#define COM_FORWARD_IExtPackBase_GETTER_Version_TO(smth) HRESULT STDMETHODCALLTYPE get_Version (BSTR * aVersion) { return smth get_Version (aVersion); }
#define COM_FORWARD_IExtPackBase_GETTER_Version_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Version_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_Version_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Version_TO (base::)
#define COM_FORWARD_IExtPackBase_GETTER_Revision_TO(smth) HRESULT STDMETHODCALLTYPE get_Revision (ULONG * aRevision) { return smth get_Revision (aRevision); }
#define COM_FORWARD_IExtPackBase_GETTER_Revision_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Revision_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_Revision_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Revision_TO (base::)
#define COM_FORWARD_IExtPackBase_GETTER_Edition_TO(smth) HRESULT STDMETHODCALLTYPE get_Edition (BSTR * aEdition) { return smth get_Edition (aEdition); }
#define COM_FORWARD_IExtPackBase_GETTER_Edition_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Edition_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_Edition_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Edition_TO (base::)
#define COM_FORWARD_IExtPackBase_GETTER_VRDEModule_TO(smth) HRESULT STDMETHODCALLTYPE get_VRDEModule (BSTR * aVRDEModule) { return smth get_VRDEModule (aVRDEModule); }
#define COM_FORWARD_IExtPackBase_GETTER_VRDEModule_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_VRDEModule_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_VRDEModule_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_VRDEModule_TO (base::)
#define COM_FORWARD_IExtPackBase_GETTER_CryptoModule_TO(smth) HRESULT STDMETHODCALLTYPE get_CryptoModule (BSTR * aCryptoModule) { return smth get_CryptoModule (aCryptoModule); }
#define COM_FORWARD_IExtPackBase_GETTER_CryptoModule_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_CryptoModule_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_CryptoModule_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_CryptoModule_TO (base::)
#define COM_FORWARD_IExtPackBase_GETTER_PlugIns_TO(smth) HRESULT STDMETHODCALLTYPE get_PlugIns (SAFEARRAY * * aPlugIns) { return smth get_PlugIns (aPlugIns); }
#define COM_FORWARD_IExtPackBase_GETTER_PlugIns_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_PlugIns_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_PlugIns_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_PlugIns_TO (base::)
#define COM_FORWARD_IExtPackBase_GETTER_Usable_TO(smth) HRESULT STDMETHODCALLTYPE get_Usable (BOOL * aUsable) { return smth get_Usable (aUsable); }
#define COM_FORWARD_IExtPackBase_GETTER_Usable_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_Usable_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_Usable_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_Usable_TO (base::)
#define COM_FORWARD_IExtPackBase_GETTER_WhyUnusable_TO(smth) HRESULT STDMETHODCALLTYPE get_WhyUnusable (BSTR * aWhyUnusable) { return smth get_WhyUnusable (aWhyUnusable); }
#define COM_FORWARD_IExtPackBase_GETTER_WhyUnusable_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_WhyUnusable_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_WhyUnusable_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_WhyUnusable_TO (base::)
#define COM_FORWARD_IExtPackBase_GETTER_ShowLicense_TO(smth) HRESULT STDMETHODCALLTYPE get_ShowLicense (BOOL * aShowLicense) { return smth get_ShowLicense (aShowLicense); }
#define COM_FORWARD_IExtPackBase_GETTER_ShowLicense_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_ShowLicense_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_ShowLicense_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_ShowLicense_TO (base::)
#define COM_FORWARD_IExtPackBase_GETTER_License_TO(smth) HRESULT STDMETHODCALLTYPE get_License (BSTR * aLicense) { return smth get_License (aLicense); }
#define COM_FORWARD_IExtPackBase_GETTER_License_TO_OBJ(obj) COM_FORWARD_IExtPackBase_GETTER_License_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_GETTER_License_TO_BASE(base) COM_FORWARD_IExtPackBase_GETTER_License_TO (base::)
#define COM_FORWARD_IExtPackBase_QueryLicense_TO(smth) HRESULT STDMETHODCALLTYPE QueryLicense (BSTR aPreferredLocale, BSTR aPreferredLanguage, BSTR aFormat, BSTR * aLicenseText) { return smth QueryLicense (aPreferredLocale, aPreferredLanguage, aFormat, aLicenseText); }
#define COM_FORWARD_IExtPackBase_QueryLicense_TO_OBJ(obj) COM_FORWARD_IExtPackBase_QueryLicense_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_QueryLicense_TO_BASE(base) COM_FORWARD_IExtPackBase_QueryLicense_TO (base::)
#define COM_FORWARD_IExtPackBase_TO(smth) COM_FORWARD_IExtPackBase_GETTER_Name_TO (smth) COM_FORWARD_IExtPackBase_GETTER_Description_TO (smth) COM_FORWARD_IExtPackBase_GETTER_Version_TO (smth) COM_FORWARD_IExtPackBase_GETTER_Revision_TO (smth) COM_FORWARD_IExtPackBase_GETTER_Edition_TO (smth) COM_FORWARD_IExtPackBase_GETTER_VRDEModule_TO (smth) COM_FORWARD_IExtPackBase_GETTER_CryptoModule_TO (smth) COM_FORWARD_IExtPackBase_GETTER_PlugIns_TO (smth) COM_FORWARD_IExtPackBase_GETTER_Usable_TO (smth) COM_FORWARD_IExtPackBase_GETTER_WhyUnusable_TO (smth) COM_FORWARD_IExtPackBase_GETTER_ShowLicense_TO (smth) COM_FORWARD_IExtPackBase_GETTER_License_TO (smth) COM_FORWARD_IExtPackBase_QueryLicense_TO (smth) 
#define COM_FORWARD_IExtPackBase_TO_OBJ(obj) COM_FORWARD_IExtPackBase_TO ((obj)->)
#define COM_FORWARD_IExtPackBase_TO_BASE(base) COM_FORWARD_IExtPackBase_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0105_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0105_v0_0_s_ifspec;

#ifndef __IExtPack_INTERFACE_DEFINED__
#define __IExtPack_INTERFACE_DEFINED__

/* interface IExtPack */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IExtPack;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("431685da-3618-4ebc-b038-833ba829b4b2")
    IExtPack : public IExtPackBase
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE QueryObject( 
            /* [in] */ BSTR aObjUuid,
            /* [retval][out] */ IUnknown **aReturnInterface) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IExtPackVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IExtPack * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IExtPack * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IExtPack * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IExtPack * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IExtPack * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IExtPack * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IExtPack * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IExtPack * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IExtPack * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Version)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IExtPack * This,
            /* [retval][out] */ BSTR *aVersion);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Revision)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Revision )( 
            IExtPack * This,
            /* [retval][out] */ ULONG *aRevision);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Edition)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Edition )( 
            IExtPack * This,
            /* [retval][out] */ BSTR *aEdition);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_VRDEModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VRDEModule )( 
            IExtPack * This,
            /* [retval][out] */ BSTR *aVRDEModule);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_CryptoModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CryptoModule )( 
            IExtPack * This,
            /* [retval][out] */ BSTR *aCryptoModule);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_PlugIns)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlugIns )( 
            IExtPack * This,
            /* [retval][out] */ SAFEARRAY * *aPlugIns);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Usable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Usable )( 
            IExtPack * This,
            /* [retval][out] */ BOOL *aUsable);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_WhyUnusable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WhyUnusable )( 
            IExtPack * This,
            /* [retval][out] */ BSTR *aWhyUnusable);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_ShowLicense)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowLicense )( 
            IExtPack * This,
            /* [retval][out] */ BOOL *aShowLicense);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_License)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_License )( 
            IExtPack * This,
            /* [retval][out] */ BSTR *aLicense);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute1IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IExtPackBase )( 
            IExtPack * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute2IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IExtPackBase )( 
            IExtPack * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute3IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IExtPackBase )( 
            IExtPack * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute4IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IExtPackBase )( 
            IExtPack * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute5IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IExtPackBase )( 
            IExtPack * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute6IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IExtPackBase )( 
            IExtPack * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute7IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IExtPackBase )( 
            IExtPack * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute8IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IExtPackBase )( 
            IExtPack * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, QueryLicense)
        HRESULT ( STDMETHODCALLTYPE *QueryLicense )( 
            IExtPack * This,
            /* [in] */ BSTR aPreferredLocale,
            /* [in] */ BSTR aPreferredLanguage,
            /* [in] */ BSTR aFormat,
            /* [retval][out] */ BSTR *aLicenseText);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod1IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IExtPackBase )( 
            IExtPack * This);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod2IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IExtPackBase )( 
            IExtPack * This);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod3IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IExtPackBase )( 
            IExtPack * This);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod4IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IExtPackBase )( 
            IExtPack * This);
        
        DECLSPEC_XFGVIRT(IExtPack, QueryObject)
        HRESULT ( STDMETHODCALLTYPE *QueryObject )( 
            IExtPack * This,
            /* [in] */ BSTR aObjUuid,
            /* [retval][out] */ IUnknown **aReturnInterface);
        
        END_INTERFACE
    } IExtPackVtbl;

    interface IExtPack
    {
        CONST_VTBL struct IExtPackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IExtPack_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IExtPack_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IExtPack_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IExtPack_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IExtPack_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IExtPack_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IExtPack_get_Version(This,aVersion)	\
    ( (This)->lpVtbl -> get_Version(This,aVersion) ) 

#define IExtPack_get_Revision(This,aRevision)	\
    ( (This)->lpVtbl -> get_Revision(This,aRevision) ) 

#define IExtPack_get_Edition(This,aEdition)	\
    ( (This)->lpVtbl -> get_Edition(This,aEdition) ) 

#define IExtPack_get_VRDEModule(This,aVRDEModule)	\
    ( (This)->lpVtbl -> get_VRDEModule(This,aVRDEModule) ) 

#define IExtPack_get_CryptoModule(This,aCryptoModule)	\
    ( (This)->lpVtbl -> get_CryptoModule(This,aCryptoModule) ) 

#define IExtPack_get_PlugIns(This,aPlugIns)	\
    ( (This)->lpVtbl -> get_PlugIns(This,aPlugIns) ) 

#define IExtPack_get_Usable(This,aUsable)	\
    ( (This)->lpVtbl -> get_Usable(This,aUsable) ) 

#define IExtPack_get_WhyUnusable(This,aWhyUnusable)	\
    ( (This)->lpVtbl -> get_WhyUnusable(This,aWhyUnusable) ) 

#define IExtPack_get_ShowLicense(This,aShowLicense)	\
    ( (This)->lpVtbl -> get_ShowLicense(This,aShowLicense) ) 

#define IExtPack_get_License(This,aLicense)	\
    ( (This)->lpVtbl -> get_License(This,aLicense) ) 

#define IExtPack_get_InternalAndReservedAttribute1IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IExtPackBase(This,aReserved) ) 

#define IExtPack_get_InternalAndReservedAttribute2IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IExtPackBase(This,aReserved) ) 

#define IExtPack_get_InternalAndReservedAttribute3IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IExtPackBase(This,aReserved) ) 

#define IExtPack_get_InternalAndReservedAttribute4IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IExtPackBase(This,aReserved) ) 

#define IExtPack_get_InternalAndReservedAttribute5IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IExtPackBase(This,aReserved) ) 

#define IExtPack_get_InternalAndReservedAttribute6IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IExtPackBase(This,aReserved) ) 

#define IExtPack_get_InternalAndReservedAttribute7IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IExtPackBase(This,aReserved) ) 

#define IExtPack_get_InternalAndReservedAttribute8IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IExtPackBase(This,aReserved) ) 

#define IExtPack_QueryLicense(This,aPreferredLocale,aPreferredLanguage,aFormat,aLicenseText)	\
    ( (This)->lpVtbl -> QueryLicense(This,aPreferredLocale,aPreferredLanguage,aFormat,aLicenseText) ) 

#define IExtPack_InternalAndReservedMethod1IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IExtPackBase(This) ) 

#define IExtPack_InternalAndReservedMethod2IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IExtPackBase(This) ) 

#define IExtPack_InternalAndReservedMethod3IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IExtPackBase(This) ) 

#define IExtPack_InternalAndReservedMethod4IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IExtPackBase(This) ) 


#define IExtPack_QueryObject(This,aObjUuid,aReturnInterface)	\
    ( (This)->lpVtbl -> QueryObject(This,aObjUuid,aReturnInterface) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IExtPack_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0106 */
/* [local] */ 

#define COM_FORWARD_IExtPack_QueryObject_TO(smth) HRESULT STDMETHODCALLTYPE QueryObject (BSTR aObjUuid, IUnknown * * aReturnInterface) { return smth QueryObject (aObjUuid, aReturnInterface); }
#define COM_FORWARD_IExtPack_QueryObject_TO_OBJ(obj) COM_FORWARD_IExtPack_QueryObject_TO ((obj)->)
#define COM_FORWARD_IExtPack_QueryObject_TO_BASE(base) COM_FORWARD_IExtPack_QueryObject_TO (base::)
#define COM_FORWARD_IExtPack_TO(smth) COM_FORWARD_IExtPack_QueryObject_TO (smth) 
#define COM_FORWARD_IExtPack_TO_OBJ(obj) COM_FORWARD_IExtPack_TO ((obj)->)
#define COM_FORWARD_IExtPack_TO_BASE(base) COM_FORWARD_IExtPack_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0106_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0106_v0_0_s_ifspec;

#ifndef __IExtPackFile_INTERFACE_DEFINED__
#define __IExtPackFile_INTERFACE_DEFINED__

/* interface IExtPackFile */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IExtPackFile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("41304f1b-7e72-4f34-b8f6-682785620c57")
    IExtPackFile : public IExtPackBase
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FilePath( 
            /* [retval][out] */ BSTR *aFilePath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IExtPackFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IExtPackFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IExtPackFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IExtPackFile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Install( 
            /* [in] */ BOOL aReplace,
            /* [in] */ BSTR aDisplayInfo,
            /* [retval][out] */ IProgress **aProgess) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IExtPackFile( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IExtPackFile( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IExtPackFileVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IExtPackFile * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IExtPackFile * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IExtPackFile * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IExtPackFile * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IExtPackFile * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IExtPackFile * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IExtPackFile * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IExtPackFile * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IExtPackFile * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Version)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IExtPackFile * This,
            /* [retval][out] */ BSTR *aVersion);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Revision)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Revision )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aRevision);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Edition)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Edition )( 
            IExtPackFile * This,
            /* [retval][out] */ BSTR *aEdition);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_VRDEModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VRDEModule )( 
            IExtPackFile * This,
            /* [retval][out] */ BSTR *aVRDEModule);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_CryptoModule)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CryptoModule )( 
            IExtPackFile * This,
            /* [retval][out] */ BSTR *aCryptoModule);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_PlugIns)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlugIns )( 
            IExtPackFile * This,
            /* [retval][out] */ SAFEARRAY * *aPlugIns);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_Usable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Usable )( 
            IExtPackFile * This,
            /* [retval][out] */ BOOL *aUsable);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_WhyUnusable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WhyUnusable )( 
            IExtPackFile * This,
            /* [retval][out] */ BSTR *aWhyUnusable);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_ShowLicense)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowLicense )( 
            IExtPackFile * This,
            /* [retval][out] */ BOOL *aShowLicense);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_License)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_License )( 
            IExtPackFile * This,
            /* [retval][out] */ BSTR *aLicense);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute1IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IExtPackBase )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute2IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IExtPackBase )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute3IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IExtPackBase )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute4IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IExtPackBase )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute5IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IExtPackBase )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute6IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IExtPackBase )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute7IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IExtPackBase )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, get_InternalAndReservedAttribute8IExtPackBase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IExtPackBase )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackBase, QueryLicense)
        HRESULT ( STDMETHODCALLTYPE *QueryLicense )( 
            IExtPackFile * This,
            /* [in] */ BSTR aPreferredLocale,
            /* [in] */ BSTR aPreferredLanguage,
            /* [in] */ BSTR aFormat,
            /* [retval][out] */ BSTR *aLicenseText);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod1IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IExtPackBase )( 
            IExtPackFile * This);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod2IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IExtPackBase )( 
            IExtPackFile * This);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod3IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IExtPackBase )( 
            IExtPackFile * This);
        
        DECLSPEC_XFGVIRT(IExtPackBase, InternalAndReservedMethod4IExtPackBase)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IExtPackBase )( 
            IExtPackFile * This);
        
        DECLSPEC_XFGVIRT(IExtPackFile, get_FilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FilePath )( 
            IExtPackFile * This,
            /* [retval][out] */ BSTR *aFilePath);
        
        DECLSPEC_XFGVIRT(IExtPackFile, get_InternalAndReservedAttribute1IExtPackFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IExtPackFile )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackFile, get_InternalAndReservedAttribute2IExtPackFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IExtPackFile )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackFile, get_InternalAndReservedAttribute3IExtPackFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IExtPackFile )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackFile, get_InternalAndReservedAttribute4IExtPackFile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IExtPackFile )( 
            IExtPackFile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackFile, Install)
        HRESULT ( STDMETHODCALLTYPE *Install )( 
            IExtPackFile * This,
            /* [in] */ BOOL aReplace,
            /* [in] */ BSTR aDisplayInfo,
            /* [retval][out] */ IProgress **aProgess);
        
        DECLSPEC_XFGVIRT(IExtPackFile, InternalAndReservedMethod1IExtPackFile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IExtPackFile )( 
            IExtPackFile * This);
        
        DECLSPEC_XFGVIRT(IExtPackFile, InternalAndReservedMethod2IExtPackFile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IExtPackFile )( 
            IExtPackFile * This);
        
        END_INTERFACE
    } IExtPackFileVtbl;

    interface IExtPackFile
    {
        CONST_VTBL struct IExtPackFileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IExtPackFile_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IExtPackFile_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IExtPackFile_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IExtPackFile_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IExtPackFile_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IExtPackFile_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IExtPackFile_get_Version(This,aVersion)	\
    ( (This)->lpVtbl -> get_Version(This,aVersion) ) 

#define IExtPackFile_get_Revision(This,aRevision)	\
    ( (This)->lpVtbl -> get_Revision(This,aRevision) ) 

#define IExtPackFile_get_Edition(This,aEdition)	\
    ( (This)->lpVtbl -> get_Edition(This,aEdition) ) 

#define IExtPackFile_get_VRDEModule(This,aVRDEModule)	\
    ( (This)->lpVtbl -> get_VRDEModule(This,aVRDEModule) ) 

#define IExtPackFile_get_CryptoModule(This,aCryptoModule)	\
    ( (This)->lpVtbl -> get_CryptoModule(This,aCryptoModule) ) 

#define IExtPackFile_get_PlugIns(This,aPlugIns)	\
    ( (This)->lpVtbl -> get_PlugIns(This,aPlugIns) ) 

#define IExtPackFile_get_Usable(This,aUsable)	\
    ( (This)->lpVtbl -> get_Usable(This,aUsable) ) 

#define IExtPackFile_get_WhyUnusable(This,aWhyUnusable)	\
    ( (This)->lpVtbl -> get_WhyUnusable(This,aWhyUnusable) ) 

#define IExtPackFile_get_ShowLicense(This,aShowLicense)	\
    ( (This)->lpVtbl -> get_ShowLicense(This,aShowLicense) ) 

#define IExtPackFile_get_License(This,aLicense)	\
    ( (This)->lpVtbl -> get_License(This,aLicense) ) 

#define IExtPackFile_get_InternalAndReservedAttribute1IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IExtPackBase(This,aReserved) ) 

#define IExtPackFile_get_InternalAndReservedAttribute2IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IExtPackBase(This,aReserved) ) 

#define IExtPackFile_get_InternalAndReservedAttribute3IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IExtPackBase(This,aReserved) ) 

#define IExtPackFile_get_InternalAndReservedAttribute4IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IExtPackBase(This,aReserved) ) 

#define IExtPackFile_get_InternalAndReservedAttribute5IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IExtPackBase(This,aReserved) ) 

#define IExtPackFile_get_InternalAndReservedAttribute6IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IExtPackBase(This,aReserved) ) 

#define IExtPackFile_get_InternalAndReservedAttribute7IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IExtPackBase(This,aReserved) ) 

#define IExtPackFile_get_InternalAndReservedAttribute8IExtPackBase(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IExtPackBase(This,aReserved) ) 

#define IExtPackFile_QueryLicense(This,aPreferredLocale,aPreferredLanguage,aFormat,aLicenseText)	\
    ( (This)->lpVtbl -> QueryLicense(This,aPreferredLocale,aPreferredLanguage,aFormat,aLicenseText) ) 

#define IExtPackFile_InternalAndReservedMethod1IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IExtPackBase(This) ) 

#define IExtPackFile_InternalAndReservedMethod2IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IExtPackBase(This) ) 

#define IExtPackFile_InternalAndReservedMethod3IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IExtPackBase(This) ) 

#define IExtPackFile_InternalAndReservedMethod4IExtPackBase(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IExtPackBase(This) ) 


#define IExtPackFile_get_FilePath(This,aFilePath)	\
    ( (This)->lpVtbl -> get_FilePath(This,aFilePath) ) 

#define IExtPackFile_get_InternalAndReservedAttribute1IExtPackFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IExtPackFile(This,aReserved) ) 

#define IExtPackFile_get_InternalAndReservedAttribute2IExtPackFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IExtPackFile(This,aReserved) ) 

#define IExtPackFile_get_InternalAndReservedAttribute3IExtPackFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IExtPackFile(This,aReserved) ) 

#define IExtPackFile_get_InternalAndReservedAttribute4IExtPackFile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IExtPackFile(This,aReserved) ) 

#define IExtPackFile_Install(This,aReplace,aDisplayInfo,aProgess)	\
    ( (This)->lpVtbl -> Install(This,aReplace,aDisplayInfo,aProgess) ) 

#define IExtPackFile_InternalAndReservedMethod1IExtPackFile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IExtPackFile(This) ) 

#define IExtPackFile_InternalAndReservedMethod2IExtPackFile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IExtPackFile(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IExtPackFile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0107 */
/* [local] */ 

#define COM_FORWARD_IExtPackFile_GETTER_FilePath_TO(smth) HRESULT STDMETHODCALLTYPE get_FilePath (BSTR * aFilePath) { return smth get_FilePath (aFilePath); }
#define COM_FORWARD_IExtPackFile_GETTER_FilePath_TO_OBJ(obj) COM_FORWARD_IExtPackFile_GETTER_FilePath_TO ((obj)->)
#define COM_FORWARD_IExtPackFile_GETTER_FilePath_TO_BASE(base) COM_FORWARD_IExtPackFile_GETTER_FilePath_TO (base::)
#define COM_FORWARD_IExtPackFile_Install_TO(smth) HRESULT STDMETHODCALLTYPE Install (BOOL aReplace, BSTR aDisplayInfo, IProgress * * aProgess) { return smth Install (aReplace, aDisplayInfo, aProgess); }
#define COM_FORWARD_IExtPackFile_Install_TO_OBJ(obj) COM_FORWARD_IExtPackFile_Install_TO ((obj)->)
#define COM_FORWARD_IExtPackFile_Install_TO_BASE(base) COM_FORWARD_IExtPackFile_Install_TO (base::)
#define COM_FORWARD_IExtPackFile_TO(smth) COM_FORWARD_IExtPackFile_GETTER_FilePath_TO (smth) COM_FORWARD_IExtPackFile_Install_TO (smth) 
#define COM_FORWARD_IExtPackFile_TO_OBJ(obj) COM_FORWARD_IExtPackFile_TO ((obj)->)
#define COM_FORWARD_IExtPackFile_TO_BASE(base) COM_FORWARD_IExtPackFile_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0107_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0107_v0_0_s_ifspec;

#ifndef __IExtPackManager_INTERFACE_DEFINED__
#define __IExtPackManager_INTERFACE_DEFINED__

/* interface IExtPackManager */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IExtPackManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("70401eef-c8e9-466b-9660-45cb3e9979e4")
    IExtPackManager : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InstalledExtPacks( 
            /* [retval][out] */ SAFEARRAY * *aInstalledExtPacks) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IExtPackManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IExtPackManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IExtPackManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IExtPackManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IExtPackManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IExtPackManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IExtPackManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IExtPackManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IExtPack **aReturnData) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OpenExtPackFile( 
            /* [in] */ BSTR aPath,
            /* [retval][out] */ IExtPackFile **aFile) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Uninstall( 
            /* [in] */ BSTR aName,
            /* [in] */ BOOL aForcedRemoval,
            /* [in] */ BSTR aDisplayInfo,
            /* [retval][out] */ IProgress **aProgess) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Cleanup( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryAllPlugInsForFrontend( 
            /* [in] */ BSTR aFrontendName,
            /* [retval][out] */ SAFEARRAY * *aPlugInModules) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsExtPackUsable( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ BOOL *aUsable) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IExtPackManager( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IExtPackManager( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IExtPackManager( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IExtPackManager( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IExtPackManagerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IExtPackManager * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IExtPackManager * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IExtPackManager * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IExtPackManager * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IExtPackManager * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IExtPackManager * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IExtPackManager * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IExtPackManager, get_InstalledExtPacks)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InstalledExtPacks )( 
            IExtPackManager * This,
            /* [retval][out] */ SAFEARRAY * *aInstalledExtPacks);
        
        DECLSPEC_XFGVIRT(IExtPackManager, get_InternalAndReservedAttribute1IExtPackManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IExtPackManager )( 
            IExtPackManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackManager, get_InternalAndReservedAttribute2IExtPackManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IExtPackManager )( 
            IExtPackManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackManager, get_InternalAndReservedAttribute3IExtPackManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IExtPackManager )( 
            IExtPackManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackManager, get_InternalAndReservedAttribute4IExtPackManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IExtPackManager )( 
            IExtPackManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackManager, get_InternalAndReservedAttribute5IExtPackManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IExtPackManager )( 
            IExtPackManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackManager, get_InternalAndReservedAttribute6IExtPackManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IExtPackManager )( 
            IExtPackManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackManager, get_InternalAndReservedAttribute7IExtPackManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IExtPackManager )( 
            IExtPackManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackManager, get_InternalAndReservedAttribute8IExtPackManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IExtPackManager )( 
            IExtPackManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IExtPackManager, Find)
        HRESULT ( STDMETHODCALLTYPE *Find )( 
            IExtPackManager * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IExtPack **aReturnData);
        
        DECLSPEC_XFGVIRT(IExtPackManager, OpenExtPackFile)
        HRESULT ( STDMETHODCALLTYPE *OpenExtPackFile )( 
            IExtPackManager * This,
            /* [in] */ BSTR aPath,
            /* [retval][out] */ IExtPackFile **aFile);
        
        DECLSPEC_XFGVIRT(IExtPackManager, Uninstall)
        HRESULT ( STDMETHODCALLTYPE *Uninstall )( 
            IExtPackManager * This,
            /* [in] */ BSTR aName,
            /* [in] */ BOOL aForcedRemoval,
            /* [in] */ BSTR aDisplayInfo,
            /* [retval][out] */ IProgress **aProgess);
        
        DECLSPEC_XFGVIRT(IExtPackManager, Cleanup)
        HRESULT ( STDMETHODCALLTYPE *Cleanup )( 
            IExtPackManager * This);
        
        DECLSPEC_XFGVIRT(IExtPackManager, QueryAllPlugInsForFrontend)
        HRESULT ( STDMETHODCALLTYPE *QueryAllPlugInsForFrontend )( 
            IExtPackManager * This,
            /* [in] */ BSTR aFrontendName,
            /* [retval][out] */ SAFEARRAY * *aPlugInModules);
        
        DECLSPEC_XFGVIRT(IExtPackManager, IsExtPackUsable)
        HRESULT ( STDMETHODCALLTYPE *IsExtPackUsable )( 
            IExtPackManager * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ BOOL *aUsable);
        
        DECLSPEC_XFGVIRT(IExtPackManager, InternalAndReservedMethod1IExtPackManager)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IExtPackManager )( 
            IExtPackManager * This);
        
        DECLSPEC_XFGVIRT(IExtPackManager, InternalAndReservedMethod2IExtPackManager)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IExtPackManager )( 
            IExtPackManager * This);
        
        DECLSPEC_XFGVIRT(IExtPackManager, InternalAndReservedMethod3IExtPackManager)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IExtPackManager )( 
            IExtPackManager * This);
        
        DECLSPEC_XFGVIRT(IExtPackManager, InternalAndReservedMethod4IExtPackManager)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IExtPackManager )( 
            IExtPackManager * This);
        
        END_INTERFACE
    } IExtPackManagerVtbl;

    interface IExtPackManager
    {
        CONST_VTBL struct IExtPackManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IExtPackManager_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IExtPackManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IExtPackManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IExtPackManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IExtPackManager_get_InstalledExtPacks(This,aInstalledExtPacks)	\
    ( (This)->lpVtbl -> get_InstalledExtPacks(This,aInstalledExtPacks) ) 

#define IExtPackManager_get_InternalAndReservedAttribute1IExtPackManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IExtPackManager(This,aReserved) ) 

#define IExtPackManager_get_InternalAndReservedAttribute2IExtPackManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IExtPackManager(This,aReserved) ) 

#define IExtPackManager_get_InternalAndReservedAttribute3IExtPackManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IExtPackManager(This,aReserved) ) 

#define IExtPackManager_get_InternalAndReservedAttribute4IExtPackManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IExtPackManager(This,aReserved) ) 

#define IExtPackManager_get_InternalAndReservedAttribute5IExtPackManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IExtPackManager(This,aReserved) ) 

#define IExtPackManager_get_InternalAndReservedAttribute6IExtPackManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IExtPackManager(This,aReserved) ) 

#define IExtPackManager_get_InternalAndReservedAttribute7IExtPackManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IExtPackManager(This,aReserved) ) 

#define IExtPackManager_get_InternalAndReservedAttribute8IExtPackManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IExtPackManager(This,aReserved) ) 

#define IExtPackManager_Find(This,aName,aReturnData)	\
    ( (This)->lpVtbl -> Find(This,aName,aReturnData) ) 

#define IExtPackManager_OpenExtPackFile(This,aPath,aFile)	\
    ( (This)->lpVtbl -> OpenExtPackFile(This,aPath,aFile) ) 

#define IExtPackManager_Uninstall(This,aName,aForcedRemoval,aDisplayInfo,aProgess)	\
    ( (This)->lpVtbl -> Uninstall(This,aName,aForcedRemoval,aDisplayInfo,aProgess) ) 

#define IExtPackManager_Cleanup(This)	\
    ( (This)->lpVtbl -> Cleanup(This) ) 

#define IExtPackManager_QueryAllPlugInsForFrontend(This,aFrontendName,aPlugInModules)	\
    ( (This)->lpVtbl -> QueryAllPlugInsForFrontend(This,aFrontendName,aPlugInModules) ) 

#define IExtPackManager_IsExtPackUsable(This,aName,aUsable)	\
    ( (This)->lpVtbl -> IsExtPackUsable(This,aName,aUsable) ) 

#define IExtPackManager_InternalAndReservedMethod1IExtPackManager(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IExtPackManager(This) ) 

#define IExtPackManager_InternalAndReservedMethod2IExtPackManager(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IExtPackManager(This) ) 

#define IExtPackManager_InternalAndReservedMethod3IExtPackManager(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IExtPackManager(This) ) 

#define IExtPackManager_InternalAndReservedMethod4IExtPackManager(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IExtPackManager(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IExtPackManager_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0108 */
/* [local] */ 

#define COM_FORWARD_IExtPackManager_GETTER_InstalledExtPacks_TO(smth) HRESULT STDMETHODCALLTYPE get_InstalledExtPacks (SAFEARRAY * * aInstalledExtPacks) { return smth get_InstalledExtPacks (aInstalledExtPacks); }
#define COM_FORWARD_IExtPackManager_GETTER_InstalledExtPacks_TO_OBJ(obj) COM_FORWARD_IExtPackManager_GETTER_InstalledExtPacks_TO ((obj)->)
#define COM_FORWARD_IExtPackManager_GETTER_InstalledExtPacks_TO_BASE(base) COM_FORWARD_IExtPackManager_GETTER_InstalledExtPacks_TO (base::)
#define COM_FORWARD_IExtPackManager_Find_TO(smth) HRESULT STDMETHODCALLTYPE Find (BSTR aName, IExtPack * * aReturnData) { return smth Find (aName, aReturnData); }
#define COM_FORWARD_IExtPackManager_Find_TO_OBJ(obj) COM_FORWARD_IExtPackManager_Find_TO ((obj)->)
#define COM_FORWARD_IExtPackManager_Find_TO_BASE(base) COM_FORWARD_IExtPackManager_Find_TO (base::)
#define COM_FORWARD_IExtPackManager_OpenExtPackFile_TO(smth) HRESULT STDMETHODCALLTYPE OpenExtPackFile (BSTR aPath, IExtPackFile * * aFile) { return smth OpenExtPackFile (aPath, aFile); }
#define COM_FORWARD_IExtPackManager_OpenExtPackFile_TO_OBJ(obj) COM_FORWARD_IExtPackManager_OpenExtPackFile_TO ((obj)->)
#define COM_FORWARD_IExtPackManager_OpenExtPackFile_TO_BASE(base) COM_FORWARD_IExtPackManager_OpenExtPackFile_TO (base::)
#define COM_FORWARD_IExtPackManager_Uninstall_TO(smth) HRESULT STDMETHODCALLTYPE Uninstall (BSTR aName, BOOL aForcedRemoval, BSTR aDisplayInfo, IProgress * * aProgess) { return smth Uninstall (aName, aForcedRemoval, aDisplayInfo, aProgess); }
#define COM_FORWARD_IExtPackManager_Uninstall_TO_OBJ(obj) COM_FORWARD_IExtPackManager_Uninstall_TO ((obj)->)
#define COM_FORWARD_IExtPackManager_Uninstall_TO_BASE(base) COM_FORWARD_IExtPackManager_Uninstall_TO (base::)
#define COM_FORWARD_IExtPackManager_Cleanup_TO(smth) HRESULT STDMETHODCALLTYPE Cleanup() { return smth Cleanup(); }
#define COM_FORWARD_IExtPackManager_Cleanup_TO_OBJ(obj) COM_FORWARD_IExtPackManager_Cleanup_TO ((obj)->)
#define COM_FORWARD_IExtPackManager_Cleanup_TO_BASE(base) COM_FORWARD_IExtPackManager_Cleanup_TO (base::)
#define COM_FORWARD_IExtPackManager_QueryAllPlugInsForFrontend_TO(smth) HRESULT STDMETHODCALLTYPE QueryAllPlugInsForFrontend (BSTR aFrontendName, SAFEARRAY * * aPlugInModules) { return smth QueryAllPlugInsForFrontend (aFrontendName, aPlugInModules); }
#define COM_FORWARD_IExtPackManager_QueryAllPlugInsForFrontend_TO_OBJ(obj) COM_FORWARD_IExtPackManager_QueryAllPlugInsForFrontend_TO ((obj)->)
#define COM_FORWARD_IExtPackManager_QueryAllPlugInsForFrontend_TO_BASE(base) COM_FORWARD_IExtPackManager_QueryAllPlugInsForFrontend_TO (base::)
#define COM_FORWARD_IExtPackManager_IsExtPackUsable_TO(smth) HRESULT STDMETHODCALLTYPE IsExtPackUsable (BSTR aName, BOOL * aUsable) { return smth IsExtPackUsable (aName, aUsable); }
#define COM_FORWARD_IExtPackManager_IsExtPackUsable_TO_OBJ(obj) COM_FORWARD_IExtPackManager_IsExtPackUsable_TO ((obj)->)
#define COM_FORWARD_IExtPackManager_IsExtPackUsable_TO_BASE(base) COM_FORWARD_IExtPackManager_IsExtPackUsable_TO (base::)
#define COM_FORWARD_IExtPackManager_TO(smth) COM_FORWARD_IExtPackManager_GETTER_InstalledExtPacks_TO (smth) COM_FORWARD_IExtPackManager_Find_TO (smth) COM_FORWARD_IExtPackManager_OpenExtPackFile_TO (smth) COM_FORWARD_IExtPackManager_Uninstall_TO (smth) COM_FORWARD_IExtPackManager_Cleanup_TO (smth) COM_FORWARD_IExtPackManager_QueryAllPlugInsForFrontend_TO (smth) COM_FORWARD_IExtPackManager_IsExtPackUsable_TO (smth) 
#define COM_FORWARD_IExtPackManager_TO_OBJ(obj) COM_FORWARD_IExtPackManager_TO ((obj)->)
#define COM_FORWARD_IExtPackManager_TO_BASE(base) COM_FORWARD_IExtPackManager_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0108_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0108_v0_0_s_ifspec;

#ifndef __IBandwidthGroup_INTERFACE_DEFINED__
#define __IBandwidthGroup_INTERFACE_DEFINED__

/* interface IBandwidthGroup */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IBandwidthGroup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("31587f93-2d12-4d7c-ba6d-ce51d0d5b265")
    IBandwidthGroup : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ BandwidthGroupType *aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Reference( 
            /* [retval][out] */ ULONG *aReference) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxBytesPerSec( 
            /* [retval][out] */ LONG64 *aMaxBytesPerSec) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MaxBytesPerSec( 
            /* [in] */ LONG64 aMaxBytesPerSec) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IBandwidthGroup( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IBandwidthGroup( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IBandwidthGroup( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IBandwidthGroup( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IBandwidthGroupVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IBandwidthGroup * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IBandwidthGroup * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IBandwidthGroup * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IBandwidthGroup * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IBandwidthGroup * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IBandwidthGroup * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IBandwidthGroup * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IBandwidthGroup, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IBandwidthGroup * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IBandwidthGroup, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IBandwidthGroup * This,
            /* [retval][out] */ BandwidthGroupType *aType);
        
        DECLSPEC_XFGVIRT(IBandwidthGroup, get_Reference)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Reference )( 
            IBandwidthGroup * This,
            /* [retval][out] */ ULONG *aReference);
        
        DECLSPEC_XFGVIRT(IBandwidthGroup, get_MaxBytesPerSec)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxBytesPerSec )( 
            IBandwidthGroup * This,
            /* [retval][out] */ LONG64 *aMaxBytesPerSec);
        
        DECLSPEC_XFGVIRT(IBandwidthGroup, put_MaxBytesPerSec)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxBytesPerSec )( 
            IBandwidthGroup * This,
            /* [in] */ LONG64 aMaxBytesPerSec);
        
        DECLSPEC_XFGVIRT(IBandwidthGroup, get_InternalAndReservedAttribute1IBandwidthGroup)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IBandwidthGroup )( 
            IBandwidthGroup * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IBandwidthGroup, get_InternalAndReservedAttribute2IBandwidthGroup)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IBandwidthGroup )( 
            IBandwidthGroup * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IBandwidthGroup, get_InternalAndReservedAttribute3IBandwidthGroup)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IBandwidthGroup )( 
            IBandwidthGroup * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IBandwidthGroup, get_InternalAndReservedAttribute4IBandwidthGroup)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IBandwidthGroup )( 
            IBandwidthGroup * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } IBandwidthGroupVtbl;

    interface IBandwidthGroup
    {
        CONST_VTBL struct IBandwidthGroupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IBandwidthGroup_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IBandwidthGroup_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IBandwidthGroup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IBandwidthGroup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IBandwidthGroup_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IBandwidthGroup_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IBandwidthGroup_get_Reference(This,aReference)	\
    ( (This)->lpVtbl -> get_Reference(This,aReference) ) 

#define IBandwidthGroup_get_MaxBytesPerSec(This,aMaxBytesPerSec)	\
    ( (This)->lpVtbl -> get_MaxBytesPerSec(This,aMaxBytesPerSec) ) 

#define IBandwidthGroup_put_MaxBytesPerSec(This,aMaxBytesPerSec)	\
    ( (This)->lpVtbl -> put_MaxBytesPerSec(This,aMaxBytesPerSec) ) 

#define IBandwidthGroup_get_InternalAndReservedAttribute1IBandwidthGroup(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IBandwidthGroup(This,aReserved) ) 

#define IBandwidthGroup_get_InternalAndReservedAttribute2IBandwidthGroup(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IBandwidthGroup(This,aReserved) ) 

#define IBandwidthGroup_get_InternalAndReservedAttribute3IBandwidthGroup(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IBandwidthGroup(This,aReserved) ) 

#define IBandwidthGroup_get_InternalAndReservedAttribute4IBandwidthGroup(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IBandwidthGroup(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IBandwidthGroup_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0109 */
/* [local] */ 

#define COM_FORWARD_IBandwidthGroup_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IBandwidthGroup_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IBandwidthGroup_GETTER_Name_TO_BASE(base) COM_FORWARD_IBandwidthGroup_GETTER_Name_TO (base::)
#define COM_FORWARD_IBandwidthGroup_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (BandwidthGroupType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IBandwidthGroup_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IBandwidthGroup_GETTER_Type_TO_BASE(base) COM_FORWARD_IBandwidthGroup_GETTER_Type_TO (base::)
#define COM_FORWARD_IBandwidthGroup_GETTER_Reference_TO(smth) HRESULT STDMETHODCALLTYPE get_Reference (ULONG * aReference) { return smth get_Reference (aReference); }
#define COM_FORWARD_IBandwidthGroup_GETTER_Reference_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_GETTER_Reference_TO ((obj)->)
#define COM_FORWARD_IBandwidthGroup_GETTER_Reference_TO_BASE(base) COM_FORWARD_IBandwidthGroup_GETTER_Reference_TO (base::)
#define COM_FORWARD_IBandwidthGroup_GETTER_MaxBytesPerSec_TO(smth) HRESULT STDMETHODCALLTYPE get_MaxBytesPerSec (LONG64 * aMaxBytesPerSec) { return smth get_MaxBytesPerSec (aMaxBytesPerSec); }
#define COM_FORWARD_IBandwidthGroup_GETTER_MaxBytesPerSec_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_GETTER_MaxBytesPerSec_TO ((obj)->)
#define COM_FORWARD_IBandwidthGroup_GETTER_MaxBytesPerSec_TO_BASE(base) COM_FORWARD_IBandwidthGroup_GETTER_MaxBytesPerSec_TO (base::)
#define COM_FORWARD_IBandwidthGroup_SETTER_MaxBytesPerSec_TO(smth) HRESULT STDMETHODCALLTYPE put_MaxBytesPerSec (LONG64 aMaxBytesPerSec) { return smth put_MaxBytesPerSec (aMaxBytesPerSec); }
#define COM_FORWARD_IBandwidthGroup_SETTER_MaxBytesPerSec_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_SETTER_MaxBytesPerSec_TO ((obj)->)
#define COM_FORWARD_IBandwidthGroup_SETTER_MaxBytesPerSec_TO_BASE(base) COM_FORWARD_IBandwidthGroup_SETTER_MaxBytesPerSec_TO (base::)
#define COM_FORWARD_IBandwidthGroup_TO(smth) COM_FORWARD_IBandwidthGroup_GETTER_Name_TO (smth) COM_FORWARD_IBandwidthGroup_GETTER_Type_TO (smth) COM_FORWARD_IBandwidthGroup_GETTER_Reference_TO (smth) COM_FORWARD_IBandwidthGroup_GETTER_MaxBytesPerSec_TO (smth) COM_FORWARD_IBandwidthGroup_SETTER_MaxBytesPerSec_TO (smth) 
#define COM_FORWARD_IBandwidthGroup_TO_OBJ(obj) COM_FORWARD_IBandwidthGroup_TO ((obj)->)
#define COM_FORWARD_IBandwidthGroup_TO_BASE(base) COM_FORWARD_IBandwidthGroup_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0109_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0109_v0_0_s_ifspec;

#ifndef __IBandwidthControl_INTERFACE_DEFINED__
#define __IBandwidthControl_INTERFACE_DEFINED__

/* interface IBandwidthControl */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IBandwidthControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("48c7f4c0-c9d6-4742-957c-a6fd52e8c4ae")
    IBandwidthControl : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NumGroups( 
            /* [retval][out] */ ULONG *aNumGroups) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IBandwidthControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IBandwidthControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateBandwidthGroup( 
            /* [in] */ BSTR aName,
            /* [in] */ BandwidthGroupType aType,
            /* [in] */ LONG64 aMaxBytesPerSec) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteBandwidthGroup( 
            /* [in] */ BSTR aName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetBandwidthGroup( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ IBandwidthGroup **aBandwidthGroup) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetAllBandwidthGroups( 
            /* [retval][out] */ SAFEARRAY * *aBandwidthGroups) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IBandwidthControl( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IBandwidthControl( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IBandwidthControlVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IBandwidthControl * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IBandwidthControl * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IBandwidthControl * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IBandwidthControl * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IBandwidthControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IBandwidthControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IBandwidthControl * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IBandwidthControl, get_NumGroups)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumGroups )( 
            IBandwidthControl * This,
            /* [retval][out] */ ULONG *aNumGroups);
        
        DECLSPEC_XFGVIRT(IBandwidthControl, get_InternalAndReservedAttribute1IBandwidthControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IBandwidthControl )( 
            IBandwidthControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IBandwidthControl, get_InternalAndReservedAttribute2IBandwidthControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IBandwidthControl )( 
            IBandwidthControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IBandwidthControl, CreateBandwidthGroup)
        HRESULT ( STDMETHODCALLTYPE *CreateBandwidthGroup )( 
            IBandwidthControl * This,
            /* [in] */ BSTR aName,
            /* [in] */ BandwidthGroupType aType,
            /* [in] */ LONG64 aMaxBytesPerSec);
        
        DECLSPEC_XFGVIRT(IBandwidthControl, DeleteBandwidthGroup)
        HRESULT ( STDMETHODCALLTYPE *DeleteBandwidthGroup )( 
            IBandwidthControl * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(IBandwidthControl, GetBandwidthGroup)
        HRESULT ( STDMETHODCALLTYPE *GetBandwidthGroup )( 
            IBandwidthControl * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ IBandwidthGroup **aBandwidthGroup);
        
        DECLSPEC_XFGVIRT(IBandwidthControl, GetAllBandwidthGroups)
        HRESULT ( STDMETHODCALLTYPE *GetAllBandwidthGroups )( 
            IBandwidthControl * This,
            /* [retval][out] */ SAFEARRAY * *aBandwidthGroups);
        
        DECLSPEC_XFGVIRT(IBandwidthControl, InternalAndReservedMethod1IBandwidthControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IBandwidthControl )( 
            IBandwidthControl * This);
        
        DECLSPEC_XFGVIRT(IBandwidthControl, InternalAndReservedMethod2IBandwidthControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IBandwidthControl )( 
            IBandwidthControl * This);
        
        END_INTERFACE
    } IBandwidthControlVtbl;

    interface IBandwidthControl
    {
        CONST_VTBL struct IBandwidthControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IBandwidthControl_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IBandwidthControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IBandwidthControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IBandwidthControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IBandwidthControl_get_NumGroups(This,aNumGroups)	\
    ( (This)->lpVtbl -> get_NumGroups(This,aNumGroups) ) 

#define IBandwidthControl_get_InternalAndReservedAttribute1IBandwidthControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IBandwidthControl(This,aReserved) ) 

#define IBandwidthControl_get_InternalAndReservedAttribute2IBandwidthControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IBandwidthControl(This,aReserved) ) 

#define IBandwidthControl_CreateBandwidthGroup(This,aName,aType,aMaxBytesPerSec)	\
    ( (This)->lpVtbl -> CreateBandwidthGroup(This,aName,aType,aMaxBytesPerSec) ) 

#define IBandwidthControl_DeleteBandwidthGroup(This,aName)	\
    ( (This)->lpVtbl -> DeleteBandwidthGroup(This,aName) ) 

#define IBandwidthControl_GetBandwidthGroup(This,aName,aBandwidthGroup)	\
    ( (This)->lpVtbl -> GetBandwidthGroup(This,aName,aBandwidthGroup) ) 

#define IBandwidthControl_GetAllBandwidthGroups(This,aBandwidthGroups)	\
    ( (This)->lpVtbl -> GetAllBandwidthGroups(This,aBandwidthGroups) ) 

#define IBandwidthControl_InternalAndReservedMethod1IBandwidthControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IBandwidthControl(This) ) 

#define IBandwidthControl_InternalAndReservedMethod2IBandwidthControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IBandwidthControl(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IBandwidthControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0110 */
/* [local] */ 

#define COM_FORWARD_IBandwidthControl_GETTER_NumGroups_TO(smth) HRESULT STDMETHODCALLTYPE get_NumGroups (ULONG * aNumGroups) { return smth get_NumGroups (aNumGroups); }
#define COM_FORWARD_IBandwidthControl_GETTER_NumGroups_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_GETTER_NumGroups_TO ((obj)->)
#define COM_FORWARD_IBandwidthControl_GETTER_NumGroups_TO_BASE(base) COM_FORWARD_IBandwidthControl_GETTER_NumGroups_TO (base::)
#define COM_FORWARD_IBandwidthControl_CreateBandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE CreateBandwidthGroup (BSTR aName, BandwidthGroupType aType, LONG64 aMaxBytesPerSec) { return smth CreateBandwidthGroup (aName, aType, aMaxBytesPerSec); }
#define COM_FORWARD_IBandwidthControl_CreateBandwidthGroup_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_CreateBandwidthGroup_TO ((obj)->)
#define COM_FORWARD_IBandwidthControl_CreateBandwidthGroup_TO_BASE(base) COM_FORWARD_IBandwidthControl_CreateBandwidthGroup_TO (base::)
#define COM_FORWARD_IBandwidthControl_DeleteBandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE DeleteBandwidthGroup (BSTR aName) { return smth DeleteBandwidthGroup (aName); }
#define COM_FORWARD_IBandwidthControl_DeleteBandwidthGroup_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_DeleteBandwidthGroup_TO ((obj)->)
#define COM_FORWARD_IBandwidthControl_DeleteBandwidthGroup_TO_BASE(base) COM_FORWARD_IBandwidthControl_DeleteBandwidthGroup_TO (base::)
#define COM_FORWARD_IBandwidthControl_GetBandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE GetBandwidthGroup (BSTR aName, IBandwidthGroup * * aBandwidthGroup) { return smth GetBandwidthGroup (aName, aBandwidthGroup); }
#define COM_FORWARD_IBandwidthControl_GetBandwidthGroup_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_GetBandwidthGroup_TO ((obj)->)
#define COM_FORWARD_IBandwidthControl_GetBandwidthGroup_TO_BASE(base) COM_FORWARD_IBandwidthControl_GetBandwidthGroup_TO (base::)
#define COM_FORWARD_IBandwidthControl_GetAllBandwidthGroups_TO(smth) HRESULT STDMETHODCALLTYPE GetAllBandwidthGroups (SAFEARRAY * * aBandwidthGroups) { return smth GetAllBandwidthGroups (aBandwidthGroups); }
#define COM_FORWARD_IBandwidthControl_GetAllBandwidthGroups_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_GetAllBandwidthGroups_TO ((obj)->)
#define COM_FORWARD_IBandwidthControl_GetAllBandwidthGroups_TO_BASE(base) COM_FORWARD_IBandwidthControl_GetAllBandwidthGroups_TO (base::)
#define COM_FORWARD_IBandwidthControl_TO(smth) COM_FORWARD_IBandwidthControl_GETTER_NumGroups_TO (smth) COM_FORWARD_IBandwidthControl_CreateBandwidthGroup_TO (smth) COM_FORWARD_IBandwidthControl_DeleteBandwidthGroup_TO (smth) COM_FORWARD_IBandwidthControl_GetBandwidthGroup_TO (smth) COM_FORWARD_IBandwidthControl_GetAllBandwidthGroups_TO (smth) 
#define COM_FORWARD_IBandwidthControl_TO_OBJ(obj) COM_FORWARD_IBandwidthControl_TO ((obj)->)
#define COM_FORWARD_IBandwidthControl_TO_BASE(base) COM_FORWARD_IBandwidthControl_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0110_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0110_v0_0_s_ifspec;

#ifndef __IGuestDebugControl_INTERFACE_DEFINED__
#define __IGuestDebugControl_INTERFACE_DEFINED__

/* interface IGuestDebugControl */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestDebugControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1474bb3a-f096-4cd7-a857-8d8e3cea7331")
    IGuestDebugControl : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DebugProvider( 
            /* [retval][out] */ GuestDebugProvider *aDebugProvider) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DebugProvider( 
            /* [in] */ GuestDebugProvider aDebugProvider) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DebugIoProvider( 
            /* [retval][out] */ GuestDebugIoProvider *aDebugIoProvider) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DebugIoProvider( 
            /* [in] */ GuestDebugIoProvider aDebugIoProvider) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DebugAddress( 
            /* [retval][out] */ BSTR *aDebugAddress) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DebugAddress( 
            /* [in] */ BSTR aDebugAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DebugPort( 
            /* [retval][out] */ ULONG *aDebugPort) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DebugPort( 
            /* [in] */ ULONG aDebugPort) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IGuestDebugControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IGuestDebugControl( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IGuestDebugControl( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IGuestDebugControl( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestDebugControlVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestDebugControl * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestDebugControl * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestDebugControl * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestDebugControl * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestDebugControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestDebugControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestDebugControl * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, get_DebugProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DebugProvider )( 
            IGuestDebugControl * This,
            /* [retval][out] */ GuestDebugProvider *aDebugProvider);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, put_DebugProvider)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DebugProvider )( 
            IGuestDebugControl * This,
            /* [in] */ GuestDebugProvider aDebugProvider);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, get_DebugIoProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DebugIoProvider )( 
            IGuestDebugControl * This,
            /* [retval][out] */ GuestDebugIoProvider *aDebugIoProvider);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, put_DebugIoProvider)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DebugIoProvider )( 
            IGuestDebugControl * This,
            /* [in] */ GuestDebugIoProvider aDebugIoProvider);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, get_DebugAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DebugAddress )( 
            IGuestDebugControl * This,
            /* [retval][out] */ BSTR *aDebugAddress);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, put_DebugAddress)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DebugAddress )( 
            IGuestDebugControl * This,
            /* [in] */ BSTR aDebugAddress);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, get_DebugPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DebugPort )( 
            IGuestDebugControl * This,
            /* [retval][out] */ ULONG *aDebugPort);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, put_DebugPort)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DebugPort )( 
            IGuestDebugControl * This,
            /* [in] */ ULONG aDebugPort);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, get_InternalAndReservedAttribute1IGuestDebugControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IGuestDebugControl )( 
            IGuestDebugControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, get_InternalAndReservedAttribute2IGuestDebugControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IGuestDebugControl )( 
            IGuestDebugControl * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, InternalAndReservedMethod1IGuestDebugControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IGuestDebugControl )( 
            IGuestDebugControl * This);
        
        DECLSPEC_XFGVIRT(IGuestDebugControl, InternalAndReservedMethod2IGuestDebugControl)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IGuestDebugControl )( 
            IGuestDebugControl * This);
        
        END_INTERFACE
    } IGuestDebugControlVtbl;

    interface IGuestDebugControl
    {
        CONST_VTBL struct IGuestDebugControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestDebugControl_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestDebugControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestDebugControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestDebugControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestDebugControl_get_DebugProvider(This,aDebugProvider)	\
    ( (This)->lpVtbl -> get_DebugProvider(This,aDebugProvider) ) 

#define IGuestDebugControl_put_DebugProvider(This,aDebugProvider)	\
    ( (This)->lpVtbl -> put_DebugProvider(This,aDebugProvider) ) 

#define IGuestDebugControl_get_DebugIoProvider(This,aDebugIoProvider)	\
    ( (This)->lpVtbl -> get_DebugIoProvider(This,aDebugIoProvider) ) 

#define IGuestDebugControl_put_DebugIoProvider(This,aDebugIoProvider)	\
    ( (This)->lpVtbl -> put_DebugIoProvider(This,aDebugIoProvider) ) 

#define IGuestDebugControl_get_DebugAddress(This,aDebugAddress)	\
    ( (This)->lpVtbl -> get_DebugAddress(This,aDebugAddress) ) 

#define IGuestDebugControl_put_DebugAddress(This,aDebugAddress)	\
    ( (This)->lpVtbl -> put_DebugAddress(This,aDebugAddress) ) 

#define IGuestDebugControl_get_DebugPort(This,aDebugPort)	\
    ( (This)->lpVtbl -> get_DebugPort(This,aDebugPort) ) 

#define IGuestDebugControl_put_DebugPort(This,aDebugPort)	\
    ( (This)->lpVtbl -> put_DebugPort(This,aDebugPort) ) 

#define IGuestDebugControl_get_InternalAndReservedAttribute1IGuestDebugControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IGuestDebugControl(This,aReserved) ) 

#define IGuestDebugControl_get_InternalAndReservedAttribute2IGuestDebugControl(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IGuestDebugControl(This,aReserved) ) 

#define IGuestDebugControl_InternalAndReservedMethod1IGuestDebugControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IGuestDebugControl(This) ) 

#define IGuestDebugControl_InternalAndReservedMethod2IGuestDebugControl(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IGuestDebugControl(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestDebugControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0111 */
/* [local] */ 

#define COM_FORWARD_IGuestDebugControl_GETTER_DebugProvider_TO(smth) HRESULT STDMETHODCALLTYPE get_DebugProvider (GuestDebugProvider * aDebugProvider) { return smth get_DebugProvider (aDebugProvider); }
#define COM_FORWARD_IGuestDebugControl_GETTER_DebugProvider_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_GETTER_DebugProvider_TO ((obj)->)
#define COM_FORWARD_IGuestDebugControl_GETTER_DebugProvider_TO_BASE(base) COM_FORWARD_IGuestDebugControl_GETTER_DebugProvider_TO (base::)
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugProvider_TO(smth) HRESULT STDMETHODCALLTYPE put_DebugProvider (GuestDebugProvider aDebugProvider) { return smth put_DebugProvider (aDebugProvider); }
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugProvider_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_SETTER_DebugProvider_TO ((obj)->)
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugProvider_TO_BASE(base) COM_FORWARD_IGuestDebugControl_SETTER_DebugProvider_TO (base::)
#define COM_FORWARD_IGuestDebugControl_GETTER_DebugIoProvider_TO(smth) HRESULT STDMETHODCALLTYPE get_DebugIoProvider (GuestDebugIoProvider * aDebugIoProvider) { return smth get_DebugIoProvider (aDebugIoProvider); }
#define COM_FORWARD_IGuestDebugControl_GETTER_DebugIoProvider_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_GETTER_DebugIoProvider_TO ((obj)->)
#define COM_FORWARD_IGuestDebugControl_GETTER_DebugIoProvider_TO_BASE(base) COM_FORWARD_IGuestDebugControl_GETTER_DebugIoProvider_TO (base::)
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugIoProvider_TO(smth) HRESULT STDMETHODCALLTYPE put_DebugIoProvider (GuestDebugIoProvider aDebugIoProvider) { return smth put_DebugIoProvider (aDebugIoProvider); }
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugIoProvider_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_SETTER_DebugIoProvider_TO ((obj)->)
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugIoProvider_TO_BASE(base) COM_FORWARD_IGuestDebugControl_SETTER_DebugIoProvider_TO (base::)
#define COM_FORWARD_IGuestDebugControl_GETTER_DebugAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_DebugAddress (BSTR * aDebugAddress) { return smth get_DebugAddress (aDebugAddress); }
#define COM_FORWARD_IGuestDebugControl_GETTER_DebugAddress_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_GETTER_DebugAddress_TO ((obj)->)
#define COM_FORWARD_IGuestDebugControl_GETTER_DebugAddress_TO_BASE(base) COM_FORWARD_IGuestDebugControl_GETTER_DebugAddress_TO (base::)
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugAddress_TO(smth) HRESULT STDMETHODCALLTYPE put_DebugAddress (BSTR aDebugAddress) { return smth put_DebugAddress (aDebugAddress); }
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugAddress_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_SETTER_DebugAddress_TO ((obj)->)
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugAddress_TO_BASE(base) COM_FORWARD_IGuestDebugControl_SETTER_DebugAddress_TO (base::)
#define COM_FORWARD_IGuestDebugControl_GETTER_DebugPort_TO(smth) HRESULT STDMETHODCALLTYPE get_DebugPort (ULONG * aDebugPort) { return smth get_DebugPort (aDebugPort); }
#define COM_FORWARD_IGuestDebugControl_GETTER_DebugPort_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_GETTER_DebugPort_TO ((obj)->)
#define COM_FORWARD_IGuestDebugControl_GETTER_DebugPort_TO_BASE(base) COM_FORWARD_IGuestDebugControl_GETTER_DebugPort_TO (base::)
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugPort_TO(smth) HRESULT STDMETHODCALLTYPE put_DebugPort (ULONG aDebugPort) { return smth put_DebugPort (aDebugPort); }
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugPort_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_SETTER_DebugPort_TO ((obj)->)
#define COM_FORWARD_IGuestDebugControl_SETTER_DebugPort_TO_BASE(base) COM_FORWARD_IGuestDebugControl_SETTER_DebugPort_TO (base::)
#define COM_FORWARD_IGuestDebugControl_TO(smth) COM_FORWARD_IGuestDebugControl_GETTER_DebugProvider_TO (smth) COM_FORWARD_IGuestDebugControl_SETTER_DebugProvider_TO (smth) COM_FORWARD_IGuestDebugControl_GETTER_DebugIoProvider_TO (smth) COM_FORWARD_IGuestDebugControl_SETTER_DebugIoProvider_TO (smth) COM_FORWARD_IGuestDebugControl_GETTER_DebugAddress_TO (smth) COM_FORWARD_IGuestDebugControl_SETTER_DebugAddress_TO (smth) COM_FORWARD_IGuestDebugControl_GETTER_DebugPort_TO (smth) COM_FORWARD_IGuestDebugControl_SETTER_DebugPort_TO (smth) 
#define COM_FORWARD_IGuestDebugControl_TO_OBJ(obj) COM_FORWARD_IGuestDebugControl_TO ((obj)->)
#define COM_FORWARD_IGuestDebugControl_TO_BASE(base) COM_FORWARD_IGuestDebugControl_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0111_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0111_v0_0_s_ifspec;

#ifndef __IVirtualBoxClient_INTERFACE_DEFINED__
#define __IVirtualBoxClient_INTERFACE_DEFINED__

/* interface IVirtualBoxClient */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVirtualBoxClient;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d2937a8e-cb8d-4382-90ba-b7da78a74573")
    IVirtualBoxClient : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VirtualBox( 
            /* [retval][out] */ IVirtualBox **aVirtualBox) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Session( 
            /* [retval][out] */ ISession **aSession) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EventSource( 
            /* [retval][out] */ IEventSource **aEventSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IVirtualBoxClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IVirtualBoxClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IVirtualBoxClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IVirtualBoxClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CheckMachineError( 
            /* [in] */ IMachine *aMachine) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IVirtualBoxClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IVirtualBoxClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IVirtualBoxClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IVirtualBoxClient( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVirtualBoxClientVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVirtualBoxClient * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVirtualBoxClient * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVirtualBoxClient * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IVirtualBoxClient * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IVirtualBoxClient * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IVirtualBoxClient * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IVirtualBoxClient * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, get_VirtualBox)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VirtualBox )( 
            IVirtualBoxClient * This,
            /* [retval][out] */ IVirtualBox **aVirtualBox);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IVirtualBoxClient * This,
            /* [retval][out] */ ISession **aSession);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, get_EventSource)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventSource )( 
            IVirtualBoxClient * This,
            /* [retval][out] */ IEventSource **aEventSource);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, get_InternalAndReservedAttribute1IVirtualBoxClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IVirtualBoxClient )( 
            IVirtualBoxClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, get_InternalAndReservedAttribute2IVirtualBoxClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IVirtualBoxClient )( 
            IVirtualBoxClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, get_InternalAndReservedAttribute3IVirtualBoxClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IVirtualBoxClient )( 
            IVirtualBoxClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, get_InternalAndReservedAttribute4IVirtualBoxClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IVirtualBoxClient )( 
            IVirtualBoxClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, CheckMachineError)
        HRESULT ( STDMETHODCALLTYPE *CheckMachineError )( 
            IVirtualBoxClient * This,
            /* [in] */ IMachine *aMachine);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, InternalAndReservedMethod1IVirtualBoxClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IVirtualBoxClient )( 
            IVirtualBoxClient * This);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, InternalAndReservedMethod2IVirtualBoxClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IVirtualBoxClient )( 
            IVirtualBoxClient * This);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, InternalAndReservedMethod3IVirtualBoxClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IVirtualBoxClient )( 
            IVirtualBoxClient * This);
        
        DECLSPEC_XFGVIRT(IVirtualBoxClient, InternalAndReservedMethod4IVirtualBoxClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IVirtualBoxClient )( 
            IVirtualBoxClient * This);
        
        END_INTERFACE
    } IVirtualBoxClientVtbl;

    interface IVirtualBoxClient
    {
        CONST_VTBL struct IVirtualBoxClientVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVirtualBoxClient_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IVirtualBoxClient_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IVirtualBoxClient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IVirtualBoxClient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IVirtualBoxClient_get_VirtualBox(This,aVirtualBox)	\
    ( (This)->lpVtbl -> get_VirtualBox(This,aVirtualBox) ) 

#define IVirtualBoxClient_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 

#define IVirtualBoxClient_get_EventSource(This,aEventSource)	\
    ( (This)->lpVtbl -> get_EventSource(This,aEventSource) ) 

#define IVirtualBoxClient_get_InternalAndReservedAttribute1IVirtualBoxClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IVirtualBoxClient(This,aReserved) ) 

#define IVirtualBoxClient_get_InternalAndReservedAttribute2IVirtualBoxClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IVirtualBoxClient(This,aReserved) ) 

#define IVirtualBoxClient_get_InternalAndReservedAttribute3IVirtualBoxClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IVirtualBoxClient(This,aReserved) ) 

#define IVirtualBoxClient_get_InternalAndReservedAttribute4IVirtualBoxClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IVirtualBoxClient(This,aReserved) ) 

#define IVirtualBoxClient_CheckMachineError(This,aMachine)	\
    ( (This)->lpVtbl -> CheckMachineError(This,aMachine) ) 

#define IVirtualBoxClient_InternalAndReservedMethod1IVirtualBoxClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IVirtualBoxClient(This) ) 

#define IVirtualBoxClient_InternalAndReservedMethod2IVirtualBoxClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IVirtualBoxClient(This) ) 

#define IVirtualBoxClient_InternalAndReservedMethod3IVirtualBoxClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IVirtualBoxClient(This) ) 

#define IVirtualBoxClient_InternalAndReservedMethod4IVirtualBoxClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IVirtualBoxClient(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVirtualBoxClient_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0112 */
/* [local] */ 

#define COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO(smth) HRESULT STDMETHODCALLTYPE get_VirtualBox (IVirtualBox * * aVirtualBox) { return smth get_VirtualBox (aVirtualBox); }
#define COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO_OBJ(obj) COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO_BASE(base) COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO (base::)
#define COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO(smth) HRESULT STDMETHODCALLTYPE get_Session (ISession * * aSession) { return smth get_Session (aSession); }
#define COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO_OBJ(obj) COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO_BASE(base) COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO (base::)
#define COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_TO(smth) HRESULT STDMETHODCALLTYPE get_EventSource (IEventSource * * aEventSource) { return smth get_EventSource (aEventSource); }
#define COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_TO_OBJ(obj) COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_TO_BASE(base) COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_TO (base::)
#define COM_FORWARD_IVirtualBoxClient_CheckMachineError_TO(smth) HRESULT STDMETHODCALLTYPE CheckMachineError (IMachine * aMachine) { return smth CheckMachineError (aMachine); }
#define COM_FORWARD_IVirtualBoxClient_CheckMachineError_TO_OBJ(obj) COM_FORWARD_IVirtualBoxClient_CheckMachineError_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxClient_CheckMachineError_TO_BASE(base) COM_FORWARD_IVirtualBoxClient_CheckMachineError_TO (base::)
#define COM_FORWARD_IVirtualBoxClient_TO(smth) COM_FORWARD_IVirtualBoxClient_GETTER_VirtualBox_TO (smth) COM_FORWARD_IVirtualBoxClient_GETTER_Session_TO (smth) COM_FORWARD_IVirtualBoxClient_GETTER_EventSource_TO (smth) COM_FORWARD_IVirtualBoxClient_CheckMachineError_TO (smth) 
#define COM_FORWARD_IVirtualBoxClient_TO_OBJ(obj) COM_FORWARD_IVirtualBoxClient_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxClient_TO_BASE(base) COM_FORWARD_IVirtualBoxClient_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0112_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0112_v0_0_s_ifspec;

#ifndef __IEventSource_INTERFACE_DEFINED__
#define __IEventSource_INTERFACE_DEFINED__

/* interface IEventSource */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IEventSource;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9b6e1aee-35f3-4f4d-b5bb-ed0ecefd8538")
    IEventSource : public IDispatch
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CreateListener( 
            /* [retval][out] */ IEventListener **aListener) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateAggregator( 
            /* [in] */ SAFEARRAY * aSubordinates,
            /* [retval][out] */ IEventSource **aResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterListener( 
            /* [in] */ IEventListener *aListener,
            /* [in] */ SAFEARRAY * aInteresting,
            /* [in] */ BOOL aActive) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnregisterListener( 
            /* [in] */ IEventListener *aListener) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FireEvent( 
            /* [in] */ IEvent *aEvent,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetEvent( 
            /* [in] */ IEventListener *aListener,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ IEvent **aEvent) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EventProcessed( 
            /* [in] */ IEventListener *aListener,
            /* [in] */ IEvent *aEvent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IEventSourceVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IEventSource * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IEventSource * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IEventSource * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IEventSource * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IEventSource * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IEventSource * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IEventSource * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEventSource, CreateListener)
        HRESULT ( STDMETHODCALLTYPE *CreateListener )( 
            IEventSource * This,
            /* [retval][out] */ IEventListener **aListener);
        
        DECLSPEC_XFGVIRT(IEventSource, CreateAggregator)
        HRESULT ( STDMETHODCALLTYPE *CreateAggregator )( 
            IEventSource * This,
            /* [in] */ SAFEARRAY * aSubordinates,
            /* [retval][out] */ IEventSource **aResult);
        
        DECLSPEC_XFGVIRT(IEventSource, RegisterListener)
        HRESULT ( STDMETHODCALLTYPE *RegisterListener )( 
            IEventSource * This,
            /* [in] */ IEventListener *aListener,
            /* [in] */ SAFEARRAY * aInteresting,
            /* [in] */ BOOL aActive);
        
        DECLSPEC_XFGVIRT(IEventSource, UnregisterListener)
        HRESULT ( STDMETHODCALLTYPE *UnregisterListener )( 
            IEventSource * This,
            /* [in] */ IEventListener *aListener);
        
        DECLSPEC_XFGVIRT(IEventSource, FireEvent)
        HRESULT ( STDMETHODCALLTYPE *FireEvent )( 
            IEventSource * This,
            /* [in] */ IEvent *aEvent,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IEventSource, GetEvent)
        HRESULT ( STDMETHODCALLTYPE *GetEvent )( 
            IEventSource * This,
            /* [in] */ IEventListener *aListener,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ IEvent **aEvent);
        
        DECLSPEC_XFGVIRT(IEventSource, EventProcessed)
        HRESULT ( STDMETHODCALLTYPE *EventProcessed )( 
            IEventSource * This,
            /* [in] */ IEventListener *aListener,
            /* [in] */ IEvent *aEvent);
        
        END_INTERFACE
    } IEventSourceVtbl;

    interface IEventSource
    {
        CONST_VTBL struct IEventSourceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IEventSource_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IEventSource_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IEventSource_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IEventSource_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IEventSource_CreateListener(This,aListener)	\
    ( (This)->lpVtbl -> CreateListener(This,aListener) ) 

#define IEventSource_CreateAggregator(This,aSubordinates,aResult)	\
    ( (This)->lpVtbl -> CreateAggregator(This,aSubordinates,aResult) ) 

#define IEventSource_RegisterListener(This,aListener,aInteresting,aActive)	\
    ( (This)->lpVtbl -> RegisterListener(This,aListener,aInteresting,aActive) ) 

#define IEventSource_UnregisterListener(This,aListener)	\
    ( (This)->lpVtbl -> UnregisterListener(This,aListener) ) 

#define IEventSource_FireEvent(This,aEvent,aTimeout,aResult)	\
    ( (This)->lpVtbl -> FireEvent(This,aEvent,aTimeout,aResult) ) 

#define IEventSource_GetEvent(This,aListener,aTimeout,aEvent)	\
    ( (This)->lpVtbl -> GetEvent(This,aListener,aTimeout,aEvent) ) 

#define IEventSource_EventProcessed(This,aListener,aEvent)	\
    ( (This)->lpVtbl -> EventProcessed(This,aListener,aEvent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IEventSource_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0113 */
/* [local] */ 

#define COM_FORWARD_IEventSource_CreateListener_TO(smth) HRESULT STDMETHODCALLTYPE CreateListener (IEventListener * * aListener) { return smth CreateListener (aListener); }
#define COM_FORWARD_IEventSource_CreateListener_TO_OBJ(obj) COM_FORWARD_IEventSource_CreateListener_TO ((obj)->)
#define COM_FORWARD_IEventSource_CreateListener_TO_BASE(base) COM_FORWARD_IEventSource_CreateListener_TO (base::)
#define COM_FORWARD_IEventSource_CreateAggregator_TO(smth) HRESULT STDMETHODCALLTYPE CreateAggregator (SAFEARRAY * * aSubordinates, IEventSource * * aResult) { return smth CreateAggregator (aSubordinates, aResult); }
#define COM_FORWARD_IEventSource_CreateAggregator_TO_OBJ(obj) COM_FORWARD_IEventSource_CreateAggregator_TO ((obj)->)
#define COM_FORWARD_IEventSource_CreateAggregator_TO_BASE(base) COM_FORWARD_IEventSource_CreateAggregator_TO (base::)
#define COM_FORWARD_IEventSource_RegisterListener_TO(smth) HRESULT STDMETHODCALLTYPE RegisterListener (IEventListener * aListener, SAFEARRAY * * aInteresting, BOOL aActive) { return smth RegisterListener (aListener, aInteresting, aActive); }
#define COM_FORWARD_IEventSource_RegisterListener_TO_OBJ(obj) COM_FORWARD_IEventSource_RegisterListener_TO ((obj)->)
#define COM_FORWARD_IEventSource_RegisterListener_TO_BASE(base) COM_FORWARD_IEventSource_RegisterListener_TO (base::)
#define COM_FORWARD_IEventSource_UnregisterListener_TO(smth) HRESULT STDMETHODCALLTYPE UnregisterListener (IEventListener * aListener) { return smth UnregisterListener (aListener); }
#define COM_FORWARD_IEventSource_UnregisterListener_TO_OBJ(obj) COM_FORWARD_IEventSource_UnregisterListener_TO ((obj)->)
#define COM_FORWARD_IEventSource_UnregisterListener_TO_BASE(base) COM_FORWARD_IEventSource_UnregisterListener_TO (base::)
#define COM_FORWARD_IEventSource_FireEvent_TO(smth) HRESULT STDMETHODCALLTYPE FireEvent (IEvent * aEvent, LONG aTimeout, BOOL * aResult) { return smth FireEvent (aEvent, aTimeout, aResult); }
#define COM_FORWARD_IEventSource_FireEvent_TO_OBJ(obj) COM_FORWARD_IEventSource_FireEvent_TO ((obj)->)
#define COM_FORWARD_IEventSource_FireEvent_TO_BASE(base) COM_FORWARD_IEventSource_FireEvent_TO (base::)
#define COM_FORWARD_IEventSource_GetEvent_TO(smth) HRESULT STDMETHODCALLTYPE GetEvent (IEventListener * aListener, LONG aTimeout, IEvent * * aEvent) { return smth GetEvent (aListener, aTimeout, aEvent); }
#define COM_FORWARD_IEventSource_GetEvent_TO_OBJ(obj) COM_FORWARD_IEventSource_GetEvent_TO ((obj)->)
#define COM_FORWARD_IEventSource_GetEvent_TO_BASE(base) COM_FORWARD_IEventSource_GetEvent_TO (base::)
#define COM_FORWARD_IEventSource_EventProcessed_TO(smth) HRESULT STDMETHODCALLTYPE EventProcessed (IEventListener * aListener, IEvent * aEvent) { return smth EventProcessed (aListener, aEvent); }
#define COM_FORWARD_IEventSource_EventProcessed_TO_OBJ(obj) COM_FORWARD_IEventSource_EventProcessed_TO ((obj)->)
#define COM_FORWARD_IEventSource_EventProcessed_TO_BASE(base) COM_FORWARD_IEventSource_EventProcessed_TO (base::)
#define COM_FORWARD_IEventSource_TO(smth) COM_FORWARD_IEventSource_CreateListener_TO (smth) COM_FORWARD_IEventSource_CreateAggregator_TO (smth) COM_FORWARD_IEventSource_RegisterListener_TO (smth) COM_FORWARD_IEventSource_UnregisterListener_TO (smth) COM_FORWARD_IEventSource_FireEvent_TO (smth) COM_FORWARD_IEventSource_GetEvent_TO (smth) COM_FORWARD_IEventSource_EventProcessed_TO (smth) 
#define COM_FORWARD_IEventSource_TO_OBJ(obj) COM_FORWARD_IEventSource_TO ((obj)->)
#define COM_FORWARD_IEventSource_TO_BASE(base) COM_FORWARD_IEventSource_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0113_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0113_v0_0_s_ifspec;

#ifndef __IEventListener_INTERFACE_DEFINED__
#define __IEventListener_INTERFACE_DEFINED__

/* interface IEventListener */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IEventListener;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("67099191-32e7-4f6c-85ee-422304c71b90")
    IEventListener : public IDispatch
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE HandleEvent( 
            /* [in] */ IEvent *aEvent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IEventListenerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IEventListener * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IEventListener * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IEventListener * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IEventListener * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IEventListener * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IEventListener * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IEventListener * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEventListener, HandleEvent)
        HRESULT ( STDMETHODCALLTYPE *HandleEvent )( 
            IEventListener * This,
            /* [in] */ IEvent *aEvent);
        
        END_INTERFACE
    } IEventListenerVtbl;

    interface IEventListener
    {
        CONST_VTBL struct IEventListenerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IEventListener_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IEventListener_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IEventListener_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IEventListener_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IEventListener_HandleEvent(This,aEvent)	\
    ( (This)->lpVtbl -> HandleEvent(This,aEvent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IEventListener_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0114 */
/* [local] */ 

#define COM_FORWARD_IEventListener_HandleEvent_TO(smth) HRESULT STDMETHODCALLTYPE HandleEvent (IEvent * aEvent) { return smth HandleEvent (aEvent); }
#define COM_FORWARD_IEventListener_HandleEvent_TO_OBJ(obj) COM_FORWARD_IEventListener_HandleEvent_TO ((obj)->)
#define COM_FORWARD_IEventListener_HandleEvent_TO_BASE(base) COM_FORWARD_IEventListener_HandleEvent_TO (base::)
#define COM_FORWARD_IEventListener_TO(smth) COM_FORWARD_IEventListener_HandleEvent_TO (smth) 
#define COM_FORWARD_IEventListener_TO_OBJ(obj) COM_FORWARD_IEventListener_TO ((obj)->)
#define COM_FORWARD_IEventListener_TO_BASE(base) COM_FORWARD_IEventListener_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0114_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0114_v0_0_s_ifspec;

#ifndef __IEvent_INTERFACE_DEFINED__
#define __IEvent_INTERFACE_DEFINED__

/* interface IEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0ca2adba-8f30-401b-a8cd-fe31dbe839c0")
    IEvent : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ VBoxEventType *aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Source( 
            /* [retval][out] */ IEventSource **aSource) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Waitable( 
            /* [retval][out] */ BOOL *aWaitable) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetProcessed( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WaitProcessed( 
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        END_INTERFACE
    } IEventVtbl;

    interface IEvent
    {
        CONST_VTBL struct IEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0115 */
/* [local] */ 

#define COM_FORWARD_IEvent_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (VBoxEventType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IEvent_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IEvent_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IEvent_GETTER_Type_TO_BASE(base) COM_FORWARD_IEvent_GETTER_Type_TO (base::)
#define COM_FORWARD_IEvent_GETTER_Source_TO(smth) HRESULT STDMETHODCALLTYPE get_Source (IEventSource * * aSource) { return smth get_Source (aSource); }
#define COM_FORWARD_IEvent_GETTER_Source_TO_OBJ(obj) COM_FORWARD_IEvent_GETTER_Source_TO ((obj)->)
#define COM_FORWARD_IEvent_GETTER_Source_TO_BASE(base) COM_FORWARD_IEvent_GETTER_Source_TO (base::)
#define COM_FORWARD_IEvent_GETTER_Waitable_TO(smth) HRESULT STDMETHODCALLTYPE get_Waitable (BOOL * aWaitable) { return smth get_Waitable (aWaitable); }
#define COM_FORWARD_IEvent_GETTER_Waitable_TO_OBJ(obj) COM_FORWARD_IEvent_GETTER_Waitable_TO ((obj)->)
#define COM_FORWARD_IEvent_GETTER_Waitable_TO_BASE(base) COM_FORWARD_IEvent_GETTER_Waitable_TO (base::)
#define COM_FORWARD_IEvent_SetProcessed_TO(smth) HRESULT STDMETHODCALLTYPE SetProcessed() { return smth SetProcessed(); }
#define COM_FORWARD_IEvent_SetProcessed_TO_OBJ(obj) COM_FORWARD_IEvent_SetProcessed_TO ((obj)->)
#define COM_FORWARD_IEvent_SetProcessed_TO_BASE(base) COM_FORWARD_IEvent_SetProcessed_TO (base::)
#define COM_FORWARD_IEvent_WaitProcessed_TO(smth) HRESULT STDMETHODCALLTYPE WaitProcessed (LONG aTimeout, BOOL * aResult) { return smth WaitProcessed (aTimeout, aResult); }
#define COM_FORWARD_IEvent_WaitProcessed_TO_OBJ(obj) COM_FORWARD_IEvent_WaitProcessed_TO ((obj)->)
#define COM_FORWARD_IEvent_WaitProcessed_TO_BASE(base) COM_FORWARD_IEvent_WaitProcessed_TO (base::)
#define COM_FORWARD_IEvent_TO(smth) COM_FORWARD_IEvent_GETTER_Type_TO (smth) COM_FORWARD_IEvent_GETTER_Source_TO (smth) COM_FORWARD_IEvent_GETTER_Waitable_TO (smth) COM_FORWARD_IEvent_SetProcessed_TO (smth) COM_FORWARD_IEvent_WaitProcessed_TO (smth) 
#define COM_FORWARD_IEvent_TO_OBJ(obj) COM_FORWARD_IEvent_TO ((obj)->)
#define COM_FORWARD_IEvent_TO_BASE(base) COM_FORWARD_IEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0115_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0115_v0_0_s_ifspec;

#ifndef __IReusableEvent_INTERFACE_DEFINED__
#define __IReusableEvent_INTERFACE_DEFINED__

/* interface IReusableEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IReusableEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("69bfb134-80f6-4266-8e20-16371f68fa25")
    IReusableEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Generation( 
            /* [retval][out] */ ULONG *aGeneration) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Reuse( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IReusableEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IReusableEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IReusableEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IReusableEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IReusableEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IReusableEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IReusableEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IReusableEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IReusableEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IReusableEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IReusableEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IReusableEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IReusableEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IReusableEvent, get_Generation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Generation )( 
            IReusableEvent * This,
            /* [retval][out] */ ULONG *aGeneration);
        
        DECLSPEC_XFGVIRT(IReusableEvent, Reuse)
        HRESULT ( STDMETHODCALLTYPE *Reuse )( 
            IReusableEvent * This);
        
        END_INTERFACE
    } IReusableEventVtbl;

    interface IReusableEvent
    {
        CONST_VTBL struct IReusableEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IReusableEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IReusableEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IReusableEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IReusableEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IReusableEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IReusableEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IReusableEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IReusableEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IReusableEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IReusableEvent_get_Generation(This,aGeneration)	\
    ( (This)->lpVtbl -> get_Generation(This,aGeneration) ) 

#define IReusableEvent_Reuse(This)	\
    ( (This)->lpVtbl -> Reuse(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IReusableEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0116 */
/* [local] */ 

#define COM_FORWARD_IReusableEvent_GETTER_Generation_TO(smth) HRESULT STDMETHODCALLTYPE get_Generation (ULONG * aGeneration) { return smth get_Generation (aGeneration); }
#define COM_FORWARD_IReusableEvent_GETTER_Generation_TO_OBJ(obj) COM_FORWARD_IReusableEvent_GETTER_Generation_TO ((obj)->)
#define COM_FORWARD_IReusableEvent_GETTER_Generation_TO_BASE(base) COM_FORWARD_IReusableEvent_GETTER_Generation_TO (base::)
#define COM_FORWARD_IReusableEvent_Reuse_TO(smth) HRESULT STDMETHODCALLTYPE Reuse() { return smth Reuse(); }
#define COM_FORWARD_IReusableEvent_Reuse_TO_OBJ(obj) COM_FORWARD_IReusableEvent_Reuse_TO ((obj)->)
#define COM_FORWARD_IReusableEvent_Reuse_TO_BASE(base) COM_FORWARD_IReusableEvent_Reuse_TO (base::)
#define COM_FORWARD_IReusableEvent_TO(smth) COM_FORWARD_IReusableEvent_GETTER_Generation_TO (smth) COM_FORWARD_IReusableEvent_Reuse_TO (smth) 
#define COM_FORWARD_IReusableEvent_TO_OBJ(obj) COM_FORWARD_IReusableEvent_TO ((obj)->)
#define COM_FORWARD_IReusableEvent_TO_BASE(base) COM_FORWARD_IReusableEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0116_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0116_v0_0_s_ifspec;

#ifndef __IMachineEvent_INTERFACE_DEFINED__
#define __IMachineEvent_INTERFACE_DEFINED__

/* interface IMachineEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMachineEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("92ed7b1a-0d96-40ed-ae46-a564d484325e")
    IMachineEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MachineId( 
            /* [retval][out] */ BSTR *aMachineId) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMachineEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMachineEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMachineEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMachineEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMachineEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMachineEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMachineEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMachineEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMachineEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IMachineEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IMachineEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IMachineEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IMachineEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            IMachineEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        END_INTERFACE
    } IMachineEventVtbl;

    interface IMachineEvent
    {
        CONST_VTBL struct IMachineEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMachineEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMachineEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMachineEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMachineEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMachineEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMachineEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IMachineEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IMachineEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IMachineEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IMachineEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMachineEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0117 */
/* [local] */ 

#define COM_FORWARD_IMachineEvent_GETTER_MachineId_TO(smth) HRESULT STDMETHODCALLTYPE get_MachineId (BSTR * aMachineId) { return smth get_MachineId (aMachineId); }
#define COM_FORWARD_IMachineEvent_GETTER_MachineId_TO_OBJ(obj) COM_FORWARD_IMachineEvent_GETTER_MachineId_TO ((obj)->)
#define COM_FORWARD_IMachineEvent_GETTER_MachineId_TO_BASE(base) COM_FORWARD_IMachineEvent_GETTER_MachineId_TO (base::)
#define COM_FORWARD_IMachineEvent_TO(smth) COM_FORWARD_IMachineEvent_GETTER_MachineId_TO (smth) 
#define COM_FORWARD_IMachineEvent_TO_OBJ(obj) COM_FORWARD_IMachineEvent_TO ((obj)->)
#define COM_FORWARD_IMachineEvent_TO_BASE(base) COM_FORWARD_IMachineEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0117_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0117_v0_0_s_ifspec;

#ifndef __IMachineStateChangedEvent_INTERFACE_DEFINED__
#define __IMachineStateChangedEvent_INTERFACE_DEFINED__

/* interface IMachineStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMachineStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5748F794-48DF-438D-85EB-98FFD70D18C9")
    IMachineStateChangedEvent : public IMachineEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ MachineState *aState) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMachineStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMachineStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMachineStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMachineStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMachineStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMachineStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMachineStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMachineStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMachineStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IMachineStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IMachineStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IMachineStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IMachineStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            IMachineStateChangedEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(IMachineStateChangedEvent, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IMachineStateChangedEvent * This,
            /* [retval][out] */ MachineState *aState);
        
        END_INTERFACE
    } IMachineStateChangedEventVtbl;

    interface IMachineStateChangedEvent
    {
        CONST_VTBL struct IMachineStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMachineStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMachineStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMachineStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMachineStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMachineStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMachineStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IMachineStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IMachineStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IMachineStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IMachineStateChangedEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define IMachineStateChangedEvent_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMachineStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0118 */
/* [local] */ 

#define COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (MachineState * aState) { return smth get_State (aState); }
#define COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO ((obj)->)
#define COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO (base::)
#define COM_FORWARD_IMachineStateChangedEvent_TO(smth) COM_FORWARD_IMachineStateChangedEvent_GETTER_State_TO (smth) 
#define COM_FORWARD_IMachineStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IMachineStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IMachineStateChangedEvent_TO_BASE(base) COM_FORWARD_IMachineStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0118_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0118_v0_0_s_ifspec;

#ifndef __IExtPackInstalledEvent_INTERFACE_DEFINED__
#define __IExtPackInstalledEvent_INTERFACE_DEFINED__

/* interface IExtPackInstalledEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IExtPackInstalledEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("29059fea-2c99-11ee-be56-0242ac120002")
    IExtPackInstalledEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IExtPackInstalledEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IExtPackInstalledEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IExtPackInstalledEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IExtPackInstalledEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IExtPackInstalledEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IExtPackInstalledEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IExtPackInstalledEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IExtPackInstalledEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IExtPackInstalledEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IExtPackInstalledEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IExtPackInstalledEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IExtPackInstalledEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IExtPackInstalledEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IExtPackInstalledEvent, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IExtPackInstalledEvent * This,
            /* [retval][out] */ BSTR *aName);
        
        END_INTERFACE
    } IExtPackInstalledEventVtbl;

    interface IExtPackInstalledEvent
    {
        CONST_VTBL struct IExtPackInstalledEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IExtPackInstalledEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IExtPackInstalledEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IExtPackInstalledEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IExtPackInstalledEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IExtPackInstalledEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IExtPackInstalledEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IExtPackInstalledEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IExtPackInstalledEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IExtPackInstalledEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IExtPackInstalledEvent_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IExtPackInstalledEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0119 */
/* [local] */ 

#define COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO (base::)
#define COM_FORWARD_IExtPackInstalledEvent_TO(smth) COM_FORWARD_IExtPackInstalledEvent_GETTER_Name_TO (smth) 
#define COM_FORWARD_IExtPackInstalledEvent_TO_OBJ(obj) COM_FORWARD_IExtPackInstalledEvent_TO ((obj)->)
#define COM_FORWARD_IExtPackInstalledEvent_TO_BASE(base) COM_FORWARD_IExtPackInstalledEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0119_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0119_v0_0_s_ifspec;

#ifndef __IExtPackUninstalledEvent_INTERFACE_DEFINED__
#define __IExtPackUninstalledEvent_INTERFACE_DEFINED__

/* interface IExtPackUninstalledEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IExtPackUninstalledEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("31aab263-95ef-48a4-9ce7-eaf0d3ae150f")
    IExtPackUninstalledEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IExtPackUninstalledEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IExtPackUninstalledEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IExtPackUninstalledEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IExtPackUninstalledEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IExtPackUninstalledEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IExtPackUninstalledEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IExtPackUninstalledEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IExtPackUninstalledEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IExtPackUninstalledEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IExtPackUninstalledEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IExtPackUninstalledEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IExtPackUninstalledEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IExtPackUninstalledEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IExtPackUninstalledEvent, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IExtPackUninstalledEvent * This,
            /* [retval][out] */ BSTR *aName);
        
        END_INTERFACE
    } IExtPackUninstalledEventVtbl;

    interface IExtPackUninstalledEvent
    {
        CONST_VTBL struct IExtPackUninstalledEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IExtPackUninstalledEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IExtPackUninstalledEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IExtPackUninstalledEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IExtPackUninstalledEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IExtPackUninstalledEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IExtPackUninstalledEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IExtPackUninstalledEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IExtPackUninstalledEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IExtPackUninstalledEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IExtPackUninstalledEvent_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IExtPackUninstalledEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0120 */
/* [local] */ 

#define COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO (base::)
#define COM_FORWARD_IExtPackUninstalledEvent_TO(smth) COM_FORWARD_IExtPackUninstalledEvent_GETTER_Name_TO (smth) 
#define COM_FORWARD_IExtPackUninstalledEvent_TO_OBJ(obj) COM_FORWARD_IExtPackUninstalledEvent_TO ((obj)->)
#define COM_FORWARD_IExtPackUninstalledEvent_TO_BASE(base) COM_FORWARD_IExtPackUninstalledEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0120_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0120_v0_0_s_ifspec;

#ifndef __IMachineDataChangedEvent_INTERFACE_DEFINED__
#define __IMachineDataChangedEvent_INTERFACE_DEFINED__

/* interface IMachineDataChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMachineDataChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("abe94809-2e88-4436-83d7-50f3e64d0503")
    IMachineDataChangedEvent : public IMachineEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Temporary( 
            /* [retval][out] */ BOOL *aTemporary) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMachineDataChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMachineDataChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMachineDataChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMachineDataChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMachineDataChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMachineDataChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMachineDataChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMachineDataChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMachineDataChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IMachineDataChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IMachineDataChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IMachineDataChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IMachineDataChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            IMachineDataChangedEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(IMachineDataChangedEvent, get_Temporary)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Temporary )( 
            IMachineDataChangedEvent * This,
            /* [retval][out] */ BOOL *aTemporary);
        
        END_INTERFACE
    } IMachineDataChangedEventVtbl;

    interface IMachineDataChangedEvent
    {
        CONST_VTBL struct IMachineDataChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMachineDataChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMachineDataChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMachineDataChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMachineDataChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMachineDataChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMachineDataChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IMachineDataChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IMachineDataChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IMachineDataChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IMachineDataChangedEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define IMachineDataChangedEvent_get_Temporary(This,aTemporary)	\
    ( (This)->lpVtbl -> get_Temporary(This,aTemporary) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMachineDataChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0121 */
/* [local] */ 

#define COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO(smth) HRESULT STDMETHODCALLTYPE get_Temporary (BOOL * aTemporary) { return smth get_Temporary (aTemporary); }
#define COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO_OBJ(obj) COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO ((obj)->)
#define COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO_BASE(base) COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO (base::)
#define COM_FORWARD_IMachineDataChangedEvent_TO(smth) COM_FORWARD_IMachineDataChangedEvent_GETTER_Temporary_TO (smth) 
#define COM_FORWARD_IMachineDataChangedEvent_TO_OBJ(obj) COM_FORWARD_IMachineDataChangedEvent_TO ((obj)->)
#define COM_FORWARD_IMachineDataChangedEvent_TO_BASE(base) COM_FORWARD_IMachineDataChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0121_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0121_v0_0_s_ifspec;

#ifndef __IMediumRegisteredEvent_INTERFACE_DEFINED__
#define __IMediumRegisteredEvent_INTERFACE_DEFINED__

/* interface IMediumRegisteredEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMediumRegisteredEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("53fac49a-b7f1-4a5a-a4ef-a11dd9c2a458")
    IMediumRegisteredEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MediumId( 
            /* [retval][out] */ BSTR *aMediumId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MediumType( 
            /* [retval][out] */ DeviceType *aMediumType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Registered( 
            /* [retval][out] */ BOOL *aRegistered) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMediumRegisteredEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMediumRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMediumRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMediumRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMediumRegisteredEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMediumRegisteredEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMediumRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMediumRegisteredEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMediumRegisteredEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IMediumRegisteredEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IMediumRegisteredEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IMediumRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IMediumRegisteredEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMediumRegisteredEvent, get_MediumId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediumId )( 
            IMediumRegisteredEvent * This,
            /* [retval][out] */ BSTR *aMediumId);
        
        DECLSPEC_XFGVIRT(IMediumRegisteredEvent, get_MediumType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediumType )( 
            IMediumRegisteredEvent * This,
            /* [retval][out] */ DeviceType *aMediumType);
        
        DECLSPEC_XFGVIRT(IMediumRegisteredEvent, get_Registered)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Registered )( 
            IMediumRegisteredEvent * This,
            /* [retval][out] */ BOOL *aRegistered);
        
        END_INTERFACE
    } IMediumRegisteredEventVtbl;

    interface IMediumRegisteredEvent
    {
        CONST_VTBL struct IMediumRegisteredEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMediumRegisteredEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMediumRegisteredEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMediumRegisteredEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMediumRegisteredEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMediumRegisteredEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMediumRegisteredEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IMediumRegisteredEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IMediumRegisteredEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IMediumRegisteredEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IMediumRegisteredEvent_get_MediumId(This,aMediumId)	\
    ( (This)->lpVtbl -> get_MediumId(This,aMediumId) ) 

#define IMediumRegisteredEvent_get_MediumType(This,aMediumType)	\
    ( (This)->lpVtbl -> get_MediumType(This,aMediumType) ) 

#define IMediumRegisteredEvent_get_Registered(This,aRegistered)	\
    ( (This)->lpVtbl -> get_Registered(This,aRegistered) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMediumRegisteredEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0122 */
/* [local] */ 

#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumId_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumId (BSTR * aMediumId) { return smth get_MediumId (aMediumId); }
#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumId_TO_OBJ(obj) COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumId_TO ((obj)->)
#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumId_TO_BASE(base) COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumId_TO (base::)
#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumType_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumType (DeviceType * aMediumType) { return smth get_MediumType (aMediumType); }
#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumType_TO_OBJ(obj) COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumType_TO ((obj)->)
#define COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumType_TO_BASE(base) COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumType_TO (base::)
#define COM_FORWARD_IMediumRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }
#define COM_FORWARD_IMediumRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IMediumRegisteredEvent_GETTER_Registered_TO ((obj)->)
#define COM_FORWARD_IMediumRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IMediumRegisteredEvent_GETTER_Registered_TO (base::)
#define COM_FORWARD_IMediumRegisteredEvent_TO(smth) COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumId_TO (smth) COM_FORWARD_IMediumRegisteredEvent_GETTER_MediumType_TO (smth) COM_FORWARD_IMediumRegisteredEvent_GETTER_Registered_TO (smth) 
#define COM_FORWARD_IMediumRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IMediumRegisteredEvent_TO ((obj)->)
#define COM_FORWARD_IMediumRegisteredEvent_TO_BASE(base) COM_FORWARD_IMediumRegisteredEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0122_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0122_v0_0_s_ifspec;

#ifndef __IMediumConfigChangedEvent_INTERFACE_DEFINED__
#define __IMediumConfigChangedEvent_INTERFACE_DEFINED__

/* interface IMediumConfigChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMediumConfigChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("dd3e2654-a161-41f1-b583-4892f4a9d5d5")
    IMediumConfigChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Medium( 
            /* [retval][out] */ IMedium **aMedium) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMediumConfigChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMediumConfigChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMediumConfigChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMediumConfigChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMediumConfigChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMediumConfigChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMediumConfigChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMediumConfigChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMediumConfigChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IMediumConfigChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IMediumConfigChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IMediumConfigChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IMediumConfigChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMediumConfigChangedEvent, get_Medium)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Medium )( 
            IMediumConfigChangedEvent * This,
            /* [retval][out] */ IMedium **aMedium);
        
        END_INTERFACE
    } IMediumConfigChangedEventVtbl;

    interface IMediumConfigChangedEvent
    {
        CONST_VTBL struct IMediumConfigChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMediumConfigChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMediumConfigChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMediumConfigChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMediumConfigChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMediumConfigChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMediumConfigChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IMediumConfigChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IMediumConfigChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IMediumConfigChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IMediumConfigChangedEvent_get_Medium(This,aMedium)	\
    ( (This)->lpVtbl -> get_Medium(This,aMedium) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMediumConfigChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0123 */
/* [local] */ 

#define COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO(smth) HRESULT STDMETHODCALLTYPE get_Medium (IMedium * * aMedium) { return smth get_Medium (aMedium); }
#define COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO_OBJ(obj) COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO ((obj)->)
#define COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO_BASE(base) COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO (base::)
#define COM_FORWARD_IMediumConfigChangedEvent_TO(smth) COM_FORWARD_IMediumConfigChangedEvent_GETTER_Medium_TO (smth) 
#define COM_FORWARD_IMediumConfigChangedEvent_TO_OBJ(obj) COM_FORWARD_IMediumConfigChangedEvent_TO ((obj)->)
#define COM_FORWARD_IMediumConfigChangedEvent_TO_BASE(base) COM_FORWARD_IMediumConfigChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0123_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0123_v0_0_s_ifspec;

#ifndef __IMachineRegisteredEvent_INTERFACE_DEFINED__
#define __IMachineRegisteredEvent_INTERFACE_DEFINED__

/* interface IMachineRegisteredEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMachineRegisteredEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c354a762-3ff2-4f2e-8f09-07382ee25088")
    IMachineRegisteredEvent : public IMachineEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Registered( 
            /* [retval][out] */ BOOL *aRegistered) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMachineRegisteredEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMachineRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMachineRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMachineRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMachineRegisteredEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMachineRegisteredEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMachineRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMachineRegisteredEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMachineRegisteredEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IMachineRegisteredEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IMachineRegisteredEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IMachineRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IMachineRegisteredEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            IMachineRegisteredEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(IMachineRegisteredEvent, get_Registered)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Registered )( 
            IMachineRegisteredEvent * This,
            /* [retval][out] */ BOOL *aRegistered);
        
        END_INTERFACE
    } IMachineRegisteredEventVtbl;

    interface IMachineRegisteredEvent
    {
        CONST_VTBL struct IMachineRegisteredEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMachineRegisteredEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMachineRegisteredEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMachineRegisteredEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMachineRegisteredEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMachineRegisteredEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMachineRegisteredEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IMachineRegisteredEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IMachineRegisteredEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IMachineRegisteredEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IMachineRegisteredEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define IMachineRegisteredEvent_get_Registered(This,aRegistered)	\
    ( (This)->lpVtbl -> get_Registered(This,aRegistered) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMachineRegisteredEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0124 */
/* [local] */ 

#define COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }
#define COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO ((obj)->)
#define COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO (base::)
#define COM_FORWARD_IMachineRegisteredEvent_TO(smth) COM_FORWARD_IMachineRegisteredEvent_GETTER_Registered_TO (smth) 
#define COM_FORWARD_IMachineRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IMachineRegisteredEvent_TO ((obj)->)
#define COM_FORWARD_IMachineRegisteredEvent_TO_BASE(base) COM_FORWARD_IMachineRegisteredEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0124_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0124_v0_0_s_ifspec;

#ifndef __ISessionStateChangedEvent_INTERFACE_DEFINED__
#define __ISessionStateChangedEvent_INTERFACE_DEFINED__

/* interface ISessionStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISessionStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("714a3eef-799a-4489-86cd-fe8e45b2ff8e")
    ISessionStateChangedEvent : public IMachineEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ SessionState *aState) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISessionStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISessionStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISessionStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISessionStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISessionStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISessionStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISessionStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISessionStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ISessionStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ISessionStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ISessionStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ISessionStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ISessionStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            ISessionStateChangedEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(ISessionStateChangedEvent, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            ISessionStateChangedEvent * This,
            /* [retval][out] */ SessionState *aState);
        
        END_INTERFACE
    } ISessionStateChangedEventVtbl;

    interface ISessionStateChangedEvent
    {
        CONST_VTBL struct ISessionStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISessionStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISessionStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISessionStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISessionStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISessionStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ISessionStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ISessionStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ISessionStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ISessionStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ISessionStateChangedEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define ISessionStateChangedEvent_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISessionStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0125 */
/* [local] */ 

#define COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (SessionState * aState) { return smth get_State (aState); }
#define COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO ((obj)->)
#define COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO (base::)
#define COM_FORWARD_ISessionStateChangedEvent_TO(smth) COM_FORWARD_ISessionStateChangedEvent_GETTER_State_TO (smth) 
#define COM_FORWARD_ISessionStateChangedEvent_TO_OBJ(obj) COM_FORWARD_ISessionStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_ISessionStateChangedEvent_TO_BASE(base) COM_FORWARD_ISessionStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0125_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0125_v0_0_s_ifspec;

#ifndef __IGuestPropertyChangedEvent_INTERFACE_DEFINED__
#define __IGuestPropertyChangedEvent_INTERFACE_DEFINED__

/* interface IGuestPropertyChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestPropertyChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2d0f4c6f-a77e-45c5-96d2-7ca7daae63a9")
    IGuestPropertyChangedEvent : public IMachineEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Flags( 
            /* [retval][out] */ BSTR *aFlags) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FWasDeleted( 
            /* [retval][out] */ BOOL *aFWasDeleted) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestPropertyChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestPropertyChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestPropertyChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestPropertyChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestPropertyChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestPropertyChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestPropertyChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestPropertyChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestPropertyChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestPropertyChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestPropertyChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestPropertyChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestPropertyChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            IGuestPropertyChangedEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(IGuestPropertyChangedEvent, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IGuestPropertyChangedEvent * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IGuestPropertyChangedEvent, get_Value)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            IGuestPropertyChangedEvent * This,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(IGuestPropertyChangedEvent, get_Flags)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Flags )( 
            IGuestPropertyChangedEvent * This,
            /* [retval][out] */ BSTR *aFlags);
        
        DECLSPEC_XFGVIRT(IGuestPropertyChangedEvent, get_FWasDeleted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FWasDeleted )( 
            IGuestPropertyChangedEvent * This,
            /* [retval][out] */ BOOL *aFWasDeleted);
        
        END_INTERFACE
    } IGuestPropertyChangedEventVtbl;

    interface IGuestPropertyChangedEvent
    {
        CONST_VTBL struct IGuestPropertyChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestPropertyChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestPropertyChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestPropertyChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestPropertyChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestPropertyChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestPropertyChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestPropertyChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestPropertyChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestPropertyChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestPropertyChangedEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define IGuestPropertyChangedEvent_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IGuestPropertyChangedEvent_get_Value(This,aValue)	\
    ( (This)->lpVtbl -> get_Value(This,aValue) ) 

#define IGuestPropertyChangedEvent_get_Flags(This,aFlags)	\
    ( (This)->lpVtbl -> get_Flags(This,aFlags) ) 

#define IGuestPropertyChangedEvent_get_FWasDeleted(This,aFWasDeleted)	\
    ( (This)->lpVtbl -> get_FWasDeleted(This,aFWasDeleted) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestPropertyChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0126 */
/* [local] */ 

#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO (base::)
#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO(smth) HRESULT STDMETHODCALLTYPE get_Value (BSTR * aValue) { return smth get_Value (aValue); }
#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO_OBJ(obj) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO ((obj)->)
#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO_BASE(base) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO (base::)
#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_TO(smth) HRESULT STDMETHODCALLTYPE get_Flags (BSTR * aFlags) { return smth get_Flags (aFlags); }
#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_TO_OBJ(obj) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_TO ((obj)->)
#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_TO_BASE(base) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_TO (base::)
#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_FWasDeleted_TO(smth) HRESULT STDMETHODCALLTYPE get_FWasDeleted (BOOL * aFWasDeleted) { return smth get_FWasDeleted (aFWasDeleted); }
#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_FWasDeleted_TO_OBJ(obj) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_FWasDeleted_TO ((obj)->)
#define COM_FORWARD_IGuestPropertyChangedEvent_GETTER_FWasDeleted_TO_BASE(base) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_FWasDeleted_TO (base::)
#define COM_FORWARD_IGuestPropertyChangedEvent_TO(smth) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Name_TO (smth) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Value_TO (smth) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_Flags_TO (smth) COM_FORWARD_IGuestPropertyChangedEvent_GETTER_FWasDeleted_TO (smth) 
#define COM_FORWARD_IGuestPropertyChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestPropertyChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestPropertyChangedEvent_TO_BASE(base) COM_FORWARD_IGuestPropertyChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0126_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0126_v0_0_s_ifspec;

#ifndef __ISnapshotEvent_INTERFACE_DEFINED__
#define __ISnapshotEvent_INTERFACE_DEFINED__

/* interface ISnapshotEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISnapshotEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("21637b0e-34b8-42d3-acfb-7e96daf77c22")
    ISnapshotEvent : public IMachineEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SnapshotId( 
            /* [retval][out] */ BSTR *aSnapshotId) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISnapshotEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISnapshotEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISnapshotEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISnapshotEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISnapshotEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISnapshotEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISnapshotEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISnapshotEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ISnapshotEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ISnapshotEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ISnapshotEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ISnapshotEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ISnapshotEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            ISnapshotEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(ISnapshotEvent, get_SnapshotId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapshotId )( 
            ISnapshotEvent * This,
            /* [retval][out] */ BSTR *aSnapshotId);
        
        END_INTERFACE
    } ISnapshotEventVtbl;

    interface ISnapshotEvent
    {
        CONST_VTBL struct ISnapshotEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISnapshotEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISnapshotEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISnapshotEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISnapshotEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISnapshotEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ISnapshotEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ISnapshotEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ISnapshotEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ISnapshotEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ISnapshotEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define ISnapshotEvent_get_SnapshotId(This,aSnapshotId)	\
    ( (This)->lpVtbl -> get_SnapshotId(This,aSnapshotId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISnapshotEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0127 */
/* [local] */ 

#define COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO(smth) HRESULT STDMETHODCALLTYPE get_SnapshotId (BSTR * aSnapshotId) { return smth get_SnapshotId (aSnapshotId); }
#define COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO_OBJ(obj) COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO ((obj)->)
#define COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO_BASE(base) COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO (base::)
#define COM_FORWARD_ISnapshotEvent_TO(smth) COM_FORWARD_ISnapshotEvent_GETTER_SnapshotId_TO (smth) 
#define COM_FORWARD_ISnapshotEvent_TO_OBJ(obj) COM_FORWARD_ISnapshotEvent_TO ((obj)->)
#define COM_FORWARD_ISnapshotEvent_TO_BASE(base) COM_FORWARD_ISnapshotEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0127_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0127_v0_0_s_ifspec;

#ifndef __ISnapshotTakenEvent_INTERFACE_DEFINED__
#define __ISnapshotTakenEvent_INTERFACE_DEFINED__

/* interface ISnapshotTakenEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISnapshotTakenEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d27c0b3d-6038-422c-b45e-6d4a0503d9f1")
    ISnapshotTakenEvent : public ISnapshotEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISnapshotTakenEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISnapshotTakenEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISnapshotTakenEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISnapshotTakenEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISnapshotTakenEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISnapshotTakenEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISnapshotTakenEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISnapshotTakenEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ISnapshotTakenEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ISnapshotTakenEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ISnapshotTakenEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ISnapshotTakenEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ISnapshotTakenEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            ISnapshotTakenEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(ISnapshotEvent, get_SnapshotId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapshotId )( 
            ISnapshotTakenEvent * This,
            /* [retval][out] */ BSTR *aSnapshotId);
        
        DECLSPEC_XFGVIRT(ISnapshotTakenEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            ISnapshotTakenEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } ISnapshotTakenEventVtbl;

    interface ISnapshotTakenEvent
    {
        CONST_VTBL struct ISnapshotTakenEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISnapshotTakenEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISnapshotTakenEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISnapshotTakenEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISnapshotTakenEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISnapshotTakenEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ISnapshotTakenEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ISnapshotTakenEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ISnapshotTakenEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ISnapshotTakenEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ISnapshotTakenEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define ISnapshotTakenEvent_get_SnapshotId(This,aSnapshotId)	\
    ( (This)->lpVtbl -> get_SnapshotId(This,aSnapshotId) ) 


#define ISnapshotTakenEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISnapshotTakenEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0128 */
/* [local] */ 

#define COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_ISnapshotTakenEvent_TO(smth) COM_FORWARD_ISnapshotTakenEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_ISnapshotTakenEvent_TO_OBJ(obj) COM_FORWARD_ISnapshotTakenEvent_TO ((obj)->)
#define COM_FORWARD_ISnapshotTakenEvent_TO_BASE(base) COM_FORWARD_ISnapshotTakenEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0128_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0128_v0_0_s_ifspec;

#ifndef __ISnapshotDeletedEvent_INTERFACE_DEFINED__
#define __ISnapshotDeletedEvent_INTERFACE_DEFINED__

/* interface ISnapshotDeletedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISnapshotDeletedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c48f3401-4a9e-43f4-b7a7-54bd285e22f4")
    ISnapshotDeletedEvent : public ISnapshotEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISnapshotDeletedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISnapshotDeletedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISnapshotDeletedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISnapshotDeletedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISnapshotDeletedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISnapshotDeletedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISnapshotDeletedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISnapshotDeletedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ISnapshotDeletedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ISnapshotDeletedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ISnapshotDeletedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ISnapshotDeletedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ISnapshotDeletedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            ISnapshotDeletedEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(ISnapshotEvent, get_SnapshotId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapshotId )( 
            ISnapshotDeletedEvent * This,
            /* [retval][out] */ BSTR *aSnapshotId);
        
        DECLSPEC_XFGVIRT(ISnapshotDeletedEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            ISnapshotDeletedEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } ISnapshotDeletedEventVtbl;

    interface ISnapshotDeletedEvent
    {
        CONST_VTBL struct ISnapshotDeletedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISnapshotDeletedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISnapshotDeletedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISnapshotDeletedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISnapshotDeletedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISnapshotDeletedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ISnapshotDeletedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ISnapshotDeletedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ISnapshotDeletedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ISnapshotDeletedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ISnapshotDeletedEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define ISnapshotDeletedEvent_get_SnapshotId(This,aSnapshotId)	\
    ( (This)->lpVtbl -> get_SnapshotId(This,aSnapshotId) ) 


#define ISnapshotDeletedEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISnapshotDeletedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0129 */
/* [local] */ 

#define COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_ISnapshotDeletedEvent_TO(smth) COM_FORWARD_ISnapshotDeletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_ISnapshotDeletedEvent_TO_OBJ(obj) COM_FORWARD_ISnapshotDeletedEvent_TO ((obj)->)
#define COM_FORWARD_ISnapshotDeletedEvent_TO_BASE(base) COM_FORWARD_ISnapshotDeletedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0129_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0129_v0_0_s_ifspec;

#ifndef __ISnapshotRestoredEvent_INTERFACE_DEFINED__
#define __ISnapshotRestoredEvent_INTERFACE_DEFINED__

/* interface ISnapshotRestoredEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISnapshotRestoredEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f4d803b4-9b2d-4377-bfe6-9702e881516b")
    ISnapshotRestoredEvent : public ISnapshotEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISnapshotRestoredEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISnapshotRestoredEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISnapshotRestoredEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISnapshotRestoredEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISnapshotRestoredEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISnapshotRestoredEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISnapshotRestoredEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISnapshotRestoredEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ISnapshotRestoredEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ISnapshotRestoredEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ISnapshotRestoredEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ISnapshotRestoredEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ISnapshotRestoredEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            ISnapshotRestoredEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(ISnapshotEvent, get_SnapshotId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapshotId )( 
            ISnapshotRestoredEvent * This,
            /* [retval][out] */ BSTR *aSnapshotId);
        
        DECLSPEC_XFGVIRT(ISnapshotRestoredEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            ISnapshotRestoredEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } ISnapshotRestoredEventVtbl;

    interface ISnapshotRestoredEvent
    {
        CONST_VTBL struct ISnapshotRestoredEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISnapshotRestoredEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISnapshotRestoredEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISnapshotRestoredEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISnapshotRestoredEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISnapshotRestoredEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ISnapshotRestoredEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ISnapshotRestoredEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ISnapshotRestoredEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ISnapshotRestoredEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ISnapshotRestoredEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define ISnapshotRestoredEvent_get_SnapshotId(This,aSnapshotId)	\
    ( (This)->lpVtbl -> get_SnapshotId(This,aSnapshotId) ) 


#define ISnapshotRestoredEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISnapshotRestoredEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0130 */
/* [local] */ 

#define COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_ISnapshotRestoredEvent_TO(smth) COM_FORWARD_ISnapshotRestoredEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_ISnapshotRestoredEvent_TO_OBJ(obj) COM_FORWARD_ISnapshotRestoredEvent_TO ((obj)->)
#define COM_FORWARD_ISnapshotRestoredEvent_TO_BASE(base) COM_FORWARD_ISnapshotRestoredEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0130_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0130_v0_0_s_ifspec;

#ifndef __ISnapshotChangedEvent_INTERFACE_DEFINED__
#define __ISnapshotChangedEvent_INTERFACE_DEFINED__

/* interface ISnapshotChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISnapshotChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("07541941-8079-447a-a33e-47a69c7980db")
    ISnapshotChangedEvent : public ISnapshotEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISnapshotChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISnapshotChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISnapshotChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISnapshotChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISnapshotChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISnapshotChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISnapshotChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISnapshotChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ISnapshotChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ISnapshotChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ISnapshotChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ISnapshotChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ISnapshotChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            ISnapshotChangedEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(ISnapshotEvent, get_SnapshotId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapshotId )( 
            ISnapshotChangedEvent * This,
            /* [retval][out] */ BSTR *aSnapshotId);
        
        DECLSPEC_XFGVIRT(ISnapshotChangedEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            ISnapshotChangedEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } ISnapshotChangedEventVtbl;

    interface ISnapshotChangedEvent
    {
        CONST_VTBL struct ISnapshotChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISnapshotChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISnapshotChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISnapshotChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISnapshotChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISnapshotChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ISnapshotChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ISnapshotChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ISnapshotChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ISnapshotChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ISnapshotChangedEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define ISnapshotChangedEvent_get_SnapshotId(This,aSnapshotId)	\
    ( (This)->lpVtbl -> get_SnapshotId(This,aSnapshotId) ) 


#define ISnapshotChangedEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISnapshotChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0131 */
/* [local] */ 

#define COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_ISnapshotChangedEvent_TO(smth) COM_FORWARD_ISnapshotChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_ISnapshotChangedEvent_TO_OBJ(obj) COM_FORWARD_ISnapshotChangedEvent_TO ((obj)->)
#define COM_FORWARD_ISnapshotChangedEvent_TO_BASE(base) COM_FORWARD_ISnapshotChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0131_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0131_v0_0_s_ifspec;

#ifndef __IMousePointerShapeChangedEvent_INTERFACE_DEFINED__
#define __IMousePointerShapeChangedEvent_INTERFACE_DEFINED__

/* interface IMousePointerShapeChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMousePointerShapeChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a6dcf6e8-416b-4181-8c4a-45ec95177aef")
    IMousePointerShapeChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ BOOL *aVisible) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Alpha( 
            /* [retval][out] */ BOOL *aAlpha) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Xhot( 
            /* [retval][out] */ ULONG *aXhot) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Yhot( 
            /* [retval][out] */ ULONG *aYhot) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ ULONG *aWidth) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ ULONG *aHeight) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Shape( 
            /* [retval][out] */ SAFEARRAY * *aShape) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMousePointerShapeChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMousePointerShapeChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMousePointerShapeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMousePointerShapeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMousePointerShapeChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMousePointerShapeChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMousePointerShapeChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMousePointerShapeChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMousePointerShapeChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IMousePointerShapeChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IMousePointerShapeChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IMousePointerShapeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IMousePointerShapeChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMousePointerShapeChangedEvent, get_Visible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IMousePointerShapeChangedEvent * This,
            /* [retval][out] */ BOOL *aVisible);
        
        DECLSPEC_XFGVIRT(IMousePointerShapeChangedEvent, get_Alpha)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Alpha )( 
            IMousePointerShapeChangedEvent * This,
            /* [retval][out] */ BOOL *aAlpha);
        
        DECLSPEC_XFGVIRT(IMousePointerShapeChangedEvent, get_Xhot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Xhot )( 
            IMousePointerShapeChangedEvent * This,
            /* [retval][out] */ ULONG *aXhot);
        
        DECLSPEC_XFGVIRT(IMousePointerShapeChangedEvent, get_Yhot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Yhot )( 
            IMousePointerShapeChangedEvent * This,
            /* [retval][out] */ ULONG *aYhot);
        
        DECLSPEC_XFGVIRT(IMousePointerShapeChangedEvent, get_Width)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IMousePointerShapeChangedEvent * This,
            /* [retval][out] */ ULONG *aWidth);
        
        DECLSPEC_XFGVIRT(IMousePointerShapeChangedEvent, get_Height)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IMousePointerShapeChangedEvent * This,
            /* [retval][out] */ ULONG *aHeight);
        
        DECLSPEC_XFGVIRT(IMousePointerShapeChangedEvent, get_Shape)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Shape )( 
            IMousePointerShapeChangedEvent * This,
            /* [retval][out] */ SAFEARRAY * *aShape);
        
        END_INTERFACE
    } IMousePointerShapeChangedEventVtbl;

    interface IMousePointerShapeChangedEvent
    {
        CONST_VTBL struct IMousePointerShapeChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMousePointerShapeChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMousePointerShapeChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMousePointerShapeChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMousePointerShapeChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMousePointerShapeChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMousePointerShapeChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IMousePointerShapeChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IMousePointerShapeChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IMousePointerShapeChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IMousePointerShapeChangedEvent_get_Visible(This,aVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,aVisible) ) 

#define IMousePointerShapeChangedEvent_get_Alpha(This,aAlpha)	\
    ( (This)->lpVtbl -> get_Alpha(This,aAlpha) ) 

#define IMousePointerShapeChangedEvent_get_Xhot(This,aXhot)	\
    ( (This)->lpVtbl -> get_Xhot(This,aXhot) ) 

#define IMousePointerShapeChangedEvent_get_Yhot(This,aYhot)	\
    ( (This)->lpVtbl -> get_Yhot(This,aYhot) ) 

#define IMousePointerShapeChangedEvent_get_Width(This,aWidth)	\
    ( (This)->lpVtbl -> get_Width(This,aWidth) ) 

#define IMousePointerShapeChangedEvent_get_Height(This,aHeight)	\
    ( (This)->lpVtbl -> get_Height(This,aHeight) ) 

#define IMousePointerShapeChangedEvent_get_Shape(This,aShape)	\
    ( (This)->lpVtbl -> get_Shape(This,aShape) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMousePointerShapeChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0132 */
/* [local] */ 

#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Visible_TO(smth) HRESULT STDMETHODCALLTYPE get_Visible (BOOL * aVisible) { return smth get_Visible (aVisible); }
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Visible_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Visible_TO ((obj)->)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Visible_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Visible_TO (base::)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Alpha_TO(smth) HRESULT STDMETHODCALLTYPE get_Alpha (BOOL * aAlpha) { return smth get_Alpha (aAlpha); }
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Alpha_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Alpha_TO ((obj)->)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Alpha_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Alpha_TO (base::)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Xhot_TO(smth) HRESULT STDMETHODCALLTYPE get_Xhot (ULONG * aXhot) { return smth get_Xhot (aXhot); }
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Xhot_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Xhot_TO ((obj)->)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Xhot_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Xhot_TO (base::)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Yhot_TO(smth) HRESULT STDMETHODCALLTYPE get_Yhot (ULONG * aYhot) { return smth get_Yhot (aYhot); }
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Yhot_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Yhot_TO ((obj)->)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Yhot_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Yhot_TO (base::)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Width_TO(smth) HRESULT STDMETHODCALLTYPE get_Width (ULONG * aWidth) { return smth get_Width (aWidth); }
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Width_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Width_TO ((obj)->)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Width_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Width_TO (base::)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Height_TO(smth) HRESULT STDMETHODCALLTYPE get_Height (ULONG * aHeight) { return smth get_Height (aHeight); }
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Height_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Height_TO ((obj)->)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Height_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Height_TO (base::)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Shape_TO(smth) HRESULT STDMETHODCALLTYPE get_Shape (SAFEARRAY * * aShape) { return smth get_Shape (aShape); }
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Shape_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Shape_TO ((obj)->)
#define COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Shape_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Shape_TO (base::)
#define COM_FORWARD_IMousePointerShapeChangedEvent_TO(smth) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Visible_TO (smth) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Alpha_TO (smth) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Xhot_TO (smth) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Yhot_TO (smth) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Width_TO (smth) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Height_TO (smth) COM_FORWARD_IMousePointerShapeChangedEvent_GETTER_Shape_TO (smth) 
#define COM_FORWARD_IMousePointerShapeChangedEvent_TO_OBJ(obj) COM_FORWARD_IMousePointerShapeChangedEvent_TO ((obj)->)
#define COM_FORWARD_IMousePointerShapeChangedEvent_TO_BASE(base) COM_FORWARD_IMousePointerShapeChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0132_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0132_v0_0_s_ifspec;

#ifndef __IMouseCapabilityChangedEvent_INTERFACE_DEFINED__
#define __IMouseCapabilityChangedEvent_INTERFACE_DEFINED__

/* interface IMouseCapabilityChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMouseCapabilityChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4a773393-7a8c-4d57-b228-9ade4049a81f")
    IMouseCapabilityChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportsAbsolute( 
            /* [retval][out] */ BOOL *aSupportsAbsolute) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportsRelative( 
            /* [retval][out] */ BOOL *aSupportsRelative) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportsTouchScreen( 
            /* [retval][out] */ BOOL *aSupportsTouchScreen) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportsTouchPad( 
            /* [retval][out] */ BOOL *aSupportsTouchPad) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NeedsHostCursor( 
            /* [retval][out] */ BOOL *aNeedsHostCursor) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMouseCapabilityChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMouseCapabilityChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMouseCapabilityChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMouseCapabilityChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMouseCapabilityChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMouseCapabilityChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMouseCapabilityChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMouseCapabilityChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMouseCapabilityChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IMouseCapabilityChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IMouseCapabilityChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IMouseCapabilityChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IMouseCapabilityChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMouseCapabilityChangedEvent, get_SupportsAbsolute)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportsAbsolute )( 
            IMouseCapabilityChangedEvent * This,
            /* [retval][out] */ BOOL *aSupportsAbsolute);
        
        DECLSPEC_XFGVIRT(IMouseCapabilityChangedEvent, get_SupportsRelative)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportsRelative )( 
            IMouseCapabilityChangedEvent * This,
            /* [retval][out] */ BOOL *aSupportsRelative);
        
        DECLSPEC_XFGVIRT(IMouseCapabilityChangedEvent, get_SupportsTouchScreen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportsTouchScreen )( 
            IMouseCapabilityChangedEvent * This,
            /* [retval][out] */ BOOL *aSupportsTouchScreen);
        
        DECLSPEC_XFGVIRT(IMouseCapabilityChangedEvent, get_SupportsTouchPad)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportsTouchPad )( 
            IMouseCapabilityChangedEvent * This,
            /* [retval][out] */ BOOL *aSupportsTouchPad);
        
        DECLSPEC_XFGVIRT(IMouseCapabilityChangedEvent, get_NeedsHostCursor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NeedsHostCursor )( 
            IMouseCapabilityChangedEvent * This,
            /* [retval][out] */ BOOL *aNeedsHostCursor);
        
        END_INTERFACE
    } IMouseCapabilityChangedEventVtbl;

    interface IMouseCapabilityChangedEvent
    {
        CONST_VTBL struct IMouseCapabilityChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMouseCapabilityChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMouseCapabilityChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMouseCapabilityChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMouseCapabilityChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMouseCapabilityChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMouseCapabilityChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IMouseCapabilityChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IMouseCapabilityChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IMouseCapabilityChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IMouseCapabilityChangedEvent_get_SupportsAbsolute(This,aSupportsAbsolute)	\
    ( (This)->lpVtbl -> get_SupportsAbsolute(This,aSupportsAbsolute) ) 

#define IMouseCapabilityChangedEvent_get_SupportsRelative(This,aSupportsRelative)	\
    ( (This)->lpVtbl -> get_SupportsRelative(This,aSupportsRelative) ) 

#define IMouseCapabilityChangedEvent_get_SupportsTouchScreen(This,aSupportsTouchScreen)	\
    ( (This)->lpVtbl -> get_SupportsTouchScreen(This,aSupportsTouchScreen) ) 

#define IMouseCapabilityChangedEvent_get_SupportsTouchPad(This,aSupportsTouchPad)	\
    ( (This)->lpVtbl -> get_SupportsTouchPad(This,aSupportsTouchPad) ) 

#define IMouseCapabilityChangedEvent_get_NeedsHostCursor(This,aNeedsHostCursor)	\
    ( (This)->lpVtbl -> get_NeedsHostCursor(This,aNeedsHostCursor) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMouseCapabilityChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0133 */
/* [local] */ 

#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsAbsolute_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportsAbsolute (BOOL * aSupportsAbsolute) { return smth get_SupportsAbsolute (aSupportsAbsolute); }
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsAbsolute_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsAbsolute_TO ((obj)->)
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsAbsolute_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsAbsolute_TO (base::)
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsRelative_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportsRelative (BOOL * aSupportsRelative) { return smth get_SupportsRelative (aSupportsRelative); }
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsRelative_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsRelative_TO ((obj)->)
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsRelative_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsRelative_TO (base::)
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchScreen_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportsTouchScreen (BOOL * aSupportsTouchScreen) { return smth get_SupportsTouchScreen (aSupportsTouchScreen); }
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchScreen_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchScreen_TO ((obj)->)
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchScreen_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchScreen_TO (base::)
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchPad_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportsTouchPad (BOOL * aSupportsTouchPad) { return smth get_SupportsTouchPad (aSupportsTouchPad); }
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchPad_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchPad_TO ((obj)->)
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchPad_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchPad_TO (base::)
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_NeedsHostCursor_TO(smth) HRESULT STDMETHODCALLTYPE get_NeedsHostCursor (BOOL * aNeedsHostCursor) { return smth get_NeedsHostCursor (aNeedsHostCursor); }
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_NeedsHostCursor_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_NeedsHostCursor_TO ((obj)->)
#define COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_NeedsHostCursor_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_NeedsHostCursor_TO (base::)
#define COM_FORWARD_IMouseCapabilityChangedEvent_TO(smth) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsAbsolute_TO (smth) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsRelative_TO (smth) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchScreen_TO (smth) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_SupportsTouchPad_TO (smth) COM_FORWARD_IMouseCapabilityChangedEvent_GETTER_NeedsHostCursor_TO (smth) 
#define COM_FORWARD_IMouseCapabilityChangedEvent_TO_OBJ(obj) COM_FORWARD_IMouseCapabilityChangedEvent_TO ((obj)->)
#define COM_FORWARD_IMouseCapabilityChangedEvent_TO_BASE(base) COM_FORWARD_IMouseCapabilityChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0133_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0133_v0_0_s_ifspec;

#ifndef __IKeyboardLedsChangedEvent_INTERFACE_DEFINED__
#define __IKeyboardLedsChangedEvent_INTERFACE_DEFINED__

/* interface IKeyboardLedsChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IKeyboardLedsChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6DDEF35E-4737-457B-99FC-BC52C851A44F")
    IKeyboardLedsChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NumLock( 
            /* [retval][out] */ BOOL *aNumLock) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CapsLock( 
            /* [retval][out] */ BOOL *aCapsLock) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ScrollLock( 
            /* [retval][out] */ BOOL *aScrollLock) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IKeyboardLedsChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IKeyboardLedsChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IKeyboardLedsChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IKeyboardLedsChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IKeyboardLedsChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IKeyboardLedsChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IKeyboardLedsChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IKeyboardLedsChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IKeyboardLedsChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IKeyboardLedsChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IKeyboardLedsChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IKeyboardLedsChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IKeyboardLedsChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IKeyboardLedsChangedEvent, get_NumLock)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumLock )( 
            IKeyboardLedsChangedEvent * This,
            /* [retval][out] */ BOOL *aNumLock);
        
        DECLSPEC_XFGVIRT(IKeyboardLedsChangedEvent, get_CapsLock)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CapsLock )( 
            IKeyboardLedsChangedEvent * This,
            /* [retval][out] */ BOOL *aCapsLock);
        
        DECLSPEC_XFGVIRT(IKeyboardLedsChangedEvent, get_ScrollLock)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScrollLock )( 
            IKeyboardLedsChangedEvent * This,
            /* [retval][out] */ BOOL *aScrollLock);
        
        END_INTERFACE
    } IKeyboardLedsChangedEventVtbl;

    interface IKeyboardLedsChangedEvent
    {
        CONST_VTBL struct IKeyboardLedsChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IKeyboardLedsChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IKeyboardLedsChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IKeyboardLedsChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IKeyboardLedsChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IKeyboardLedsChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IKeyboardLedsChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IKeyboardLedsChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IKeyboardLedsChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IKeyboardLedsChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IKeyboardLedsChangedEvent_get_NumLock(This,aNumLock)	\
    ( (This)->lpVtbl -> get_NumLock(This,aNumLock) ) 

#define IKeyboardLedsChangedEvent_get_CapsLock(This,aCapsLock)	\
    ( (This)->lpVtbl -> get_CapsLock(This,aCapsLock) ) 

#define IKeyboardLedsChangedEvent_get_ScrollLock(This,aScrollLock)	\
    ( (This)->lpVtbl -> get_ScrollLock(This,aScrollLock) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IKeyboardLedsChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0134 */
/* [local] */ 

#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_NumLock_TO(smth) HRESULT STDMETHODCALLTYPE get_NumLock (BOOL * aNumLock) { return smth get_NumLock (aNumLock); }
#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_NumLock_TO_OBJ(obj) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_NumLock_TO ((obj)->)
#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_NumLock_TO_BASE(base) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_NumLock_TO (base::)
#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_CapsLock_TO(smth) HRESULT STDMETHODCALLTYPE get_CapsLock (BOOL * aCapsLock) { return smth get_CapsLock (aCapsLock); }
#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_CapsLock_TO_OBJ(obj) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_CapsLock_TO ((obj)->)
#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_CapsLock_TO_BASE(base) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_CapsLock_TO (base::)
#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_ScrollLock_TO(smth) HRESULT STDMETHODCALLTYPE get_ScrollLock (BOOL * aScrollLock) { return smth get_ScrollLock (aScrollLock); }
#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_ScrollLock_TO_OBJ(obj) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_ScrollLock_TO ((obj)->)
#define COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_ScrollLock_TO_BASE(base) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_ScrollLock_TO (base::)
#define COM_FORWARD_IKeyboardLedsChangedEvent_TO(smth) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_NumLock_TO (smth) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_CapsLock_TO (smth) COM_FORWARD_IKeyboardLedsChangedEvent_GETTER_ScrollLock_TO (smth) 
#define COM_FORWARD_IKeyboardLedsChangedEvent_TO_OBJ(obj) COM_FORWARD_IKeyboardLedsChangedEvent_TO ((obj)->)
#define COM_FORWARD_IKeyboardLedsChangedEvent_TO_BASE(base) COM_FORWARD_IKeyboardLedsChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0134_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0134_v0_0_s_ifspec;

#ifndef __IStateChangedEvent_INTERFACE_DEFINED__
#define __IStateChangedEvent_INTERFACE_DEFINED__

/* interface IStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4376693C-CF37-453B-9289-3B0F521CAF27")
    IStateChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ MachineState *aState) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IStateChangedEvent, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IStateChangedEvent * This,
            /* [retval][out] */ MachineState *aState);
        
        END_INTERFACE
    } IStateChangedEventVtbl;

    interface IStateChangedEvent
    {
        CONST_VTBL struct IStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IStateChangedEvent_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0135 */
/* [local] */ 

#define COM_FORWARD_IStateChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (MachineState * aState) { return smth get_State (aState); }
#define COM_FORWARD_IStateChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IStateChangedEvent_GETTER_State_TO ((obj)->)
#define COM_FORWARD_IStateChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_IStateChangedEvent_GETTER_State_TO (base::)
#define COM_FORWARD_IStateChangedEvent_TO(smth) COM_FORWARD_IStateChangedEvent_GETTER_State_TO (smth) 
#define COM_FORWARD_IStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IStateChangedEvent_TO_BASE(base) COM_FORWARD_IStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0135_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0135_v0_0_s_ifspec;

#ifndef __IAdditionsStateChangedEvent_INTERFACE_DEFINED__
#define __IAdditionsStateChangedEvent_INTERFACE_DEFINED__

/* interface IAdditionsStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IAdditionsStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D70F7915-DA7C-44C8-A7AC-9F173490446A")
    IAdditionsStateChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAdditionsStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAdditionsStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAdditionsStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAdditionsStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAdditionsStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAdditionsStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAdditionsStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAdditionsStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IAdditionsStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IAdditionsStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IAdditionsStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IAdditionsStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IAdditionsStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IAdditionsStateChangedEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IAdditionsStateChangedEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IAdditionsStateChangedEventVtbl;

    interface IAdditionsStateChangedEvent
    {
        CONST_VTBL struct IAdditionsStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAdditionsStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAdditionsStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAdditionsStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAdditionsStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAdditionsStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IAdditionsStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IAdditionsStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IAdditionsStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IAdditionsStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IAdditionsStateChangedEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAdditionsStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0136 */
/* [local] */ 

#define COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IAdditionsStateChangedEvent_TO(smth) COM_FORWARD_IAdditionsStateChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IAdditionsStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IAdditionsStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IAdditionsStateChangedEvent_TO_BASE(base) COM_FORWARD_IAdditionsStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0136_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0136_v0_0_s_ifspec;

#ifndef __INetworkAdapterChangedEvent_INTERFACE_DEFINED__
#define __INetworkAdapterChangedEvent_INTERFACE_DEFINED__

/* interface INetworkAdapterChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INetworkAdapterChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("08889892-1EC6-4883-801D-77F56CFD0103")
    INetworkAdapterChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkAdapter( 
            /* [retval][out] */ INetworkAdapter **aNetworkAdapter) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INetworkAdapterChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INetworkAdapterChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INetworkAdapterChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INetworkAdapterChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INetworkAdapterChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INetworkAdapterChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INetworkAdapterChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INetworkAdapterChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            INetworkAdapterChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            INetworkAdapterChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            INetworkAdapterChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            INetworkAdapterChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            INetworkAdapterChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(INetworkAdapterChangedEvent, get_NetworkAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkAdapter )( 
            INetworkAdapterChangedEvent * This,
            /* [retval][out] */ INetworkAdapter **aNetworkAdapter);
        
        END_INTERFACE
    } INetworkAdapterChangedEventVtbl;

    interface INetworkAdapterChangedEvent
    {
        CONST_VTBL struct INetworkAdapterChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INetworkAdapterChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INetworkAdapterChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INetworkAdapterChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INetworkAdapterChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INetworkAdapterChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define INetworkAdapterChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define INetworkAdapterChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define INetworkAdapterChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define INetworkAdapterChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define INetworkAdapterChangedEvent_get_NetworkAdapter(This,aNetworkAdapter)	\
    ( (This)->lpVtbl -> get_NetworkAdapter(This,aNetworkAdapter) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INetworkAdapterChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0137 */
/* [local] */ 

#define COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkAdapter (INetworkAdapter * * aNetworkAdapter) { return smth get_NetworkAdapter (aNetworkAdapter); }
#define COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO_OBJ(obj) COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO ((obj)->)
#define COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO_BASE(base) COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO (base::)
#define COM_FORWARD_INetworkAdapterChangedEvent_TO(smth) COM_FORWARD_INetworkAdapterChangedEvent_GETTER_NetworkAdapter_TO (smth) 
#define COM_FORWARD_INetworkAdapterChangedEvent_TO_OBJ(obj) COM_FORWARD_INetworkAdapterChangedEvent_TO ((obj)->)
#define COM_FORWARD_INetworkAdapterChangedEvent_TO_BASE(base) COM_FORWARD_INetworkAdapterChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0137_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0137_v0_0_s_ifspec;

#ifndef __IAudioAdapterChangedEvent_INTERFACE_DEFINED__
#define __IAudioAdapterChangedEvent_INTERFACE_DEFINED__

/* interface IAudioAdapterChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IAudioAdapterChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D5ABC823-04D0-4DB6-8D66-DC2F033120E1")
    IAudioAdapterChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioAdapter( 
            /* [retval][out] */ IAudioAdapter **aAudioAdapter) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAudioAdapterChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAudioAdapterChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAudioAdapterChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAudioAdapterChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAudioAdapterChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAudioAdapterChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAudioAdapterChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAudioAdapterChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IAudioAdapterChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IAudioAdapterChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IAudioAdapterChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IAudioAdapterChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IAudioAdapterChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IAudioAdapterChangedEvent, get_AudioAdapter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioAdapter )( 
            IAudioAdapterChangedEvent * This,
            /* [retval][out] */ IAudioAdapter **aAudioAdapter);
        
        END_INTERFACE
    } IAudioAdapterChangedEventVtbl;

    interface IAudioAdapterChangedEvent
    {
        CONST_VTBL struct IAudioAdapterChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAudioAdapterChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAudioAdapterChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAudioAdapterChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAudioAdapterChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAudioAdapterChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IAudioAdapterChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IAudioAdapterChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IAudioAdapterChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IAudioAdapterChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IAudioAdapterChangedEvent_get_AudioAdapter(This,aAudioAdapter)	\
    ( (This)->lpVtbl -> get_AudioAdapter(This,aAudioAdapter) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAudioAdapterChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0138 */
/* [local] */ 

#define COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO(smth) HRESULT STDMETHODCALLTYPE get_AudioAdapter (IAudioAdapter * * aAudioAdapter) { return smth get_AudioAdapter (aAudioAdapter); }
#define COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO_OBJ(obj) COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO ((obj)->)
#define COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO_BASE(base) COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO (base::)
#define COM_FORWARD_IAudioAdapterChangedEvent_TO(smth) COM_FORWARD_IAudioAdapterChangedEvent_GETTER_AudioAdapter_TO (smth) 
#define COM_FORWARD_IAudioAdapterChangedEvent_TO_OBJ(obj) COM_FORWARD_IAudioAdapterChangedEvent_TO ((obj)->)
#define COM_FORWARD_IAudioAdapterChangedEvent_TO_BASE(base) COM_FORWARD_IAudioAdapterChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0138_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0138_v0_0_s_ifspec;

#ifndef __ISerialPortChangedEvent_INTERFACE_DEFINED__
#define __ISerialPortChangedEvent_INTERFACE_DEFINED__

/* interface ISerialPortChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISerialPortChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3BA329DC-659C-488B-835C-4ECA7AE71C6C")
    ISerialPortChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SerialPort( 
            /* [retval][out] */ ISerialPort **aSerialPort) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISerialPortChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISerialPortChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISerialPortChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISerialPortChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISerialPortChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISerialPortChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISerialPortChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISerialPortChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ISerialPortChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ISerialPortChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ISerialPortChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ISerialPortChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ISerialPortChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ISerialPortChangedEvent, get_SerialPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialPort )( 
            ISerialPortChangedEvent * This,
            /* [retval][out] */ ISerialPort **aSerialPort);
        
        END_INTERFACE
    } ISerialPortChangedEventVtbl;

    interface ISerialPortChangedEvent
    {
        CONST_VTBL struct ISerialPortChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISerialPortChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISerialPortChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISerialPortChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISerialPortChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISerialPortChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ISerialPortChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ISerialPortChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ISerialPortChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ISerialPortChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ISerialPortChangedEvent_get_SerialPort(This,aSerialPort)	\
    ( (This)->lpVtbl -> get_SerialPort(This,aSerialPort) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISerialPortChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0139 */
/* [local] */ 

#define COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialPort (ISerialPort * * aSerialPort) { return smth get_SerialPort (aSerialPort); }
#define COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO_OBJ(obj) COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO ((obj)->)
#define COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO_BASE(base) COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO (base::)
#define COM_FORWARD_ISerialPortChangedEvent_TO(smth) COM_FORWARD_ISerialPortChangedEvent_GETTER_SerialPort_TO (smth) 
#define COM_FORWARD_ISerialPortChangedEvent_TO_OBJ(obj) COM_FORWARD_ISerialPortChangedEvent_TO ((obj)->)
#define COM_FORWARD_ISerialPortChangedEvent_TO_BASE(base) COM_FORWARD_ISerialPortChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0139_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0139_v0_0_s_ifspec;

#ifndef __IParallelPortChangedEvent_INTERFACE_DEFINED__
#define __IParallelPortChangedEvent_INTERFACE_DEFINED__

/* interface IParallelPortChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IParallelPortChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("813C99FC-9849-4F47-813E-24A75DC85615")
    IParallelPortChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ParallelPort( 
            /* [retval][out] */ IParallelPort **aParallelPort) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IParallelPortChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IParallelPortChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IParallelPortChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IParallelPortChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IParallelPortChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IParallelPortChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IParallelPortChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IParallelPortChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IParallelPortChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IParallelPortChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IParallelPortChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IParallelPortChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IParallelPortChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IParallelPortChangedEvent, get_ParallelPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParallelPort )( 
            IParallelPortChangedEvent * This,
            /* [retval][out] */ IParallelPort **aParallelPort);
        
        END_INTERFACE
    } IParallelPortChangedEventVtbl;

    interface IParallelPortChangedEvent
    {
        CONST_VTBL struct IParallelPortChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IParallelPortChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IParallelPortChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IParallelPortChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IParallelPortChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IParallelPortChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IParallelPortChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IParallelPortChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IParallelPortChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IParallelPortChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IParallelPortChangedEvent_get_ParallelPort(This,aParallelPort)	\
    ( (This)->lpVtbl -> get_ParallelPort(This,aParallelPort) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IParallelPortChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0140 */
/* [local] */ 

#define COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO(smth) HRESULT STDMETHODCALLTYPE get_ParallelPort (IParallelPort * * aParallelPort) { return smth get_ParallelPort (aParallelPort); }
#define COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO_OBJ(obj) COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO ((obj)->)
#define COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO_BASE(base) COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO (base::)
#define COM_FORWARD_IParallelPortChangedEvent_TO(smth) COM_FORWARD_IParallelPortChangedEvent_GETTER_ParallelPort_TO (smth) 
#define COM_FORWARD_IParallelPortChangedEvent_TO_OBJ(obj) COM_FORWARD_IParallelPortChangedEvent_TO ((obj)->)
#define COM_FORWARD_IParallelPortChangedEvent_TO_BASE(base) COM_FORWARD_IParallelPortChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0140_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0140_v0_0_s_ifspec;

#ifndef __IStorageControllerChangedEvent_INTERFACE_DEFINED__
#define __IStorageControllerChangedEvent_INTERFACE_DEFINED__

/* interface IStorageControllerChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IStorageControllerChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6BB335CC-1C58-440C-BB7B-3A1397284C7B")
    IStorageControllerChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MachinId( 
            /* [retval][out] */ BSTR *aMachinId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ControllerName( 
            /* [retval][out] */ BSTR *aControllerName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IStorageControllerChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IStorageControllerChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IStorageControllerChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IStorageControllerChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IStorageControllerChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IStorageControllerChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IStorageControllerChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IStorageControllerChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IStorageControllerChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IStorageControllerChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IStorageControllerChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IStorageControllerChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IStorageControllerChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IStorageControllerChangedEvent, get_MachinId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachinId )( 
            IStorageControllerChangedEvent * This,
            /* [retval][out] */ BSTR *aMachinId);
        
        DECLSPEC_XFGVIRT(IStorageControllerChangedEvent, get_ControllerName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ControllerName )( 
            IStorageControllerChangedEvent * This,
            /* [retval][out] */ BSTR *aControllerName);
        
        END_INTERFACE
    } IStorageControllerChangedEventVtbl;

    interface IStorageControllerChangedEvent
    {
        CONST_VTBL struct IStorageControllerChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IStorageControllerChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IStorageControllerChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IStorageControllerChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IStorageControllerChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IStorageControllerChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IStorageControllerChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IStorageControllerChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IStorageControllerChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IStorageControllerChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IStorageControllerChangedEvent_get_MachinId(This,aMachinId)	\
    ( (This)->lpVtbl -> get_MachinId(This,aMachinId) ) 

#define IStorageControllerChangedEvent_get_ControllerName(This,aControllerName)	\
    ( (This)->lpVtbl -> get_ControllerName(This,aControllerName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IStorageControllerChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0141 */
/* [local] */ 

#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO(smth) HRESULT STDMETHODCALLTYPE get_MachinId (BSTR * aMachinId) { return smth get_MachinId (aMachinId); }
#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO_OBJ(obj) COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO ((obj)->)
#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO_BASE(base) COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO (base::)
#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO(smth) HRESULT STDMETHODCALLTYPE get_ControllerName (BSTR * aControllerName) { return smth get_ControllerName (aControllerName); }
#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO_OBJ(obj) COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO ((obj)->)
#define COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO_BASE(base) COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO (base::)
#define COM_FORWARD_IStorageControllerChangedEvent_TO(smth) COM_FORWARD_IStorageControllerChangedEvent_GETTER_MachinId_TO (smth) COM_FORWARD_IStorageControllerChangedEvent_GETTER_ControllerName_TO (smth) 
#define COM_FORWARD_IStorageControllerChangedEvent_TO_OBJ(obj) COM_FORWARD_IStorageControllerChangedEvent_TO ((obj)->)
#define COM_FORWARD_IStorageControllerChangedEvent_TO_BASE(base) COM_FORWARD_IStorageControllerChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0141_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0141_v0_0_s_ifspec;

#ifndef __IMediumChangedEvent_INTERFACE_DEFINED__
#define __IMediumChangedEvent_INTERFACE_DEFINED__

/* interface IMediumChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMediumChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0FE2DA40-5637-472A-9736-72019EABD7DE")
    IMediumChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MediumAttachment( 
            /* [retval][out] */ IMediumAttachment **aMediumAttachment) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMediumChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMediumChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMediumChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMediumChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMediumChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMediumChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMediumChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMediumChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMediumChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IMediumChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IMediumChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IMediumChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IMediumChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMediumChangedEvent, get_MediumAttachment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediumAttachment )( 
            IMediumChangedEvent * This,
            /* [retval][out] */ IMediumAttachment **aMediumAttachment);
        
        END_INTERFACE
    } IMediumChangedEventVtbl;

    interface IMediumChangedEvent
    {
        CONST_VTBL struct IMediumChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMediumChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMediumChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMediumChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMediumChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMediumChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMediumChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IMediumChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IMediumChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IMediumChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IMediumChangedEvent_get_MediumAttachment(This,aMediumAttachment)	\
    ( (This)->lpVtbl -> get_MediumAttachment(This,aMediumAttachment) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMediumChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0142 */
/* [local] */ 

#define COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO(smth) HRESULT STDMETHODCALLTYPE get_MediumAttachment (IMediumAttachment * * aMediumAttachment) { return smth get_MediumAttachment (aMediumAttachment); }
#define COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO_OBJ(obj) COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO ((obj)->)
#define COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO_BASE(base) COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO (base::)
#define COM_FORWARD_IMediumChangedEvent_TO(smth) COM_FORWARD_IMediumChangedEvent_GETTER_MediumAttachment_TO (smth) 
#define COM_FORWARD_IMediumChangedEvent_TO_OBJ(obj) COM_FORWARD_IMediumChangedEvent_TO ((obj)->)
#define COM_FORWARD_IMediumChangedEvent_TO_BASE(base) COM_FORWARD_IMediumChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0142_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0142_v0_0_s_ifspec;

#ifndef __IClipboardModeChangedEvent_INTERFACE_DEFINED__
#define __IClipboardModeChangedEvent_INTERFACE_DEFINED__

/* interface IClipboardModeChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IClipboardModeChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cac21692-7997-4595-a731-3a509db604e5")
    IClipboardModeChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClipboardMode( 
            /* [retval][out] */ ClipboardMode *aClipboardMode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IClipboardModeChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IClipboardModeChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IClipboardModeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IClipboardModeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IClipboardModeChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IClipboardModeChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IClipboardModeChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IClipboardModeChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IClipboardModeChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IClipboardModeChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IClipboardModeChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IClipboardModeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IClipboardModeChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IClipboardModeChangedEvent, get_ClipboardMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClipboardMode )( 
            IClipboardModeChangedEvent * This,
            /* [retval][out] */ ClipboardMode *aClipboardMode);
        
        END_INTERFACE
    } IClipboardModeChangedEventVtbl;

    interface IClipboardModeChangedEvent
    {
        CONST_VTBL struct IClipboardModeChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IClipboardModeChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IClipboardModeChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IClipboardModeChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IClipboardModeChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IClipboardModeChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IClipboardModeChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IClipboardModeChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IClipboardModeChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IClipboardModeChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IClipboardModeChangedEvent_get_ClipboardMode(This,aClipboardMode)	\
    ( (This)->lpVtbl -> get_ClipboardMode(This,aClipboardMode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IClipboardModeChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0143 */
/* [local] */ 

#define COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO(smth) HRESULT STDMETHODCALLTYPE get_ClipboardMode (ClipboardMode * aClipboardMode) { return smth get_ClipboardMode (aClipboardMode); }
#define COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO_OBJ(obj) COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO ((obj)->)
#define COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO_BASE(base) COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO (base::)
#define COM_FORWARD_IClipboardModeChangedEvent_TO(smth) COM_FORWARD_IClipboardModeChangedEvent_GETTER_ClipboardMode_TO (smth) 
#define COM_FORWARD_IClipboardModeChangedEvent_TO_OBJ(obj) COM_FORWARD_IClipboardModeChangedEvent_TO ((obj)->)
#define COM_FORWARD_IClipboardModeChangedEvent_TO_BASE(base) COM_FORWARD_IClipboardModeChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0143_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0143_v0_0_s_ifspec;

#ifndef __IClipboardFileTransferModeChangedEvent_INTERFACE_DEFINED__
#define __IClipboardFileTransferModeChangedEvent_INTERFACE_DEFINED__

/* interface IClipboardFileTransferModeChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IClipboardFileTransferModeChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("00391758-00B1-4E9D-0000-11FA00F9D583")
    IClipboardFileTransferModeChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IClipboardFileTransferModeChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IClipboardFileTransferModeChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IClipboardFileTransferModeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IClipboardFileTransferModeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IClipboardFileTransferModeChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IClipboardFileTransferModeChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IClipboardFileTransferModeChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IClipboardFileTransferModeChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IClipboardFileTransferModeChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IClipboardFileTransferModeChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IClipboardFileTransferModeChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IClipboardFileTransferModeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IClipboardFileTransferModeChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IClipboardFileTransferModeChangedEvent, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IClipboardFileTransferModeChangedEvent * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        END_INTERFACE
    } IClipboardFileTransferModeChangedEventVtbl;

    interface IClipboardFileTransferModeChangedEvent
    {
        CONST_VTBL struct IClipboardFileTransferModeChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IClipboardFileTransferModeChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IClipboardFileTransferModeChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IClipboardFileTransferModeChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IClipboardFileTransferModeChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IClipboardFileTransferModeChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IClipboardFileTransferModeChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IClipboardFileTransferModeChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IClipboardFileTransferModeChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IClipboardFileTransferModeChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IClipboardFileTransferModeChangedEvent_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IClipboardFileTransferModeChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0144 */
/* [local] */ 

#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO (base::)
#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_TO(smth) COM_FORWARD_IClipboardFileTransferModeChangedEvent_GETTER_Enabled_TO (smth) 
#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_TO_OBJ(obj) COM_FORWARD_IClipboardFileTransferModeChangedEvent_TO ((obj)->)
#define COM_FORWARD_IClipboardFileTransferModeChangedEvent_TO_BASE(base) COM_FORWARD_IClipboardFileTransferModeChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0144_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0144_v0_0_s_ifspec;

#ifndef __IClipboardEvent_INTERFACE_DEFINED__
#define __IClipboardEvent_INTERFACE_DEFINED__

/* interface IClipboardEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IClipboardEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f22dd3b4-e4d0-437a-bfdf-0372896ba162")
    IClipboardEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IClipboardEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IClipboardEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IClipboardEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IClipboardEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IClipboardEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IClipboardEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IClipboardEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IClipboardEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IClipboardEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IClipboardEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IClipboardEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IClipboardEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IClipboardEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IClipboardEvent, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IClipboardEvent * This,
            /* [retval][out] */ BSTR *aId);
        
        END_INTERFACE
    } IClipboardEventVtbl;

    interface IClipboardEvent
    {
        CONST_VTBL struct IClipboardEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IClipboardEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IClipboardEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IClipboardEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IClipboardEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IClipboardEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IClipboardEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IClipboardEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IClipboardEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IClipboardEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IClipboardEvent_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IClipboardEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0145 */
/* [local] */ 

#define COM_FORWARD_IClipboardEvent_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IClipboardEvent_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IClipboardEvent_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IClipboardEvent_GETTER_Id_TO_BASE(base) COM_FORWARD_IClipboardEvent_GETTER_Id_TO (base::)
#define COM_FORWARD_IClipboardEvent_TO(smth) COM_FORWARD_IClipboardEvent_GETTER_Id_TO (smth) 
#define COM_FORWARD_IClipboardEvent_TO_OBJ(obj) COM_FORWARD_IClipboardEvent_TO ((obj)->)
#define COM_FORWARD_IClipboardEvent_TO_BASE(base) COM_FORWARD_IClipboardEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0145_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0145_v0_0_s_ifspec;

#ifndef __IClipboardErrorEvent_INTERFACE_DEFINED__
#define __IClipboardErrorEvent_INTERFACE_DEFINED__

/* interface IClipboardErrorEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IClipboardErrorEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9e5f6f25-beda-46ad-8ddb-23c0268ac345")
    IClipboardErrorEvent : public IClipboardEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Msg( 
            /* [retval][out] */ BSTR *aMsg) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RcError( 
            /* [retval][out] */ LONG *aRcError) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IClipboardErrorEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IClipboardErrorEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IClipboardErrorEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IClipboardErrorEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IClipboardErrorEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IClipboardErrorEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IClipboardErrorEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IClipboardErrorEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IClipboardErrorEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IClipboardErrorEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IClipboardErrorEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IClipboardErrorEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IClipboardErrorEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IClipboardEvent, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IClipboardErrorEvent * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IClipboardErrorEvent, get_Msg)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Msg )( 
            IClipboardErrorEvent * This,
            /* [retval][out] */ BSTR *aMsg);
        
        DECLSPEC_XFGVIRT(IClipboardErrorEvent, get_RcError)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RcError )( 
            IClipboardErrorEvent * This,
            /* [retval][out] */ LONG *aRcError);
        
        END_INTERFACE
    } IClipboardErrorEventVtbl;

    interface IClipboardErrorEvent
    {
        CONST_VTBL struct IClipboardErrorEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IClipboardErrorEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IClipboardErrorEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IClipboardErrorEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IClipboardErrorEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IClipboardErrorEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IClipboardErrorEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IClipboardErrorEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IClipboardErrorEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IClipboardErrorEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IClipboardErrorEvent_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 


#define IClipboardErrorEvent_get_Msg(This,aMsg)	\
    ( (This)->lpVtbl -> get_Msg(This,aMsg) ) 

#define IClipboardErrorEvent_get_RcError(This,aRcError)	\
    ( (This)->lpVtbl -> get_RcError(This,aRcError) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IClipboardErrorEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0146 */
/* [local] */ 

#define COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO(smth) HRESULT STDMETHODCALLTYPE get_Msg (BSTR * aMsg) { return smth get_Msg (aMsg); }
#define COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO_OBJ(obj) COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO ((obj)->)
#define COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO_BASE(base) COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO (base::)
#define COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO(smth) HRESULT STDMETHODCALLTYPE get_RcError (LONG * aRcError) { return smth get_RcError (aRcError); }
#define COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO_OBJ(obj) COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO ((obj)->)
#define COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO_BASE(base) COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO (base::)
#define COM_FORWARD_IClipboardErrorEvent_TO(smth) COM_FORWARD_IClipboardErrorEvent_GETTER_Msg_TO (smth) COM_FORWARD_IClipboardErrorEvent_GETTER_RcError_TO (smth) 
#define COM_FORWARD_IClipboardErrorEvent_TO_OBJ(obj) COM_FORWARD_IClipboardErrorEvent_TO ((obj)->)
#define COM_FORWARD_IClipboardErrorEvent_TO_BASE(base) COM_FORWARD_IClipboardErrorEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0146_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0146_v0_0_s_ifspec;

#ifndef __IDnDModeChangedEvent_INTERFACE_DEFINED__
#define __IDnDModeChangedEvent_INTERFACE_DEFINED__

/* interface IDnDModeChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IDnDModeChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b55cf856-1f8b-4692-abb4-462429fae5e9")
    IDnDModeChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DndMode( 
            /* [retval][out] */ DnDMode *aDndMode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDnDModeChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDnDModeChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDnDModeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDnDModeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDnDModeChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDnDModeChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDnDModeChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDnDModeChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IDnDModeChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IDnDModeChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IDnDModeChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IDnDModeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IDnDModeChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IDnDModeChangedEvent, get_DndMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DndMode )( 
            IDnDModeChangedEvent * This,
            /* [retval][out] */ DnDMode *aDndMode);
        
        END_INTERFACE
    } IDnDModeChangedEventVtbl;

    interface IDnDModeChangedEvent
    {
        CONST_VTBL struct IDnDModeChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDnDModeChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IDnDModeChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IDnDModeChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IDnDModeChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IDnDModeChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IDnDModeChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IDnDModeChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IDnDModeChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IDnDModeChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IDnDModeChangedEvent_get_DndMode(This,aDndMode)	\
    ( (This)->lpVtbl -> get_DndMode(This,aDndMode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDnDModeChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0147 */
/* [local] */ 

#define COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO(smth) HRESULT STDMETHODCALLTYPE get_DndMode (DnDMode * aDndMode) { return smth get_DndMode (aDndMode); }
#define COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO_OBJ(obj) COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO ((obj)->)
#define COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO_BASE(base) COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO (base::)
#define COM_FORWARD_IDnDModeChangedEvent_TO(smth) COM_FORWARD_IDnDModeChangedEvent_GETTER_DndMode_TO (smth) 
#define COM_FORWARD_IDnDModeChangedEvent_TO_OBJ(obj) COM_FORWARD_IDnDModeChangedEvent_TO ((obj)->)
#define COM_FORWARD_IDnDModeChangedEvent_TO_BASE(base) COM_FORWARD_IDnDModeChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0147_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0147_v0_0_s_ifspec;

#ifndef __ICPUChangedEvent_INTERFACE_DEFINED__
#define __ICPUChangedEvent_INTERFACE_DEFINED__

/* interface ICPUChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICPUChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4da2dec7-71b2-4817-9a64-4ed12c17388e")
    ICPUChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CPU( 
            /* [retval][out] */ ULONG *aCPU) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Add( 
            /* [retval][out] */ BOOL *aAdd) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICPUChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICPUChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICPUChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICPUChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICPUChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICPUChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICPUChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICPUChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICPUChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICPUChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ICPUChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ICPUChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ICPUChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ICPUChangedEvent, get_CPU)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CPU )( 
            ICPUChangedEvent * This,
            /* [retval][out] */ ULONG *aCPU);
        
        DECLSPEC_XFGVIRT(ICPUChangedEvent, get_Add)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Add )( 
            ICPUChangedEvent * This,
            /* [retval][out] */ BOOL *aAdd);
        
        END_INTERFACE
    } ICPUChangedEventVtbl;

    interface ICPUChangedEvent
    {
        CONST_VTBL struct ICPUChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICPUChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICPUChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICPUChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICPUChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICPUChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ICPUChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ICPUChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ICPUChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ICPUChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ICPUChangedEvent_get_CPU(This,aCPU)	\
    ( (This)->lpVtbl -> get_CPU(This,aCPU) ) 

#define ICPUChangedEvent_get_Add(This,aAdd)	\
    ( (This)->lpVtbl -> get_Add(This,aAdd) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICPUChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0148 */
/* [local] */ 

#define COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO(smth) HRESULT STDMETHODCALLTYPE get_CPU (ULONG * aCPU) { return smth get_CPU (aCPU); }
#define COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO_OBJ(obj) COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO ((obj)->)
#define COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO_BASE(base) COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO (base::)
#define COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO(smth) HRESULT STDMETHODCALLTYPE get_Add (BOOL * aAdd) { return smth get_Add (aAdd); }
#define COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO_OBJ(obj) COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO ((obj)->)
#define COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO_BASE(base) COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO (base::)
#define COM_FORWARD_ICPUChangedEvent_TO(smth) COM_FORWARD_ICPUChangedEvent_GETTER_CPU_TO (smth) COM_FORWARD_ICPUChangedEvent_GETTER_Add_TO (smth) 
#define COM_FORWARD_ICPUChangedEvent_TO_OBJ(obj) COM_FORWARD_ICPUChangedEvent_TO ((obj)->)
#define COM_FORWARD_ICPUChangedEvent_TO_BASE(base) COM_FORWARD_ICPUChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0148_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0148_v0_0_s_ifspec;

#ifndef __ICPUExecutionCapChangedEvent_INTERFACE_DEFINED__
#define __ICPUExecutionCapChangedEvent_INTERFACE_DEFINED__

/* interface ICPUExecutionCapChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICPUExecutionCapChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("dfa7e4f5-b4a4-44ce-85a8-127ac5eb59dc")
    ICPUExecutionCapChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExecutionCap( 
            /* [retval][out] */ ULONG *aExecutionCap) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICPUExecutionCapChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICPUExecutionCapChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICPUExecutionCapChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICPUExecutionCapChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICPUExecutionCapChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICPUExecutionCapChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICPUExecutionCapChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICPUExecutionCapChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICPUExecutionCapChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICPUExecutionCapChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ICPUExecutionCapChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ICPUExecutionCapChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ICPUExecutionCapChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ICPUExecutionCapChangedEvent, get_ExecutionCap)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExecutionCap )( 
            ICPUExecutionCapChangedEvent * This,
            /* [retval][out] */ ULONG *aExecutionCap);
        
        END_INTERFACE
    } ICPUExecutionCapChangedEventVtbl;

    interface ICPUExecutionCapChangedEvent
    {
        CONST_VTBL struct ICPUExecutionCapChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICPUExecutionCapChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICPUExecutionCapChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICPUExecutionCapChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICPUExecutionCapChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICPUExecutionCapChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ICPUExecutionCapChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ICPUExecutionCapChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ICPUExecutionCapChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ICPUExecutionCapChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ICPUExecutionCapChangedEvent_get_ExecutionCap(This,aExecutionCap)	\
    ( (This)->lpVtbl -> get_ExecutionCap(This,aExecutionCap) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICPUExecutionCapChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0149 */
/* [local] */ 

#define COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO(smth) HRESULT STDMETHODCALLTYPE get_ExecutionCap (ULONG * aExecutionCap) { return smth get_ExecutionCap (aExecutionCap); }
#define COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO_OBJ(obj) COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO ((obj)->)
#define COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO_BASE(base) COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO (base::)
#define COM_FORWARD_ICPUExecutionCapChangedEvent_TO(smth) COM_FORWARD_ICPUExecutionCapChangedEvent_GETTER_ExecutionCap_TO (smth) 
#define COM_FORWARD_ICPUExecutionCapChangedEvent_TO_OBJ(obj) COM_FORWARD_ICPUExecutionCapChangedEvent_TO ((obj)->)
#define COM_FORWARD_ICPUExecutionCapChangedEvent_TO_BASE(base) COM_FORWARD_ICPUExecutionCapChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0149_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0149_v0_0_s_ifspec;

#ifndef __IGuestKeyboardEvent_INTERFACE_DEFINED__
#define __IGuestKeyboardEvent_INTERFACE_DEFINED__

/* interface IGuestKeyboardEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestKeyboardEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("88394258-7006-40d4-b339-472ee3801844")
    IGuestKeyboardEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Scancodes( 
            /* [retval][out] */ SAFEARRAY * *aScancodes) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestKeyboardEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestKeyboardEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestKeyboardEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestKeyboardEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestKeyboardEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestKeyboardEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestKeyboardEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestKeyboardEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestKeyboardEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestKeyboardEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestKeyboardEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestKeyboardEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestKeyboardEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestKeyboardEvent, get_Scancodes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scancodes )( 
            IGuestKeyboardEvent * This,
            /* [retval][out] */ SAFEARRAY * *aScancodes);
        
        END_INTERFACE
    } IGuestKeyboardEventVtbl;

    interface IGuestKeyboardEvent
    {
        CONST_VTBL struct IGuestKeyboardEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestKeyboardEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestKeyboardEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestKeyboardEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestKeyboardEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestKeyboardEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestKeyboardEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestKeyboardEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestKeyboardEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestKeyboardEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestKeyboardEvent_get_Scancodes(This,aScancodes)	\
    ( (This)->lpVtbl -> get_Scancodes(This,aScancodes) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestKeyboardEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0150 */
/* [local] */ 

#define COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO(smth) HRESULT STDMETHODCALLTYPE get_Scancodes (SAFEARRAY * * aScancodes) { return smth get_Scancodes (aScancodes); }
#define COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO_OBJ(obj) COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO ((obj)->)
#define COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO_BASE(base) COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO (base::)
#define COM_FORWARD_IGuestKeyboardEvent_TO(smth) COM_FORWARD_IGuestKeyboardEvent_GETTER_Scancodes_TO (smth) 
#define COM_FORWARD_IGuestKeyboardEvent_TO_OBJ(obj) COM_FORWARD_IGuestKeyboardEvent_TO ((obj)->)
#define COM_FORWARD_IGuestKeyboardEvent_TO_BASE(base) COM_FORWARD_IGuestKeyboardEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0150_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0150_v0_0_s_ifspec;

#ifndef __IGuestMouseEvent_INTERFACE_DEFINED__
#define __IGuestMouseEvent_INTERFACE_DEFINED__

/* interface IGuestMouseEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestMouseEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("179f8647-319c-4e7e-8150-c5837bd265f6")
    IGuestMouseEvent : public IReusableEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Mode( 
            /* [retval][out] */ GuestMouseEventMode *aMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_X( 
            /* [retval][out] */ LONG *aX) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Y( 
            /* [retval][out] */ LONG *aY) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Z( 
            /* [retval][out] */ LONG *aZ) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_W( 
            /* [retval][out] */ LONG *aW) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Buttons( 
            /* [retval][out] */ LONG *aButtons) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestMouseEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestMouseEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestMouseEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestMouseEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestMouseEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestMouseEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestMouseEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestMouseEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestMouseEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestMouseEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestMouseEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestMouseEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestMouseEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IReusableEvent, get_Generation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Generation )( 
            IGuestMouseEvent * This,
            /* [retval][out] */ ULONG *aGeneration);
        
        DECLSPEC_XFGVIRT(IReusableEvent, Reuse)
        HRESULT ( STDMETHODCALLTYPE *Reuse )( 
            IGuestMouseEvent * This);
        
        DECLSPEC_XFGVIRT(IGuestMouseEvent, get_Mode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
            IGuestMouseEvent * This,
            /* [retval][out] */ GuestMouseEventMode *aMode);
        
        DECLSPEC_XFGVIRT(IGuestMouseEvent, get_X)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_X )( 
            IGuestMouseEvent * This,
            /* [retval][out] */ LONG *aX);
        
        DECLSPEC_XFGVIRT(IGuestMouseEvent, get_Y)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Y )( 
            IGuestMouseEvent * This,
            /* [retval][out] */ LONG *aY);
        
        DECLSPEC_XFGVIRT(IGuestMouseEvent, get_Z)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Z )( 
            IGuestMouseEvent * This,
            /* [retval][out] */ LONG *aZ);
        
        DECLSPEC_XFGVIRT(IGuestMouseEvent, get_W)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_W )( 
            IGuestMouseEvent * This,
            /* [retval][out] */ LONG *aW);
        
        DECLSPEC_XFGVIRT(IGuestMouseEvent, get_Buttons)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Buttons )( 
            IGuestMouseEvent * This,
            /* [retval][out] */ LONG *aButtons);
        
        END_INTERFACE
    } IGuestMouseEventVtbl;

    interface IGuestMouseEvent
    {
        CONST_VTBL struct IGuestMouseEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestMouseEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestMouseEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestMouseEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestMouseEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestMouseEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestMouseEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestMouseEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestMouseEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestMouseEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestMouseEvent_get_Generation(This,aGeneration)	\
    ( (This)->lpVtbl -> get_Generation(This,aGeneration) ) 

#define IGuestMouseEvent_Reuse(This)	\
    ( (This)->lpVtbl -> Reuse(This) ) 


#define IGuestMouseEvent_get_Mode(This,aMode)	\
    ( (This)->lpVtbl -> get_Mode(This,aMode) ) 

#define IGuestMouseEvent_get_X(This,aX)	\
    ( (This)->lpVtbl -> get_X(This,aX) ) 

#define IGuestMouseEvent_get_Y(This,aY)	\
    ( (This)->lpVtbl -> get_Y(This,aY) ) 

#define IGuestMouseEvent_get_Z(This,aZ)	\
    ( (This)->lpVtbl -> get_Z(This,aZ) ) 

#define IGuestMouseEvent_get_W(This,aW)	\
    ( (This)->lpVtbl -> get_W(This,aW) ) 

#define IGuestMouseEvent_get_Buttons(This,aButtons)	\
    ( (This)->lpVtbl -> get_Buttons(This,aButtons) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestMouseEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0151 */
/* [local] */ 

#define COM_FORWARD_IGuestMouseEvent_GETTER_Mode_TO(smth) HRESULT STDMETHODCALLTYPE get_Mode (GuestMouseEventMode * aMode) { return smth get_Mode (aMode); }
#define COM_FORWARD_IGuestMouseEvent_GETTER_Mode_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_Mode_TO ((obj)->)
#define COM_FORWARD_IGuestMouseEvent_GETTER_Mode_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_Mode_TO (base::)
#define COM_FORWARD_IGuestMouseEvent_GETTER_X_TO(smth) HRESULT STDMETHODCALLTYPE get_X (LONG * aX) { return smth get_X (aX); }
#define COM_FORWARD_IGuestMouseEvent_GETTER_X_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_X_TO ((obj)->)
#define COM_FORWARD_IGuestMouseEvent_GETTER_X_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_X_TO (base::)
#define COM_FORWARD_IGuestMouseEvent_GETTER_Y_TO(smth) HRESULT STDMETHODCALLTYPE get_Y (LONG * aY) { return smth get_Y (aY); }
#define COM_FORWARD_IGuestMouseEvent_GETTER_Y_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_Y_TO ((obj)->)
#define COM_FORWARD_IGuestMouseEvent_GETTER_Y_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_Y_TO (base::)
#define COM_FORWARD_IGuestMouseEvent_GETTER_Z_TO(smth) HRESULT STDMETHODCALLTYPE get_Z (LONG * aZ) { return smth get_Z (aZ); }
#define COM_FORWARD_IGuestMouseEvent_GETTER_Z_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_Z_TO ((obj)->)
#define COM_FORWARD_IGuestMouseEvent_GETTER_Z_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_Z_TO (base::)
#define COM_FORWARD_IGuestMouseEvent_GETTER_W_TO(smth) HRESULT STDMETHODCALLTYPE get_W (LONG * aW) { return smth get_W (aW); }
#define COM_FORWARD_IGuestMouseEvent_GETTER_W_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_W_TO ((obj)->)
#define COM_FORWARD_IGuestMouseEvent_GETTER_W_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_W_TO (base::)
#define COM_FORWARD_IGuestMouseEvent_GETTER_Buttons_TO(smth) HRESULT STDMETHODCALLTYPE get_Buttons (LONG * aButtons) { return smth get_Buttons (aButtons); }
#define COM_FORWARD_IGuestMouseEvent_GETTER_Buttons_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_GETTER_Buttons_TO ((obj)->)
#define COM_FORWARD_IGuestMouseEvent_GETTER_Buttons_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_GETTER_Buttons_TO (base::)
#define COM_FORWARD_IGuestMouseEvent_TO(smth) COM_FORWARD_IGuestMouseEvent_GETTER_Mode_TO (smth) COM_FORWARD_IGuestMouseEvent_GETTER_X_TO (smth) COM_FORWARD_IGuestMouseEvent_GETTER_Y_TO (smth) COM_FORWARD_IGuestMouseEvent_GETTER_Z_TO (smth) COM_FORWARD_IGuestMouseEvent_GETTER_W_TO (smth) COM_FORWARD_IGuestMouseEvent_GETTER_Buttons_TO (smth) 
#define COM_FORWARD_IGuestMouseEvent_TO_OBJ(obj) COM_FORWARD_IGuestMouseEvent_TO ((obj)->)
#define COM_FORWARD_IGuestMouseEvent_TO_BASE(base) COM_FORWARD_IGuestMouseEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0151_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0151_v0_0_s_ifspec;

#ifndef __IGuestMultiTouchEvent_INTERFACE_DEFINED__
#define __IGuestMultiTouchEvent_INTERFACE_DEFINED__

/* interface IGuestMultiTouchEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestMultiTouchEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1f99d9dc-c144-4c28-9f88-e6f488db5441")
    IGuestMultiTouchEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContactCount( 
            /* [retval][out] */ LONG *aContactCount) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_XPositions( 
            /* [retval][out] */ SAFEARRAY * *aXPositions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_YPositions( 
            /* [retval][out] */ SAFEARRAY * *aYPositions) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContactIds( 
            /* [retval][out] */ SAFEARRAY * *aContactIds) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContactFlags( 
            /* [retval][out] */ SAFEARRAY * *aContactFlags) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsTouchScreen( 
            /* [retval][out] */ BOOL *aIsTouchScreen) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ScanTime( 
            /* [retval][out] */ ULONG *aScanTime) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestMultiTouchEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestMultiTouchEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestMultiTouchEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestMultiTouchEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestMultiTouchEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestMultiTouchEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestMultiTouchEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestMultiTouchEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestMultiTouchEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestMultiTouchEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestMultiTouchEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestMultiTouchEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestMultiTouchEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestMultiTouchEvent, get_ContactCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContactCount )( 
            IGuestMultiTouchEvent * This,
            /* [retval][out] */ LONG *aContactCount);
        
        DECLSPEC_XFGVIRT(IGuestMultiTouchEvent, get_XPositions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_XPositions )( 
            IGuestMultiTouchEvent * This,
            /* [retval][out] */ SAFEARRAY * *aXPositions);
        
        DECLSPEC_XFGVIRT(IGuestMultiTouchEvent, get_YPositions)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_YPositions )( 
            IGuestMultiTouchEvent * This,
            /* [retval][out] */ SAFEARRAY * *aYPositions);
        
        DECLSPEC_XFGVIRT(IGuestMultiTouchEvent, get_ContactIds)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContactIds )( 
            IGuestMultiTouchEvent * This,
            /* [retval][out] */ SAFEARRAY * *aContactIds);
        
        DECLSPEC_XFGVIRT(IGuestMultiTouchEvent, get_ContactFlags)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContactFlags )( 
            IGuestMultiTouchEvent * This,
            /* [retval][out] */ SAFEARRAY * *aContactFlags);
        
        DECLSPEC_XFGVIRT(IGuestMultiTouchEvent, get_IsTouchScreen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsTouchScreen )( 
            IGuestMultiTouchEvent * This,
            /* [retval][out] */ BOOL *aIsTouchScreen);
        
        DECLSPEC_XFGVIRT(IGuestMultiTouchEvent, get_ScanTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScanTime )( 
            IGuestMultiTouchEvent * This,
            /* [retval][out] */ ULONG *aScanTime);
        
        END_INTERFACE
    } IGuestMultiTouchEventVtbl;

    interface IGuestMultiTouchEvent
    {
        CONST_VTBL struct IGuestMultiTouchEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestMultiTouchEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestMultiTouchEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestMultiTouchEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestMultiTouchEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestMultiTouchEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestMultiTouchEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestMultiTouchEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestMultiTouchEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestMultiTouchEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestMultiTouchEvent_get_ContactCount(This,aContactCount)	\
    ( (This)->lpVtbl -> get_ContactCount(This,aContactCount) ) 

#define IGuestMultiTouchEvent_get_XPositions(This,aXPositions)	\
    ( (This)->lpVtbl -> get_XPositions(This,aXPositions) ) 

#define IGuestMultiTouchEvent_get_YPositions(This,aYPositions)	\
    ( (This)->lpVtbl -> get_YPositions(This,aYPositions) ) 

#define IGuestMultiTouchEvent_get_ContactIds(This,aContactIds)	\
    ( (This)->lpVtbl -> get_ContactIds(This,aContactIds) ) 

#define IGuestMultiTouchEvent_get_ContactFlags(This,aContactFlags)	\
    ( (This)->lpVtbl -> get_ContactFlags(This,aContactFlags) ) 

#define IGuestMultiTouchEvent_get_IsTouchScreen(This,aIsTouchScreen)	\
    ( (This)->lpVtbl -> get_IsTouchScreen(This,aIsTouchScreen) ) 

#define IGuestMultiTouchEvent_get_ScanTime(This,aScanTime)	\
    ( (This)->lpVtbl -> get_ScanTime(This,aScanTime) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestMultiTouchEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0152 */
/* [local] */ 

#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactCount_TO(smth) HRESULT STDMETHODCALLTYPE get_ContactCount (LONG * aContactCount) { return smth get_ContactCount (aContactCount); }
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactCount_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactCount_TO ((obj)->)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactCount_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactCount_TO (base::)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_XPositions_TO(smth) HRESULT STDMETHODCALLTYPE get_XPositions (SAFEARRAY * * aXPositions) { return smth get_XPositions (aXPositions); }
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_XPositions_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_XPositions_TO ((obj)->)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_XPositions_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_XPositions_TO (base::)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_YPositions_TO(smth) HRESULT STDMETHODCALLTYPE get_YPositions (SAFEARRAY * * aYPositions) { return smth get_YPositions (aYPositions); }
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_YPositions_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_YPositions_TO ((obj)->)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_YPositions_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_YPositions_TO (base::)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactIds_TO(smth) HRESULT STDMETHODCALLTYPE get_ContactIds (SAFEARRAY * * aContactIds) { return smth get_ContactIds (aContactIds); }
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactIds_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactIds_TO ((obj)->)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactIds_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactIds_TO (base::)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactFlags_TO(smth) HRESULT STDMETHODCALLTYPE get_ContactFlags (SAFEARRAY * * aContactFlags) { return smth get_ContactFlags (aContactFlags); }
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactFlags_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactFlags_TO ((obj)->)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactFlags_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactFlags_TO (base::)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_IsTouchScreen_TO(smth) HRESULT STDMETHODCALLTYPE get_IsTouchScreen (BOOL * aIsTouchScreen) { return smth get_IsTouchScreen (aIsTouchScreen); }
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_IsTouchScreen_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_IsTouchScreen_TO ((obj)->)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_IsTouchScreen_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_IsTouchScreen_TO (base::)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ScanTime_TO(smth) HRESULT STDMETHODCALLTYPE get_ScanTime (ULONG * aScanTime) { return smth get_ScanTime (aScanTime); }
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ScanTime_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ScanTime_TO ((obj)->)
#define COM_FORWARD_IGuestMultiTouchEvent_GETTER_ScanTime_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ScanTime_TO (base::)
#define COM_FORWARD_IGuestMultiTouchEvent_TO(smth) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactCount_TO (smth) COM_FORWARD_IGuestMultiTouchEvent_GETTER_XPositions_TO (smth) COM_FORWARD_IGuestMultiTouchEvent_GETTER_YPositions_TO (smth) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactIds_TO (smth) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ContactFlags_TO (smth) COM_FORWARD_IGuestMultiTouchEvent_GETTER_IsTouchScreen_TO (smth) COM_FORWARD_IGuestMultiTouchEvent_GETTER_ScanTime_TO (smth) 
#define COM_FORWARD_IGuestMultiTouchEvent_TO_OBJ(obj) COM_FORWARD_IGuestMultiTouchEvent_TO ((obj)->)
#define COM_FORWARD_IGuestMultiTouchEvent_TO_BASE(base) COM_FORWARD_IGuestMultiTouchEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0152_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0152_v0_0_s_ifspec;

#ifndef __IGuestSessionEvent_INTERFACE_DEFINED__
#define __IGuestSessionEvent_INTERFACE_DEFINED__

/* interface IGuestSessionEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestSessionEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b9acd33f-647d-45ac-8fe9-f49b3183ba37")
    IGuestSessionEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Session( 
            /* [retval][out] */ IGuestSession **aSession) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestSessionEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestSessionEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestSessionEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestSessionEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestSessionEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestSessionEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestSessionEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestSessionEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestSessionEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestSessionEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestSessionEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestSessionEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestSessionEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestSessionEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        END_INTERFACE
    } IGuestSessionEventVtbl;

    interface IGuestSessionEvent
    {
        CONST_VTBL struct IGuestSessionEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestSessionEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestSessionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestSessionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestSessionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestSessionEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestSessionEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestSessionEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestSessionEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestSessionEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestSessionEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestSessionEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0153 */
/* [local] */ 

#define COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO(smth) HRESULT STDMETHODCALLTYPE get_Session (IGuestSession * * aSession) { return smth get_Session (aSession); }
#define COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO_OBJ(obj) COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO ((obj)->)
#define COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO_BASE(base) COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO (base::)
#define COM_FORWARD_IGuestSessionEvent_TO(smth) COM_FORWARD_IGuestSessionEvent_GETTER_Session_TO (smth) 
#define COM_FORWARD_IGuestSessionEvent_TO_OBJ(obj) COM_FORWARD_IGuestSessionEvent_TO ((obj)->)
#define COM_FORWARD_IGuestSessionEvent_TO_BASE(base) COM_FORWARD_IGuestSessionEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0153_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0153_v0_0_s_ifspec;

#ifndef __IGuestSessionStateChangedEvent_INTERFACE_DEFINED__
#define __IGuestSessionStateChangedEvent_INTERFACE_DEFINED__

/* interface IGuestSessionStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestSessionStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("327e3c00-ee61-462f-aed3-0dff6cbf9904")
    IGuestSessionStateChangedEvent : public IGuestSessionEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ ULONG *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ GuestSessionStatus *aStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Error( 
            /* [retval][out] */ IVirtualBoxErrorInfo **aError) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestSessionStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestSessionStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestSessionStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestSessionStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestSessionStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestSessionStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestSessionStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestSessionStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestSessionStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestSessionStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestSessionStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestSessionStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestSessionStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestSessionStateChangedEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestSessionStateChangedEvent, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IGuestSessionStateChangedEvent * This,
            /* [retval][out] */ ULONG *aId);
        
        DECLSPEC_XFGVIRT(IGuestSessionStateChangedEvent, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IGuestSessionStateChangedEvent * This,
            /* [retval][out] */ GuestSessionStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IGuestSessionStateChangedEvent, get_Error)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Error )( 
            IGuestSessionStateChangedEvent * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aError);
        
        END_INTERFACE
    } IGuestSessionStateChangedEventVtbl;

    interface IGuestSessionStateChangedEvent
    {
        CONST_VTBL struct IGuestSessionStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestSessionStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestSessionStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestSessionStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestSessionStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestSessionStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestSessionStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestSessionStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestSessionStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestSessionStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestSessionStateChangedEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestSessionStateChangedEvent_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IGuestSessionStateChangedEvent_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IGuestSessionStateChangedEvent_get_Error(This,aError)	\
    ( (This)->lpVtbl -> get_Error(This,aError) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestSessionStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0154 */
/* [local] */ 

#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (ULONG * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Id_TO_BASE(base) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Id_TO (base::)
#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (GuestSessionStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Status_TO (base::)
#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }
#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Error_TO ((obj)->)
#define COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Error_TO (base::)
#define COM_FORWARD_IGuestSessionStateChangedEvent_TO(smth) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Id_TO (smth) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Status_TO (smth) COM_FORWARD_IGuestSessionStateChangedEvent_GETTER_Error_TO (smth) 
#define COM_FORWARD_IGuestSessionStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestSessionStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestSessionStateChangedEvent_TO_BASE(base) COM_FORWARD_IGuestSessionStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0154_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0154_v0_0_s_ifspec;

#ifndef __IGuestSessionRegisteredEvent_INTERFACE_DEFINED__
#define __IGuestSessionRegisteredEvent_INTERFACE_DEFINED__

/* interface IGuestSessionRegisteredEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestSessionRegisteredEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b79de686-eabd-4fa6-960a-f1756c99ea1c")
    IGuestSessionRegisteredEvent : public IGuestSessionEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Registered( 
            /* [retval][out] */ BOOL *aRegistered) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestSessionRegisteredEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestSessionRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestSessionRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestSessionRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestSessionRegisteredEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestSessionRegisteredEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestSessionRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestSessionRegisteredEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestSessionRegisteredEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestSessionRegisteredEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestSessionRegisteredEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestSessionRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestSessionRegisteredEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestSessionRegisteredEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestSessionRegisteredEvent, get_Registered)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Registered )( 
            IGuestSessionRegisteredEvent * This,
            /* [retval][out] */ BOOL *aRegistered);
        
        END_INTERFACE
    } IGuestSessionRegisteredEventVtbl;

    interface IGuestSessionRegisteredEvent
    {
        CONST_VTBL struct IGuestSessionRegisteredEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestSessionRegisteredEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestSessionRegisteredEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestSessionRegisteredEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestSessionRegisteredEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestSessionRegisteredEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestSessionRegisteredEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestSessionRegisteredEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestSessionRegisteredEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestSessionRegisteredEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestSessionRegisteredEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestSessionRegisteredEvent_get_Registered(This,aRegistered)	\
    ( (This)->lpVtbl -> get_Registered(This,aRegistered) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestSessionRegisteredEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0155 */
/* [local] */ 

#define COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }
#define COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO ((obj)->)
#define COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO (base::)
#define COM_FORWARD_IGuestSessionRegisteredEvent_TO(smth) COM_FORWARD_IGuestSessionRegisteredEvent_GETTER_Registered_TO (smth) 
#define COM_FORWARD_IGuestSessionRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IGuestSessionRegisteredEvent_TO ((obj)->)
#define COM_FORWARD_IGuestSessionRegisteredEvent_TO_BASE(base) COM_FORWARD_IGuestSessionRegisteredEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0155_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0155_v0_0_s_ifspec;

#ifndef __IGuestProcessEvent_INTERFACE_DEFINED__
#define __IGuestProcessEvent_INTERFACE_DEFINED__

/* interface IGuestProcessEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestProcessEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2405f0e5-6588-40a3-9b0a-68c05ba52c4b")
    IGuestProcessEvent : public IGuestSessionEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Process( 
            /* [retval][out] */ IGuestProcess **aProcess) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Pid( 
            /* [retval][out] */ ULONG *aPid) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestProcessEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestProcessEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestProcessEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestProcessEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestProcessEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestProcessEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestProcessEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestProcessEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestProcessEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestProcessEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestProcessEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestProcessEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestProcessEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestProcessEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Process)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Process )( 
            IGuestProcessEvent * This,
            /* [retval][out] */ IGuestProcess **aProcess);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Pid)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pid )( 
            IGuestProcessEvent * This,
            /* [retval][out] */ ULONG *aPid);
        
        END_INTERFACE
    } IGuestProcessEventVtbl;

    interface IGuestProcessEvent
    {
        CONST_VTBL struct IGuestProcessEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestProcessEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestProcessEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestProcessEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestProcessEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestProcessEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestProcessEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestProcessEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestProcessEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestProcessEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestProcessEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestProcessEvent_get_Process(This,aProcess)	\
    ( (This)->lpVtbl -> get_Process(This,aProcess) ) 

#define IGuestProcessEvent_get_Pid(This,aPid)	\
    ( (This)->lpVtbl -> get_Pid(This,aPid) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestProcessEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0156 */
/* [local] */ 

#define COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO(smth) HRESULT STDMETHODCALLTYPE get_Process (IGuestProcess * * aProcess) { return smth get_Process (aProcess); }
#define COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO_OBJ(obj) COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO ((obj)->)
#define COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO_BASE(base) COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO (base::)
#define COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO(smth) HRESULT STDMETHODCALLTYPE get_Pid (ULONG * aPid) { return smth get_Pid (aPid); }
#define COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO_OBJ(obj) COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO ((obj)->)
#define COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO_BASE(base) COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO (base::)
#define COM_FORWARD_IGuestProcessEvent_TO(smth) COM_FORWARD_IGuestProcessEvent_GETTER_Process_TO (smth) COM_FORWARD_IGuestProcessEvent_GETTER_Pid_TO (smth) 
#define COM_FORWARD_IGuestProcessEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessEvent_TO ((obj)->)
#define COM_FORWARD_IGuestProcessEvent_TO_BASE(base) COM_FORWARD_IGuestProcessEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0156_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0156_v0_0_s_ifspec;

#ifndef __IGuestProcessRegisteredEvent_INTERFACE_DEFINED__
#define __IGuestProcessRegisteredEvent_INTERFACE_DEFINED__

/* interface IGuestProcessRegisteredEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestProcessRegisteredEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1d89e2b3-c6ea-45b6-9d43-dc6f70cc9f02")
    IGuestProcessRegisteredEvent : public IGuestProcessEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Registered( 
            /* [retval][out] */ BOOL *aRegistered) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestProcessRegisteredEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestProcessRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestProcessRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestProcessRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestProcessRegisteredEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestProcessRegisteredEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestProcessRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestProcessRegisteredEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestProcessRegisteredEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestProcessRegisteredEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestProcessRegisteredEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestProcessRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestProcessRegisteredEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestProcessRegisteredEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Process)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Process )( 
            IGuestProcessRegisteredEvent * This,
            /* [retval][out] */ IGuestProcess **aProcess);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Pid)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pid )( 
            IGuestProcessRegisteredEvent * This,
            /* [retval][out] */ ULONG *aPid);
        
        DECLSPEC_XFGVIRT(IGuestProcessRegisteredEvent, get_Registered)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Registered )( 
            IGuestProcessRegisteredEvent * This,
            /* [retval][out] */ BOOL *aRegistered);
        
        END_INTERFACE
    } IGuestProcessRegisteredEventVtbl;

    interface IGuestProcessRegisteredEvent
    {
        CONST_VTBL struct IGuestProcessRegisteredEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestProcessRegisteredEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestProcessRegisteredEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestProcessRegisteredEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestProcessRegisteredEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestProcessRegisteredEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestProcessRegisteredEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestProcessRegisteredEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestProcessRegisteredEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestProcessRegisteredEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestProcessRegisteredEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestProcessRegisteredEvent_get_Process(This,aProcess)	\
    ( (This)->lpVtbl -> get_Process(This,aProcess) ) 

#define IGuestProcessRegisteredEvent_get_Pid(This,aPid)	\
    ( (This)->lpVtbl -> get_Pid(This,aPid) ) 


#define IGuestProcessRegisteredEvent_get_Registered(This,aRegistered)	\
    ( (This)->lpVtbl -> get_Registered(This,aRegistered) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestProcessRegisteredEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0157 */
/* [local] */ 

#define COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }
#define COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO ((obj)->)
#define COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO (base::)
#define COM_FORWARD_IGuestProcessRegisteredEvent_TO(smth) COM_FORWARD_IGuestProcessRegisteredEvent_GETTER_Registered_TO (smth) 
#define COM_FORWARD_IGuestProcessRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessRegisteredEvent_TO ((obj)->)
#define COM_FORWARD_IGuestProcessRegisteredEvent_TO_BASE(base) COM_FORWARD_IGuestProcessRegisteredEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0157_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0157_v0_0_s_ifspec;

#ifndef __IGuestProcessStateChangedEvent_INTERFACE_DEFINED__
#define __IGuestProcessStateChangedEvent_INTERFACE_DEFINED__

/* interface IGuestProcessStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestProcessStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c365fb7b-4430-499f-92c8-8bed814a567a")
    IGuestProcessStateChangedEvent : public IGuestProcessEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ ProcessStatus *aStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Error( 
            /* [retval][out] */ IVirtualBoxErrorInfo **aError) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestProcessStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestProcessStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestProcessStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestProcessStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestProcessStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestProcessStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestProcessStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestProcessStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestProcessStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestProcessStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestProcessStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestProcessStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestProcessStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestProcessStateChangedEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Process)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Process )( 
            IGuestProcessStateChangedEvent * This,
            /* [retval][out] */ IGuestProcess **aProcess);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Pid)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pid )( 
            IGuestProcessStateChangedEvent * This,
            /* [retval][out] */ ULONG *aPid);
        
        DECLSPEC_XFGVIRT(IGuestProcessStateChangedEvent, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IGuestProcessStateChangedEvent * This,
            /* [retval][out] */ ProcessStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IGuestProcessStateChangedEvent, get_Error)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Error )( 
            IGuestProcessStateChangedEvent * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aError);
        
        END_INTERFACE
    } IGuestProcessStateChangedEventVtbl;

    interface IGuestProcessStateChangedEvent
    {
        CONST_VTBL struct IGuestProcessStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestProcessStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestProcessStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestProcessStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestProcessStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestProcessStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestProcessStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestProcessStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestProcessStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestProcessStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestProcessStateChangedEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestProcessStateChangedEvent_get_Process(This,aProcess)	\
    ( (This)->lpVtbl -> get_Process(This,aProcess) ) 

#define IGuestProcessStateChangedEvent_get_Pid(This,aPid)	\
    ( (This)->lpVtbl -> get_Pid(This,aPid) ) 


#define IGuestProcessStateChangedEvent_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IGuestProcessStateChangedEvent_get_Error(This,aError)	\
    ( (This)->lpVtbl -> get_Error(This,aError) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestProcessStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0158 */
/* [local] */ 

#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (ProcessStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO (base::)
#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }
#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO ((obj)->)
#define COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO (base::)
#define COM_FORWARD_IGuestProcessStateChangedEvent_TO(smth) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Status_TO (smth) COM_FORWARD_IGuestProcessStateChangedEvent_GETTER_Error_TO (smth) 
#define COM_FORWARD_IGuestProcessStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestProcessStateChangedEvent_TO_BASE(base) COM_FORWARD_IGuestProcessStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0158_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0158_v0_0_s_ifspec;

#ifndef __IGuestProcessIOEvent_INTERFACE_DEFINED__
#define __IGuestProcessIOEvent_INTERFACE_DEFINED__

/* interface IGuestProcessIOEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestProcessIOEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9ea9227c-e9bb-49b3-bfc7-c5171e93ef38")
    IGuestProcessIOEvent : public IGuestProcessEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Handle( 
            /* [retval][out] */ ULONG *aHandle) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Processed( 
            /* [retval][out] */ ULONG *aProcessed) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestProcessIOEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestProcessIOEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestProcessIOEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestProcessIOEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestProcessIOEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestProcessIOEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestProcessIOEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestProcessIOEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestProcessIOEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestProcessIOEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestProcessIOEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestProcessIOEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestProcessIOEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestProcessIOEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Process)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Process )( 
            IGuestProcessIOEvent * This,
            /* [retval][out] */ IGuestProcess **aProcess);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Pid)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pid )( 
            IGuestProcessIOEvent * This,
            /* [retval][out] */ ULONG *aPid);
        
        DECLSPEC_XFGVIRT(IGuestProcessIOEvent, get_Handle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IGuestProcessIOEvent * This,
            /* [retval][out] */ ULONG *aHandle);
        
        DECLSPEC_XFGVIRT(IGuestProcessIOEvent, get_Processed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Processed )( 
            IGuestProcessIOEvent * This,
            /* [retval][out] */ ULONG *aProcessed);
        
        END_INTERFACE
    } IGuestProcessIOEventVtbl;

    interface IGuestProcessIOEvent
    {
        CONST_VTBL struct IGuestProcessIOEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestProcessIOEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestProcessIOEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestProcessIOEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestProcessIOEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestProcessIOEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestProcessIOEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestProcessIOEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestProcessIOEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestProcessIOEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestProcessIOEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestProcessIOEvent_get_Process(This,aProcess)	\
    ( (This)->lpVtbl -> get_Process(This,aProcess) ) 

#define IGuestProcessIOEvent_get_Pid(This,aPid)	\
    ( (This)->lpVtbl -> get_Pid(This,aPid) ) 


#define IGuestProcessIOEvent_get_Handle(This,aHandle)	\
    ( (This)->lpVtbl -> get_Handle(This,aHandle) ) 

#define IGuestProcessIOEvent_get_Processed(This,aProcessed)	\
    ( (This)->lpVtbl -> get_Processed(This,aProcessed) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestProcessIOEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0159 */
/* [local] */ 

#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO(smth) HRESULT STDMETHODCALLTYPE get_Handle (ULONG * aHandle) { return smth get_Handle (aHandle); }
#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO_OBJ(obj) COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO ((obj)->)
#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO_BASE(base) COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO (base::)
#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO(smth) HRESULT STDMETHODCALLTYPE get_Processed (ULONG * aProcessed) { return smth get_Processed (aProcessed); }
#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO_OBJ(obj) COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO ((obj)->)
#define COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO_BASE(base) COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO (base::)
#define COM_FORWARD_IGuestProcessIOEvent_TO(smth) COM_FORWARD_IGuestProcessIOEvent_GETTER_Handle_TO (smth) COM_FORWARD_IGuestProcessIOEvent_GETTER_Processed_TO (smth) 
#define COM_FORWARD_IGuestProcessIOEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessIOEvent_TO ((obj)->)
#define COM_FORWARD_IGuestProcessIOEvent_TO_BASE(base) COM_FORWARD_IGuestProcessIOEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0159_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0159_v0_0_s_ifspec;

#ifndef __IGuestProcessInputNotifyEvent_INTERFACE_DEFINED__
#define __IGuestProcessInputNotifyEvent_INTERFACE_DEFINED__

/* interface IGuestProcessInputNotifyEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestProcessInputNotifyEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0de887f2-b7db-4616-aac6-cfb94d89ba78")
    IGuestProcessInputNotifyEvent : public IGuestProcessIOEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ ProcessInputStatus *aStatus) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestProcessInputNotifyEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestProcessInputNotifyEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestProcessInputNotifyEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestProcessInputNotifyEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestProcessInputNotifyEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestProcessInputNotifyEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestProcessInputNotifyEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestProcessInputNotifyEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestProcessInputNotifyEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestProcessInputNotifyEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestProcessInputNotifyEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestProcessInputNotifyEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestProcessInputNotifyEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestProcessInputNotifyEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Process)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Process )( 
            IGuestProcessInputNotifyEvent * This,
            /* [retval][out] */ IGuestProcess **aProcess);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Pid)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pid )( 
            IGuestProcessInputNotifyEvent * This,
            /* [retval][out] */ ULONG *aPid);
        
        DECLSPEC_XFGVIRT(IGuestProcessIOEvent, get_Handle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IGuestProcessInputNotifyEvent * This,
            /* [retval][out] */ ULONG *aHandle);
        
        DECLSPEC_XFGVIRT(IGuestProcessIOEvent, get_Processed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Processed )( 
            IGuestProcessInputNotifyEvent * This,
            /* [retval][out] */ ULONG *aProcessed);
        
        DECLSPEC_XFGVIRT(IGuestProcessInputNotifyEvent, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IGuestProcessInputNotifyEvent * This,
            /* [retval][out] */ ProcessInputStatus *aStatus);
        
        END_INTERFACE
    } IGuestProcessInputNotifyEventVtbl;

    interface IGuestProcessInputNotifyEvent
    {
        CONST_VTBL struct IGuestProcessInputNotifyEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestProcessInputNotifyEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestProcessInputNotifyEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestProcessInputNotifyEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestProcessInputNotifyEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestProcessInputNotifyEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestProcessInputNotifyEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestProcessInputNotifyEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestProcessInputNotifyEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestProcessInputNotifyEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestProcessInputNotifyEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestProcessInputNotifyEvent_get_Process(This,aProcess)	\
    ( (This)->lpVtbl -> get_Process(This,aProcess) ) 

#define IGuestProcessInputNotifyEvent_get_Pid(This,aPid)	\
    ( (This)->lpVtbl -> get_Pid(This,aPid) ) 


#define IGuestProcessInputNotifyEvent_get_Handle(This,aHandle)	\
    ( (This)->lpVtbl -> get_Handle(This,aHandle) ) 

#define IGuestProcessInputNotifyEvent_get_Processed(This,aProcessed)	\
    ( (This)->lpVtbl -> get_Processed(This,aProcessed) ) 


#define IGuestProcessInputNotifyEvent_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestProcessInputNotifyEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0160 */
/* [local] */ 

#define COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (ProcessInputStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO (base::)
#define COM_FORWARD_IGuestProcessInputNotifyEvent_TO(smth) COM_FORWARD_IGuestProcessInputNotifyEvent_GETTER_Status_TO (smth) 
#define COM_FORWARD_IGuestProcessInputNotifyEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessInputNotifyEvent_TO ((obj)->)
#define COM_FORWARD_IGuestProcessInputNotifyEvent_TO_BASE(base) COM_FORWARD_IGuestProcessInputNotifyEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0160_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0160_v0_0_s_ifspec;

#ifndef __IGuestProcessOutputEvent_INTERFACE_DEFINED__
#define __IGuestProcessOutputEvent_INTERFACE_DEFINED__

/* interface IGuestProcessOutputEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestProcessOutputEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d3d5f1ee-bcb2-4905-a7ab-cc85448a742b")
    IGuestProcessOutputEvent : public IGuestProcessIOEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Data( 
            /* [retval][out] */ SAFEARRAY * *aData) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestProcessOutputEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestProcessOutputEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestProcessOutputEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestProcessOutputEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestProcessOutputEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestProcessOutputEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestProcessOutputEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestProcessOutputEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestProcessOutputEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestProcessOutputEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestProcessOutputEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestProcessOutputEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestProcessOutputEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestProcessOutputEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Process)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Process )( 
            IGuestProcessOutputEvent * This,
            /* [retval][out] */ IGuestProcess **aProcess);
        
        DECLSPEC_XFGVIRT(IGuestProcessEvent, get_Pid)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pid )( 
            IGuestProcessOutputEvent * This,
            /* [retval][out] */ ULONG *aPid);
        
        DECLSPEC_XFGVIRT(IGuestProcessIOEvent, get_Handle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IGuestProcessOutputEvent * This,
            /* [retval][out] */ ULONG *aHandle);
        
        DECLSPEC_XFGVIRT(IGuestProcessIOEvent, get_Processed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Processed )( 
            IGuestProcessOutputEvent * This,
            /* [retval][out] */ ULONG *aProcessed);
        
        DECLSPEC_XFGVIRT(IGuestProcessOutputEvent, get_Data)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
            IGuestProcessOutputEvent * This,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        END_INTERFACE
    } IGuestProcessOutputEventVtbl;

    interface IGuestProcessOutputEvent
    {
        CONST_VTBL struct IGuestProcessOutputEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestProcessOutputEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestProcessOutputEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestProcessOutputEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestProcessOutputEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestProcessOutputEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestProcessOutputEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestProcessOutputEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestProcessOutputEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestProcessOutputEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestProcessOutputEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestProcessOutputEvent_get_Process(This,aProcess)	\
    ( (This)->lpVtbl -> get_Process(This,aProcess) ) 

#define IGuestProcessOutputEvent_get_Pid(This,aPid)	\
    ( (This)->lpVtbl -> get_Pid(This,aPid) ) 


#define IGuestProcessOutputEvent_get_Handle(This,aHandle)	\
    ( (This)->lpVtbl -> get_Handle(This,aHandle) ) 

#define IGuestProcessOutputEvent_get_Processed(This,aProcessed)	\
    ( (This)->lpVtbl -> get_Processed(This,aProcessed) ) 


#define IGuestProcessOutputEvent_get_Data(This,aData)	\
    ( (This)->lpVtbl -> get_Data(This,aData) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestProcessOutputEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0161 */
/* [local] */ 

#define COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO(smth) HRESULT STDMETHODCALLTYPE get_Data (SAFEARRAY * * aData) { return smth get_Data (aData); }
#define COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO_OBJ(obj) COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO ((obj)->)
#define COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO_BASE(base) COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO (base::)
#define COM_FORWARD_IGuestProcessOutputEvent_TO(smth) COM_FORWARD_IGuestProcessOutputEvent_GETTER_Data_TO (smth) 
#define COM_FORWARD_IGuestProcessOutputEvent_TO_OBJ(obj) COM_FORWARD_IGuestProcessOutputEvent_TO ((obj)->)
#define COM_FORWARD_IGuestProcessOutputEvent_TO_BASE(base) COM_FORWARD_IGuestProcessOutputEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0161_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0161_v0_0_s_ifspec;

#ifndef __IGuestDirectoryEvent_INTERFACE_DEFINED__
#define __IGuestDirectoryEvent_INTERFACE_DEFINED__

/* interface IGuestDirectoryEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestDirectoryEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("02b69798-7cc2-4005-ac57-1ad7ff7a0997")
    IGuestDirectoryEvent : public IGuestSessionEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Directory( 
            /* [retval][out] */ IGuestDirectory **aDirectory) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestDirectoryEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestDirectoryEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestDirectoryEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestDirectoryEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestDirectoryEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestDirectoryEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestDirectoryEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestDirectoryEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestDirectoryEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestDirectoryEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestDirectoryEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestDirectoryEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestDirectoryEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestDirectoryEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestDirectoryEvent, get_Directory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Directory )( 
            IGuestDirectoryEvent * This,
            /* [retval][out] */ IGuestDirectory **aDirectory);
        
        END_INTERFACE
    } IGuestDirectoryEventVtbl;

    interface IGuestDirectoryEvent
    {
        CONST_VTBL struct IGuestDirectoryEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestDirectoryEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestDirectoryEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestDirectoryEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestDirectoryEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestDirectoryEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestDirectoryEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestDirectoryEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestDirectoryEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestDirectoryEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestDirectoryEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestDirectoryEvent_get_Directory(This,aDirectory)	\
    ( (This)->lpVtbl -> get_Directory(This,aDirectory) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestDirectoryEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0162 */
/* [local] */ 

#define COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO(smth) HRESULT STDMETHODCALLTYPE get_Directory (IGuestDirectory * * aDirectory) { return smth get_Directory (aDirectory); }
#define COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO_BASE(base) COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO (base::)
#define COM_FORWARD_IGuestDirectoryEvent_TO(smth) COM_FORWARD_IGuestDirectoryEvent_GETTER_Directory_TO (smth) 
#define COM_FORWARD_IGuestDirectoryEvent_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryEvent_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryEvent_TO_BASE(base) COM_FORWARD_IGuestDirectoryEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0162_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0162_v0_0_s_ifspec;

#ifndef __IGuestDirectoryRegisteredEvent_INTERFACE_DEFINED__
#define __IGuestDirectoryRegisteredEvent_INTERFACE_DEFINED__

/* interface IGuestDirectoryRegisteredEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestDirectoryRegisteredEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("926baa39-cfc9-462e-a1a1-c439e28f7f89")
    IGuestDirectoryRegisteredEvent : public IGuestDirectoryEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Registered( 
            /* [retval][out] */ BOOL *aRegistered) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestDirectoryRegisteredEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestDirectoryRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestDirectoryRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestDirectoryRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestDirectoryEvent, get_Directory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Directory )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [retval][out] */ IGuestDirectory **aDirectory);
        
        DECLSPEC_XFGVIRT(IGuestDirectoryRegisteredEvent, get_Registered)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Registered )( 
            IGuestDirectoryRegisteredEvent * This,
            /* [retval][out] */ BOOL *aRegistered);
        
        END_INTERFACE
    } IGuestDirectoryRegisteredEventVtbl;

    interface IGuestDirectoryRegisteredEvent
    {
        CONST_VTBL struct IGuestDirectoryRegisteredEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestDirectoryRegisteredEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestDirectoryRegisteredEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestDirectoryRegisteredEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestDirectoryRegisteredEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestDirectoryRegisteredEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestDirectoryRegisteredEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestDirectoryRegisteredEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestDirectoryRegisteredEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestDirectoryRegisteredEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestDirectoryRegisteredEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestDirectoryRegisteredEvent_get_Directory(This,aDirectory)	\
    ( (This)->lpVtbl -> get_Directory(This,aDirectory) ) 


#define IGuestDirectoryRegisteredEvent_get_Registered(This,aRegistered)	\
    ( (This)->lpVtbl -> get_Registered(This,aRegistered) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestDirectoryRegisteredEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0163 */
/* [local] */ 

#define COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }
#define COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO (base::)
#define COM_FORWARD_IGuestDirectoryRegisteredEvent_TO(smth) COM_FORWARD_IGuestDirectoryRegisteredEvent_GETTER_Registered_TO (smth) 
#define COM_FORWARD_IGuestDirectoryRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryRegisteredEvent_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryRegisteredEvent_TO_BASE(base) COM_FORWARD_IGuestDirectoryRegisteredEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0163_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0163_v0_0_s_ifspec;

#ifndef __IGuestDirectoryStateChangedEvent_INTERFACE_DEFINED__
#define __IGuestDirectoryStateChangedEvent_INTERFACE_DEFINED__

/* interface IGuestDirectoryStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestDirectoryStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c32bce60-d69d-4eb7-a02a-411ecbab6a18")
    IGuestDirectoryStateChangedEvent : public IGuestDirectoryEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ DirectoryStatus *aStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Error( 
            /* [retval][out] */ IVirtualBoxErrorInfo **aError) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestDirectoryStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestDirectoryStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestDirectoryStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestDirectoryStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestDirectoryEvent, get_Directory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Directory )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [retval][out] */ IGuestDirectory **aDirectory);
        
        DECLSPEC_XFGVIRT(IGuestDirectoryStateChangedEvent, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [retval][out] */ DirectoryStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IGuestDirectoryStateChangedEvent, get_Error)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Error )( 
            IGuestDirectoryStateChangedEvent * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aError);
        
        END_INTERFACE
    } IGuestDirectoryStateChangedEventVtbl;

    interface IGuestDirectoryStateChangedEvent
    {
        CONST_VTBL struct IGuestDirectoryStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestDirectoryStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestDirectoryStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestDirectoryStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestDirectoryStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestDirectoryStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestDirectoryStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestDirectoryStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestDirectoryStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestDirectoryStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestDirectoryStateChangedEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestDirectoryStateChangedEvent_get_Directory(This,aDirectory)	\
    ( (This)->lpVtbl -> get_Directory(This,aDirectory) ) 


#define IGuestDirectoryStateChangedEvent_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IGuestDirectoryStateChangedEvent_get_Error(This,aError)	\
    ( (This)->lpVtbl -> get_Error(This,aError) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestDirectoryStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0164 */
/* [local] */ 

#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (DirectoryStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO (base::)
#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }
#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO (base::)
#define COM_FORWARD_IGuestDirectoryStateChangedEvent_TO(smth) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Status_TO (smth) COM_FORWARD_IGuestDirectoryStateChangedEvent_GETTER_Error_TO (smth) 
#define COM_FORWARD_IGuestDirectoryStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryStateChangedEvent_TO_BASE(base) COM_FORWARD_IGuestDirectoryStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0164_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0164_v0_0_s_ifspec;

#ifndef __IGuestDirectoryReadEvent_INTERFACE_DEFINED__
#define __IGuestDirectoryReadEvent_INTERFACE_DEFINED__

/* interface IGuestDirectoryReadEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestDirectoryReadEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4e774bbe-5285-4517-8d34-21260633c513")
    IGuestDirectoryReadEvent : public IGuestDirectoryEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *aPath) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ObjInfo( 
            /* [retval][out] */ IFsObjInfo **aObjInfo) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Owner( 
            /* [retval][out] */ BSTR *aOwner) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Groups( 
            /* [retval][out] */ BSTR *aGroups) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestDirectoryReadEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestDirectoryReadEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestDirectoryReadEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestDirectoryReadEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestDirectoryReadEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestDirectoryReadEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestDirectoryReadEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestDirectoryReadEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestDirectoryReadEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestDirectoryReadEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestDirectoryReadEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestDirectoryReadEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestDirectoryReadEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestDirectoryReadEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestDirectoryEvent, get_Directory)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Directory )( 
            IGuestDirectoryReadEvent * This,
            /* [retval][out] */ IGuestDirectory **aDirectory);
        
        DECLSPEC_XFGVIRT(IGuestDirectoryReadEvent, get_Path)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IGuestDirectoryReadEvent * This,
            /* [retval][out] */ BSTR *aPath);
        
        DECLSPEC_XFGVIRT(IGuestDirectoryReadEvent, get_ObjInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjInfo )( 
            IGuestDirectoryReadEvent * This,
            /* [retval][out] */ IFsObjInfo **aObjInfo);
        
        DECLSPEC_XFGVIRT(IGuestDirectoryReadEvent, get_Owner)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Owner )( 
            IGuestDirectoryReadEvent * This,
            /* [retval][out] */ BSTR *aOwner);
        
        DECLSPEC_XFGVIRT(IGuestDirectoryReadEvent, get_Groups)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Groups )( 
            IGuestDirectoryReadEvent * This,
            /* [retval][out] */ BSTR *aGroups);
        
        END_INTERFACE
    } IGuestDirectoryReadEventVtbl;

    interface IGuestDirectoryReadEvent
    {
        CONST_VTBL struct IGuestDirectoryReadEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestDirectoryReadEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestDirectoryReadEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestDirectoryReadEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestDirectoryReadEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestDirectoryReadEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestDirectoryReadEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestDirectoryReadEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestDirectoryReadEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestDirectoryReadEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestDirectoryReadEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestDirectoryReadEvent_get_Directory(This,aDirectory)	\
    ( (This)->lpVtbl -> get_Directory(This,aDirectory) ) 


#define IGuestDirectoryReadEvent_get_Path(This,aPath)	\
    ( (This)->lpVtbl -> get_Path(This,aPath) ) 

#define IGuestDirectoryReadEvent_get_ObjInfo(This,aObjInfo)	\
    ( (This)->lpVtbl -> get_ObjInfo(This,aObjInfo) ) 

#define IGuestDirectoryReadEvent_get_Owner(This,aOwner)	\
    ( (This)->lpVtbl -> get_Owner(This,aOwner) ) 

#define IGuestDirectoryReadEvent_get_Groups(This,aGroups)	\
    ( (This)->lpVtbl -> get_Groups(This,aGroups) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestDirectoryReadEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0165 */
/* [local] */ 

#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Path_TO(smth) HRESULT STDMETHODCALLTYPE get_Path (BSTR * aPath) { return smth get_Path (aPath); }
#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Path_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Path_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Path_TO_BASE(base) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Path_TO (base::)
#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_ObjInfo_TO(smth) HRESULT STDMETHODCALLTYPE get_ObjInfo (IFsObjInfo * * aObjInfo) { return smth get_ObjInfo (aObjInfo); }
#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_ObjInfo_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_ObjInfo_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_ObjInfo_TO_BASE(base) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_ObjInfo_TO (base::)
#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Owner_TO(smth) HRESULT STDMETHODCALLTYPE get_Owner (BSTR * aOwner) { return smth get_Owner (aOwner); }
#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Owner_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Owner_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Owner_TO_BASE(base) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Owner_TO (base::)
#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Groups_TO(smth) HRESULT STDMETHODCALLTYPE get_Groups (BSTR * aGroups) { return smth get_Groups (aGroups); }
#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Groups_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Groups_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Groups_TO_BASE(base) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Groups_TO (base::)
#define COM_FORWARD_IGuestDirectoryReadEvent_TO(smth) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Path_TO (smth) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_ObjInfo_TO (smth) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Owner_TO (smth) COM_FORWARD_IGuestDirectoryReadEvent_GETTER_Groups_TO (smth) 
#define COM_FORWARD_IGuestDirectoryReadEvent_TO_OBJ(obj) COM_FORWARD_IGuestDirectoryReadEvent_TO ((obj)->)
#define COM_FORWARD_IGuestDirectoryReadEvent_TO_BASE(base) COM_FORWARD_IGuestDirectoryReadEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0165_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0165_v0_0_s_ifspec;

#ifndef __IGuestFileEvent_INTERFACE_DEFINED__
#define __IGuestFileEvent_INTERFACE_DEFINED__

/* interface IGuestFileEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestFileEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c8adb7b0-057d-4391-b928-f14b06b710c5")
    IGuestFileEvent : public IGuestSessionEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_File( 
            /* [retval][out] */ IGuestFile **aFile) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestFileEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestFileEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestFileEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestFileEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestFileEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestFileEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestFileEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestFileEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestFileEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestFileEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestFileEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestFileEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestFileEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestFileEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestFileEvent, get_File)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_File )( 
            IGuestFileEvent * This,
            /* [retval][out] */ IGuestFile **aFile);
        
        END_INTERFACE
    } IGuestFileEventVtbl;

    interface IGuestFileEvent
    {
        CONST_VTBL struct IGuestFileEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestFileEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestFileEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestFileEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestFileEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestFileEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestFileEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestFileEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestFileEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestFileEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestFileEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestFileEvent_get_File(This,aFile)	\
    ( (This)->lpVtbl -> get_File(This,aFile) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestFileEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0166 */
/* [local] */ 

#define COM_FORWARD_IGuestFileEvent_GETTER_File_TO(smth) HRESULT STDMETHODCALLTYPE get_File (IGuestFile * * aFile) { return smth get_File (aFile); }
#define COM_FORWARD_IGuestFileEvent_GETTER_File_TO_OBJ(obj) COM_FORWARD_IGuestFileEvent_GETTER_File_TO ((obj)->)
#define COM_FORWARD_IGuestFileEvent_GETTER_File_TO_BASE(base) COM_FORWARD_IGuestFileEvent_GETTER_File_TO (base::)
#define COM_FORWARD_IGuestFileEvent_TO(smth) COM_FORWARD_IGuestFileEvent_GETTER_File_TO (smth) 
#define COM_FORWARD_IGuestFileEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileEvent_TO ((obj)->)
#define COM_FORWARD_IGuestFileEvent_TO_BASE(base) COM_FORWARD_IGuestFileEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0166_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0166_v0_0_s_ifspec;

#ifndef __IGuestFileRegisteredEvent_INTERFACE_DEFINED__
#define __IGuestFileRegisteredEvent_INTERFACE_DEFINED__

/* interface IGuestFileRegisteredEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestFileRegisteredEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d0d93830-70a2-487e-895e-d3fc9679f7b3")
    IGuestFileRegisteredEvent : public IGuestFileEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Registered( 
            /* [retval][out] */ BOOL *aRegistered) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestFileRegisteredEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestFileRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestFileRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestFileRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestFileRegisteredEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestFileRegisteredEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestFileRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestFileRegisteredEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestFileRegisteredEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestFileRegisteredEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestFileRegisteredEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestFileRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestFileRegisteredEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestFileRegisteredEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestFileEvent, get_File)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_File )( 
            IGuestFileRegisteredEvent * This,
            /* [retval][out] */ IGuestFile **aFile);
        
        DECLSPEC_XFGVIRT(IGuestFileRegisteredEvent, get_Registered)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Registered )( 
            IGuestFileRegisteredEvent * This,
            /* [retval][out] */ BOOL *aRegistered);
        
        END_INTERFACE
    } IGuestFileRegisteredEventVtbl;

    interface IGuestFileRegisteredEvent
    {
        CONST_VTBL struct IGuestFileRegisteredEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestFileRegisteredEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestFileRegisteredEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestFileRegisteredEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestFileRegisteredEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestFileRegisteredEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestFileRegisteredEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestFileRegisteredEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestFileRegisteredEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestFileRegisteredEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestFileRegisteredEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestFileRegisteredEvent_get_File(This,aFile)	\
    ( (This)->lpVtbl -> get_File(This,aFile) ) 


#define IGuestFileRegisteredEvent_get_Registered(This,aRegistered)	\
    ( (This)->lpVtbl -> get_Registered(This,aRegistered) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestFileRegisteredEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0167 */
/* [local] */ 

#define COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }
#define COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO ((obj)->)
#define COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO (base::)
#define COM_FORWARD_IGuestFileRegisteredEvent_TO(smth) COM_FORWARD_IGuestFileRegisteredEvent_GETTER_Registered_TO (smth) 
#define COM_FORWARD_IGuestFileRegisteredEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileRegisteredEvent_TO ((obj)->)
#define COM_FORWARD_IGuestFileRegisteredEvent_TO_BASE(base) COM_FORWARD_IGuestFileRegisteredEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0167_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0167_v0_0_s_ifspec;

#ifndef __IGuestFileStateChangedEvent_INTERFACE_DEFINED__
#define __IGuestFileStateChangedEvent_INTERFACE_DEFINED__

/* interface IGuestFileStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestFileStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d37fe88f-0979-486c-baa1-3abb144dc82d")
    IGuestFileStateChangedEvent : public IGuestFileEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ FileStatus *aStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Error( 
            /* [retval][out] */ IVirtualBoxErrorInfo **aError) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestFileStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestFileStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestFileStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestFileStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestFileStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestFileStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestFileStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestFileStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestFileStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestFileStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestFileStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestFileStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestFileStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestFileStateChangedEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestFileEvent, get_File)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_File )( 
            IGuestFileStateChangedEvent * This,
            /* [retval][out] */ IGuestFile **aFile);
        
        DECLSPEC_XFGVIRT(IGuestFileStateChangedEvent, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IGuestFileStateChangedEvent * This,
            /* [retval][out] */ FileStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IGuestFileStateChangedEvent, get_Error)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Error )( 
            IGuestFileStateChangedEvent * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aError);
        
        END_INTERFACE
    } IGuestFileStateChangedEventVtbl;

    interface IGuestFileStateChangedEvent
    {
        CONST_VTBL struct IGuestFileStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestFileStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestFileStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestFileStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestFileStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestFileStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestFileStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestFileStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestFileStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestFileStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestFileStateChangedEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestFileStateChangedEvent_get_File(This,aFile)	\
    ( (This)->lpVtbl -> get_File(This,aFile) ) 


#define IGuestFileStateChangedEvent_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IGuestFileStateChangedEvent_get_Error(This,aError)	\
    ( (This)->lpVtbl -> get_Error(This,aError) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestFileStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0168 */
/* [local] */ 

#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (FileStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO (base::)
#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }
#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO ((obj)->)
#define COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO (base::)
#define COM_FORWARD_IGuestFileStateChangedEvent_TO(smth) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Status_TO (smth) COM_FORWARD_IGuestFileStateChangedEvent_GETTER_Error_TO (smth) 
#define COM_FORWARD_IGuestFileStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestFileStateChangedEvent_TO_BASE(base) COM_FORWARD_IGuestFileStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0168_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0168_v0_0_s_ifspec;

#ifndef __IGuestFileIOEvent_INTERFACE_DEFINED__
#define __IGuestFileIOEvent_INTERFACE_DEFINED__

/* interface IGuestFileIOEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestFileIOEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b5191a7c-9536-4ef8-820e-3b0e17e5bbc8")
    IGuestFileIOEvent : public IGuestFileEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Offset( 
            /* [retval][out] */ LONG64 *aOffset) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Processed( 
            /* [retval][out] */ ULONG *aProcessed) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestFileIOEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestFileIOEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestFileIOEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestFileIOEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestFileIOEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestFileIOEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestFileIOEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestFileIOEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestFileIOEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestFileIOEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestFileIOEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestFileIOEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestFileIOEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestFileIOEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestFileEvent, get_File)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_File )( 
            IGuestFileIOEvent * This,
            /* [retval][out] */ IGuestFile **aFile);
        
        DECLSPEC_XFGVIRT(IGuestFileIOEvent, get_Offset)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Offset )( 
            IGuestFileIOEvent * This,
            /* [retval][out] */ LONG64 *aOffset);
        
        DECLSPEC_XFGVIRT(IGuestFileIOEvent, get_Processed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Processed )( 
            IGuestFileIOEvent * This,
            /* [retval][out] */ ULONG *aProcessed);
        
        END_INTERFACE
    } IGuestFileIOEventVtbl;

    interface IGuestFileIOEvent
    {
        CONST_VTBL struct IGuestFileIOEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestFileIOEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestFileIOEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestFileIOEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestFileIOEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestFileIOEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestFileIOEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestFileIOEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestFileIOEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestFileIOEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestFileIOEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestFileIOEvent_get_File(This,aFile)	\
    ( (This)->lpVtbl -> get_File(This,aFile) ) 


#define IGuestFileIOEvent_get_Offset(This,aOffset)	\
    ( (This)->lpVtbl -> get_Offset(This,aOffset) ) 

#define IGuestFileIOEvent_get_Processed(This,aProcessed)	\
    ( (This)->lpVtbl -> get_Processed(This,aProcessed) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestFileIOEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0169 */
/* [local] */ 

#define COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO(smth) HRESULT STDMETHODCALLTYPE get_Offset (LONG64 * aOffset) { return smth get_Offset (aOffset); }
#define COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO_OBJ(obj) COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO ((obj)->)
#define COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO_BASE(base) COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO (base::)
#define COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO(smth) HRESULT STDMETHODCALLTYPE get_Processed (ULONG * aProcessed) { return smth get_Processed (aProcessed); }
#define COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO_OBJ(obj) COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO ((obj)->)
#define COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO_BASE(base) COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO (base::)
#define COM_FORWARD_IGuestFileIOEvent_TO(smth) COM_FORWARD_IGuestFileIOEvent_GETTER_Offset_TO (smth) COM_FORWARD_IGuestFileIOEvent_GETTER_Processed_TO (smth) 
#define COM_FORWARD_IGuestFileIOEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileIOEvent_TO ((obj)->)
#define COM_FORWARD_IGuestFileIOEvent_TO_BASE(base) COM_FORWARD_IGuestFileIOEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0169_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0169_v0_0_s_ifspec;

#ifndef __IGuestFileOffsetChangedEvent_INTERFACE_DEFINED__
#define __IGuestFileOffsetChangedEvent_INTERFACE_DEFINED__

/* interface IGuestFileOffsetChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestFileOffsetChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e8f79a21-1207-4179-94cf-ca250036308f")
    IGuestFileOffsetChangedEvent : public IGuestFileIOEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestFileOffsetChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestFileOffsetChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestFileOffsetChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestFileOffsetChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestFileOffsetChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestFileOffsetChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestFileOffsetChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestFileOffsetChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestFileOffsetChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestFileOffsetChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestFileOffsetChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestFileOffsetChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestFileOffsetChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestFileOffsetChangedEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestFileEvent, get_File)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_File )( 
            IGuestFileOffsetChangedEvent * This,
            /* [retval][out] */ IGuestFile **aFile);
        
        DECLSPEC_XFGVIRT(IGuestFileIOEvent, get_Offset)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Offset )( 
            IGuestFileOffsetChangedEvent * This,
            /* [retval][out] */ LONG64 *aOffset);
        
        DECLSPEC_XFGVIRT(IGuestFileIOEvent, get_Processed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Processed )( 
            IGuestFileOffsetChangedEvent * This,
            /* [retval][out] */ ULONG *aProcessed);
        
        DECLSPEC_XFGVIRT(IGuestFileOffsetChangedEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IGuestFileOffsetChangedEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IGuestFileOffsetChangedEventVtbl;

    interface IGuestFileOffsetChangedEvent
    {
        CONST_VTBL struct IGuestFileOffsetChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestFileOffsetChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestFileOffsetChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestFileOffsetChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestFileOffsetChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestFileOffsetChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestFileOffsetChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestFileOffsetChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestFileOffsetChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestFileOffsetChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestFileOffsetChangedEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestFileOffsetChangedEvent_get_File(This,aFile)	\
    ( (This)->lpVtbl -> get_File(This,aFile) ) 


#define IGuestFileOffsetChangedEvent_get_Offset(This,aOffset)	\
    ( (This)->lpVtbl -> get_Offset(This,aOffset) ) 

#define IGuestFileOffsetChangedEvent_get_Processed(This,aProcessed)	\
    ( (This)->lpVtbl -> get_Processed(This,aProcessed) ) 


#define IGuestFileOffsetChangedEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestFileOffsetChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0170 */
/* [local] */ 

#define COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IGuestFileOffsetChangedEvent_TO(smth) COM_FORWARD_IGuestFileOffsetChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IGuestFileOffsetChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileOffsetChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestFileOffsetChangedEvent_TO_BASE(base) COM_FORWARD_IGuestFileOffsetChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0170_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0170_v0_0_s_ifspec;

#ifndef __IGuestFileSizeChangedEvent_INTERFACE_DEFINED__
#define __IGuestFileSizeChangedEvent_INTERFACE_DEFINED__

/* interface IGuestFileSizeChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestFileSizeChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d78374e9-486e-472f-481b-969746af2480")
    IGuestFileSizeChangedEvent : public IGuestFileEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NewSize( 
            /* [retval][out] */ LONG64 *aNewSize) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestFileSizeChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestFileSizeChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestFileSizeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestFileSizeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestFileSizeChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestFileSizeChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestFileSizeChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestFileSizeChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestFileSizeChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestFileSizeChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestFileSizeChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestFileSizeChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestFileSizeChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestFileSizeChangedEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestFileEvent, get_File)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_File )( 
            IGuestFileSizeChangedEvent * This,
            /* [retval][out] */ IGuestFile **aFile);
        
        DECLSPEC_XFGVIRT(IGuestFileSizeChangedEvent, get_NewSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NewSize )( 
            IGuestFileSizeChangedEvent * This,
            /* [retval][out] */ LONG64 *aNewSize);
        
        END_INTERFACE
    } IGuestFileSizeChangedEventVtbl;

    interface IGuestFileSizeChangedEvent
    {
        CONST_VTBL struct IGuestFileSizeChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestFileSizeChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestFileSizeChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestFileSizeChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestFileSizeChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestFileSizeChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestFileSizeChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestFileSizeChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestFileSizeChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestFileSizeChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestFileSizeChangedEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestFileSizeChangedEvent_get_File(This,aFile)	\
    ( (This)->lpVtbl -> get_File(This,aFile) ) 


#define IGuestFileSizeChangedEvent_get_NewSize(This,aNewSize)	\
    ( (This)->lpVtbl -> get_NewSize(This,aNewSize) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestFileSizeChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0171 */
/* [local] */ 

#define COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO(smth) HRESULT STDMETHODCALLTYPE get_NewSize (LONG64 * aNewSize) { return smth get_NewSize (aNewSize); }
#define COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO_OBJ(obj) COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO ((obj)->)
#define COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO_BASE(base) COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO (base::)
#define COM_FORWARD_IGuestFileSizeChangedEvent_TO(smth) COM_FORWARD_IGuestFileSizeChangedEvent_GETTER_NewSize_TO (smth) 
#define COM_FORWARD_IGuestFileSizeChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileSizeChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestFileSizeChangedEvent_TO_BASE(base) COM_FORWARD_IGuestFileSizeChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0171_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0171_v0_0_s_ifspec;

#ifndef __IGuestFileReadEvent_INTERFACE_DEFINED__
#define __IGuestFileReadEvent_INTERFACE_DEFINED__

/* interface IGuestFileReadEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestFileReadEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4ee3cbcb-486f-40db-9150-deee3fd24189")
    IGuestFileReadEvent : public IGuestFileIOEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Data( 
            /* [retval][out] */ SAFEARRAY * *aData) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestFileReadEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestFileReadEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestFileReadEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestFileReadEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestFileReadEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestFileReadEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestFileReadEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestFileReadEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestFileReadEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestFileReadEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestFileReadEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestFileReadEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestFileReadEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestFileReadEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestFileEvent, get_File)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_File )( 
            IGuestFileReadEvent * This,
            /* [retval][out] */ IGuestFile **aFile);
        
        DECLSPEC_XFGVIRT(IGuestFileIOEvent, get_Offset)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Offset )( 
            IGuestFileReadEvent * This,
            /* [retval][out] */ LONG64 *aOffset);
        
        DECLSPEC_XFGVIRT(IGuestFileIOEvent, get_Processed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Processed )( 
            IGuestFileReadEvent * This,
            /* [retval][out] */ ULONG *aProcessed);
        
        DECLSPEC_XFGVIRT(IGuestFileReadEvent, get_Data)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
            IGuestFileReadEvent * This,
            /* [retval][out] */ SAFEARRAY * *aData);
        
        END_INTERFACE
    } IGuestFileReadEventVtbl;

    interface IGuestFileReadEvent
    {
        CONST_VTBL struct IGuestFileReadEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestFileReadEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestFileReadEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestFileReadEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestFileReadEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestFileReadEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestFileReadEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestFileReadEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestFileReadEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestFileReadEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestFileReadEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestFileReadEvent_get_File(This,aFile)	\
    ( (This)->lpVtbl -> get_File(This,aFile) ) 


#define IGuestFileReadEvent_get_Offset(This,aOffset)	\
    ( (This)->lpVtbl -> get_Offset(This,aOffset) ) 

#define IGuestFileReadEvent_get_Processed(This,aProcessed)	\
    ( (This)->lpVtbl -> get_Processed(This,aProcessed) ) 


#define IGuestFileReadEvent_get_Data(This,aData)	\
    ( (This)->lpVtbl -> get_Data(This,aData) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestFileReadEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0172 */
/* [local] */ 

#define COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO(smth) HRESULT STDMETHODCALLTYPE get_Data (SAFEARRAY * * aData) { return smth get_Data (aData); }
#define COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO_OBJ(obj) COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO ((obj)->)
#define COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO_BASE(base) COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO (base::)
#define COM_FORWARD_IGuestFileReadEvent_TO(smth) COM_FORWARD_IGuestFileReadEvent_GETTER_Data_TO (smth) 
#define COM_FORWARD_IGuestFileReadEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileReadEvent_TO ((obj)->)
#define COM_FORWARD_IGuestFileReadEvent_TO_BASE(base) COM_FORWARD_IGuestFileReadEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0172_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0172_v0_0_s_ifspec;

#ifndef __IGuestFileWriteEvent_INTERFACE_DEFINED__
#define __IGuestFileWriteEvent_INTERFACE_DEFINED__

/* interface IGuestFileWriteEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestFileWriteEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e062a915-3cf5-4c0a-bc90-9b8d4cc94d89")
    IGuestFileWriteEvent : public IGuestFileIOEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestFileWriteEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestFileWriteEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestFileWriteEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestFileWriteEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestFileWriteEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestFileWriteEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestFileWriteEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestFileWriteEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestFileWriteEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestFileWriteEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestFileWriteEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestFileWriteEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestFileWriteEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestSessionEvent, get_Session)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Session )( 
            IGuestFileWriteEvent * This,
            /* [retval][out] */ IGuestSession **aSession);
        
        DECLSPEC_XFGVIRT(IGuestFileEvent, get_File)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_File )( 
            IGuestFileWriteEvent * This,
            /* [retval][out] */ IGuestFile **aFile);
        
        DECLSPEC_XFGVIRT(IGuestFileIOEvent, get_Offset)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Offset )( 
            IGuestFileWriteEvent * This,
            /* [retval][out] */ LONG64 *aOffset);
        
        DECLSPEC_XFGVIRT(IGuestFileIOEvent, get_Processed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Processed )( 
            IGuestFileWriteEvent * This,
            /* [retval][out] */ ULONG *aProcessed);
        
        DECLSPEC_XFGVIRT(IGuestFileWriteEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IGuestFileWriteEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IGuestFileWriteEventVtbl;

    interface IGuestFileWriteEvent
    {
        CONST_VTBL struct IGuestFileWriteEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestFileWriteEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestFileWriteEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestFileWriteEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestFileWriteEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestFileWriteEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestFileWriteEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestFileWriteEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestFileWriteEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestFileWriteEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestFileWriteEvent_get_Session(This,aSession)	\
    ( (This)->lpVtbl -> get_Session(This,aSession) ) 


#define IGuestFileWriteEvent_get_File(This,aFile)	\
    ( (This)->lpVtbl -> get_File(This,aFile) ) 


#define IGuestFileWriteEvent_get_Offset(This,aOffset)	\
    ( (This)->lpVtbl -> get_Offset(This,aOffset) ) 

#define IGuestFileWriteEvent_get_Processed(This,aProcessed)	\
    ( (This)->lpVtbl -> get_Processed(This,aProcessed) ) 


#define IGuestFileWriteEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestFileWriteEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0173 */
/* [local] */ 

#define COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IGuestFileWriteEvent_TO(smth) COM_FORWARD_IGuestFileWriteEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IGuestFileWriteEvent_TO_OBJ(obj) COM_FORWARD_IGuestFileWriteEvent_TO ((obj)->)
#define COM_FORWARD_IGuestFileWriteEvent_TO_BASE(base) COM_FORWARD_IGuestFileWriteEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0173_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0173_v0_0_s_ifspec;

#ifndef __IVRDEServerChangedEvent_INTERFACE_DEFINED__
#define __IVRDEServerChangedEvent_INTERFACE_DEFINED__

/* interface IVRDEServerChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVRDEServerChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a06fd66a-3188-4c8c-8756-1395e8cb691c")
    IVRDEServerChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVRDEServerChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVRDEServerChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVRDEServerChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVRDEServerChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IVRDEServerChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IVRDEServerChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IVRDEServerChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IVRDEServerChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IVRDEServerChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IVRDEServerChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IVRDEServerChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IVRDEServerChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IVRDEServerChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVRDEServerChangedEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IVRDEServerChangedEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IVRDEServerChangedEventVtbl;

    interface IVRDEServerChangedEvent
    {
        CONST_VTBL struct IVRDEServerChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVRDEServerChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IVRDEServerChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IVRDEServerChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IVRDEServerChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IVRDEServerChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IVRDEServerChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IVRDEServerChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IVRDEServerChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IVRDEServerChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IVRDEServerChangedEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVRDEServerChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0174 */
/* [local] */ 

#define COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IVRDEServerChangedEvent_TO(smth) COM_FORWARD_IVRDEServerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IVRDEServerChangedEvent_TO_OBJ(obj) COM_FORWARD_IVRDEServerChangedEvent_TO ((obj)->)
#define COM_FORWARD_IVRDEServerChangedEvent_TO_BASE(base) COM_FORWARD_IVRDEServerChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0174_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0174_v0_0_s_ifspec;

#ifndef __IVRDEServerInfoChangedEvent_INTERFACE_DEFINED__
#define __IVRDEServerInfoChangedEvent_INTERFACE_DEFINED__

/* interface IVRDEServerInfoChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVRDEServerInfoChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("dd6a1080-e1b7-4339-a549-f0878115596e")
    IVRDEServerInfoChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVRDEServerInfoChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVRDEServerInfoChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVRDEServerInfoChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVRDEServerInfoChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IVRDEServerInfoChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IVRDEServerInfoChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IVRDEServerInfoChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IVRDEServerInfoChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IVRDEServerInfoChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IVRDEServerInfoChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IVRDEServerInfoChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IVRDEServerInfoChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IVRDEServerInfoChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVRDEServerInfoChangedEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IVRDEServerInfoChangedEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IVRDEServerInfoChangedEventVtbl;

    interface IVRDEServerInfoChangedEvent
    {
        CONST_VTBL struct IVRDEServerInfoChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVRDEServerInfoChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IVRDEServerInfoChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IVRDEServerInfoChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IVRDEServerInfoChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IVRDEServerInfoChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IVRDEServerInfoChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IVRDEServerInfoChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IVRDEServerInfoChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IVRDEServerInfoChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IVRDEServerInfoChangedEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVRDEServerInfoChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0175 */
/* [local] */ 

#define COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IVRDEServerInfoChangedEvent_TO(smth) COM_FORWARD_IVRDEServerInfoChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IVRDEServerInfoChangedEvent_TO_OBJ(obj) COM_FORWARD_IVRDEServerInfoChangedEvent_TO ((obj)->)
#define COM_FORWARD_IVRDEServerInfoChangedEvent_TO_BASE(base) COM_FORWARD_IVRDEServerInfoChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0175_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0175_v0_0_s_ifspec;

#ifndef __IRecordingStateChangedEvent_INTERFACE_DEFINED__
#define __IRecordingStateChangedEvent_INTERFACE_DEFINED__

/* interface IRecordingStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IRecordingStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e578bb9c-e88d-416b-bb45-08a4e7a5b463")
    IRecordingStateChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Error( 
            /* [retval][out] */ IVirtualBoxErrorInfo **aError) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRecordingStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRecordingStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRecordingStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRecordingStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRecordingStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRecordingStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRecordingStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRecordingStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IRecordingStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IRecordingStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IRecordingStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IRecordingStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IRecordingStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IRecordingStateChangedEvent, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IRecordingStateChangedEvent * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IRecordingStateChangedEvent, get_Error)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Error )( 
            IRecordingStateChangedEvent * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aError);
        
        END_INTERFACE
    } IRecordingStateChangedEventVtbl;

    interface IRecordingStateChangedEvent
    {
        CONST_VTBL struct IRecordingStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRecordingStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRecordingStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRecordingStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRecordingStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRecordingStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IRecordingStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IRecordingStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IRecordingStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IRecordingStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IRecordingStateChangedEvent_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IRecordingStateChangedEvent_get_Error(This,aError)	\
    ( (This)->lpVtbl -> get_Error(This,aError) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRecordingStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0176 */
/* [local] */ 

#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IRecordingStateChangedEvent_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IRecordingStateChangedEvent_GETTER_Enabled_TO (base::)
#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }
#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO ((obj)->)
#define COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO (base::)
#define COM_FORWARD_IRecordingStateChangedEvent_TO(smth) COM_FORWARD_IRecordingStateChangedEvent_GETTER_Enabled_TO (smth) COM_FORWARD_IRecordingStateChangedEvent_GETTER_Error_TO (smth) 
#define COM_FORWARD_IRecordingStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IRecordingStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IRecordingStateChangedEvent_TO_BASE(base) COM_FORWARD_IRecordingStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0176_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0176_v0_0_s_ifspec;

#ifndef __IRecordingScreenStateChangedEvent_INTERFACE_DEFINED__
#define __IRecordingScreenStateChangedEvent_INTERFACE_DEFINED__

/* interface IRecordingScreenStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IRecordingScreenStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5900472f-cc58-48ac-a088-b571b77f839b")
    IRecordingScreenStateChangedEvent : public IRecordingStateChangedEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Screen( 
            /* [retval][out] */ ULONG *aScreen) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRecordingScreenStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRecordingScreenStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRecordingScreenStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRecordingScreenStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRecordingScreenStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRecordingScreenStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRecordingScreenStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRecordingScreenStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IRecordingScreenStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IRecordingScreenStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IRecordingScreenStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IRecordingScreenStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IRecordingScreenStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IRecordingStateChangedEvent, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IRecordingScreenStateChangedEvent * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IRecordingStateChangedEvent, get_Error)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Error )( 
            IRecordingScreenStateChangedEvent * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aError);
        
        DECLSPEC_XFGVIRT(IRecordingScreenStateChangedEvent, get_Screen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Screen )( 
            IRecordingScreenStateChangedEvent * This,
            /* [retval][out] */ ULONG *aScreen);
        
        END_INTERFACE
    } IRecordingScreenStateChangedEventVtbl;

    interface IRecordingScreenStateChangedEvent
    {
        CONST_VTBL struct IRecordingScreenStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRecordingScreenStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRecordingScreenStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRecordingScreenStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRecordingScreenStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRecordingScreenStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IRecordingScreenStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IRecordingScreenStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IRecordingScreenStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IRecordingScreenStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IRecordingScreenStateChangedEvent_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IRecordingScreenStateChangedEvent_get_Error(This,aError)	\
    ( (This)->lpVtbl -> get_Error(This,aError) ) 


#define IRecordingScreenStateChangedEvent_get_Screen(This,aScreen)	\
    ( (This)->lpVtbl -> get_Screen(This,aScreen) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRecordingScreenStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0177 */
/* [local] */ 

#define COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO(smth) HRESULT STDMETHODCALLTYPE get_Screen (ULONG * aScreen) { return smth get_Screen (aScreen); }
#define COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO_OBJ(obj) COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO_BASE(base) COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO (base::)
#define COM_FORWARD_IRecordingScreenStateChangedEvent_TO(smth) COM_FORWARD_IRecordingScreenStateChangedEvent_GETTER_Screen_TO (smth) 
#define COM_FORWARD_IRecordingScreenStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IRecordingScreenStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IRecordingScreenStateChangedEvent_TO_BASE(base) COM_FORWARD_IRecordingScreenStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0177_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0177_v0_0_s_ifspec;

#ifndef __IUSBControllerChangedEvent_INTERFACE_DEFINED__
#define __IUSBControllerChangedEvent_INTERFACE_DEFINED__

/* interface IUSBControllerChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUSBControllerChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("93BADC0C-61D9-4940-A084-E6BB29AF3D83")
    IUSBControllerChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUSBControllerChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUSBControllerChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUSBControllerChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUSBControllerChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUSBControllerChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUSBControllerChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUSBControllerChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUSBControllerChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IUSBControllerChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IUSBControllerChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IUSBControllerChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IUSBControllerChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IUSBControllerChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IUSBControllerChangedEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IUSBControllerChangedEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IUSBControllerChangedEventVtbl;

    interface IUSBControllerChangedEvent
    {
        CONST_VTBL struct IUSBControllerChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUSBControllerChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUSBControllerChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUSBControllerChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUSBControllerChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUSBControllerChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IUSBControllerChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IUSBControllerChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IUSBControllerChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IUSBControllerChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IUSBControllerChangedEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUSBControllerChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0178 */
/* [local] */ 

#define COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IUSBControllerChangedEvent_TO(smth) COM_FORWARD_IUSBControllerChangedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IUSBControllerChangedEvent_TO_OBJ(obj) COM_FORWARD_IUSBControllerChangedEvent_TO ((obj)->)
#define COM_FORWARD_IUSBControllerChangedEvent_TO_BASE(base) COM_FORWARD_IUSBControllerChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0178_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0178_v0_0_s_ifspec;

#ifndef __IUSBDeviceStateChangedEvent_INTERFACE_DEFINED__
#define __IUSBDeviceStateChangedEvent_INTERFACE_DEFINED__

/* interface IUSBDeviceStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUSBDeviceStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("806da61b-6679-422a-b629-51b06b0c6d93")
    IUSBDeviceStateChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Device( 
            /* [retval][out] */ IUSBDevice **aDevice) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Attached( 
            /* [retval][out] */ BOOL *aAttached) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Error( 
            /* [retval][out] */ IVirtualBoxErrorInfo **aError) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUSBDeviceStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUSBDeviceStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUSBDeviceStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUSBDeviceStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUSBDeviceStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUSBDeviceStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUSBDeviceStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUSBDeviceStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IUSBDeviceStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IUSBDeviceStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IUSBDeviceStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IUSBDeviceStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IUSBDeviceStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IUSBDeviceStateChangedEvent, get_Device)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Device )( 
            IUSBDeviceStateChangedEvent * This,
            /* [retval][out] */ IUSBDevice **aDevice);
        
        DECLSPEC_XFGVIRT(IUSBDeviceStateChangedEvent, get_Attached)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attached )( 
            IUSBDeviceStateChangedEvent * This,
            /* [retval][out] */ BOOL *aAttached);
        
        DECLSPEC_XFGVIRT(IUSBDeviceStateChangedEvent, get_Error)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Error )( 
            IUSBDeviceStateChangedEvent * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aError);
        
        END_INTERFACE
    } IUSBDeviceStateChangedEventVtbl;

    interface IUSBDeviceStateChangedEvent
    {
        CONST_VTBL struct IUSBDeviceStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUSBDeviceStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUSBDeviceStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUSBDeviceStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUSBDeviceStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUSBDeviceStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IUSBDeviceStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IUSBDeviceStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IUSBDeviceStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IUSBDeviceStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IUSBDeviceStateChangedEvent_get_Device(This,aDevice)	\
    ( (This)->lpVtbl -> get_Device(This,aDevice) ) 

#define IUSBDeviceStateChangedEvent_get_Attached(This,aAttached)	\
    ( (This)->lpVtbl -> get_Attached(This,aAttached) ) 

#define IUSBDeviceStateChangedEvent_get_Error(This,aError)	\
    ( (This)->lpVtbl -> get_Error(This,aError) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUSBDeviceStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0179 */
/* [local] */ 

#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Device_TO(smth) HRESULT STDMETHODCALLTYPE get_Device (IUSBDevice * * aDevice) { return smth get_Device (aDevice); }
#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Device_TO_OBJ(obj) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Device_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Device_TO_BASE(base) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Device_TO (base::)
#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Attached_TO(smth) HRESULT STDMETHODCALLTYPE get_Attached (BOOL * aAttached) { return smth get_Attached (aAttached); }
#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Attached_TO_OBJ(obj) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Attached_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Attached_TO_BASE(base) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Attached_TO (base::)
#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }
#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Error_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Error_TO (base::)
#define COM_FORWARD_IUSBDeviceStateChangedEvent_TO(smth) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Device_TO (smth) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Attached_TO (smth) COM_FORWARD_IUSBDeviceStateChangedEvent_GETTER_Error_TO (smth) 
#define COM_FORWARD_IUSBDeviceStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IUSBDeviceStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IUSBDeviceStateChangedEvent_TO_BASE(base) COM_FORWARD_IUSBDeviceStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0179_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0179_v0_0_s_ifspec;

#ifndef __ISharedFolderChangedEvent_INTERFACE_DEFINED__
#define __ISharedFolderChangedEvent_INTERFACE_DEFINED__

/* interface ISharedFolderChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ISharedFolderChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B66349B5-3534-4239-B2DE-8E1535D94C0B")
    ISharedFolderChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Scope( 
            /* [retval][out] */ Scope *aScope) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISharedFolderChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISharedFolderChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISharedFolderChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISharedFolderChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISharedFolderChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISharedFolderChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISharedFolderChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISharedFolderChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ISharedFolderChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ISharedFolderChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ISharedFolderChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ISharedFolderChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ISharedFolderChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ISharedFolderChangedEvent, get_Scope)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scope )( 
            ISharedFolderChangedEvent * This,
            /* [retval][out] */ Scope *aScope);
        
        END_INTERFACE
    } ISharedFolderChangedEventVtbl;

    interface ISharedFolderChangedEvent
    {
        CONST_VTBL struct ISharedFolderChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISharedFolderChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISharedFolderChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISharedFolderChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISharedFolderChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISharedFolderChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ISharedFolderChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ISharedFolderChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ISharedFolderChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ISharedFolderChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ISharedFolderChangedEvent_get_Scope(This,aScope)	\
    ( (This)->lpVtbl -> get_Scope(This,aScope) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISharedFolderChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0180 */
/* [local] */ 

#define COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO(smth) HRESULT STDMETHODCALLTYPE get_Scope (Scope * aScope) { return smth get_Scope (aScope); }
#define COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO_OBJ(obj) COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO ((obj)->)
#define COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO_BASE(base) COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO (base::)
#define COM_FORWARD_ISharedFolderChangedEvent_TO(smth) COM_FORWARD_ISharedFolderChangedEvent_GETTER_Scope_TO (smth) 
#define COM_FORWARD_ISharedFolderChangedEvent_TO_OBJ(obj) COM_FORWARD_ISharedFolderChangedEvent_TO ((obj)->)
#define COM_FORWARD_ISharedFolderChangedEvent_TO_BASE(base) COM_FORWARD_ISharedFolderChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0180_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0180_v0_0_s_ifspec;

#ifndef __IRuntimeErrorEvent_INTERFACE_DEFINED__
#define __IRuntimeErrorEvent_INTERFACE_DEFINED__

/* interface IRuntimeErrorEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IRuntimeErrorEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("883DD18B-0721-4CDE-867C-1A82ABAF914C")
    IRuntimeErrorEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Fatal( 
            /* [retval][out] */ BOOL *aFatal) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Message( 
            /* [retval][out] */ BSTR *aMessage) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRuntimeErrorEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRuntimeErrorEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRuntimeErrorEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRuntimeErrorEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRuntimeErrorEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRuntimeErrorEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRuntimeErrorEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRuntimeErrorEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IRuntimeErrorEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IRuntimeErrorEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IRuntimeErrorEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IRuntimeErrorEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IRuntimeErrorEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IRuntimeErrorEvent, get_Fatal)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fatal )( 
            IRuntimeErrorEvent * This,
            /* [retval][out] */ BOOL *aFatal);
        
        DECLSPEC_XFGVIRT(IRuntimeErrorEvent, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IRuntimeErrorEvent * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(IRuntimeErrorEvent, get_Message)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Message )( 
            IRuntimeErrorEvent * This,
            /* [retval][out] */ BSTR *aMessage);
        
        END_INTERFACE
    } IRuntimeErrorEventVtbl;

    interface IRuntimeErrorEvent
    {
        CONST_VTBL struct IRuntimeErrorEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRuntimeErrorEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRuntimeErrorEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRuntimeErrorEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRuntimeErrorEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRuntimeErrorEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IRuntimeErrorEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IRuntimeErrorEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IRuntimeErrorEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IRuntimeErrorEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IRuntimeErrorEvent_get_Fatal(This,aFatal)	\
    ( (This)->lpVtbl -> get_Fatal(This,aFatal) ) 

#define IRuntimeErrorEvent_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define IRuntimeErrorEvent_get_Message(This,aMessage)	\
    ( (This)->lpVtbl -> get_Message(This,aMessage) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRuntimeErrorEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0181 */
/* [local] */ 

#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Fatal_TO(smth) HRESULT STDMETHODCALLTYPE get_Fatal (BOOL * aFatal) { return smth get_Fatal (aFatal); }
#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Fatal_TO_OBJ(obj) COM_FORWARD_IRuntimeErrorEvent_GETTER_Fatal_TO ((obj)->)
#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Fatal_TO_BASE(base) COM_FORWARD_IRuntimeErrorEvent_GETTER_Fatal_TO (base::)
#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Id_TO_OBJ(obj) COM_FORWARD_IRuntimeErrorEvent_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Id_TO_BASE(base) COM_FORWARD_IRuntimeErrorEvent_GETTER_Id_TO (base::)
#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Message_TO(smth) HRESULT STDMETHODCALLTYPE get_Message (BSTR * aMessage) { return smth get_Message (aMessage); }
#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Message_TO_OBJ(obj) COM_FORWARD_IRuntimeErrorEvent_GETTER_Message_TO ((obj)->)
#define COM_FORWARD_IRuntimeErrorEvent_GETTER_Message_TO_BASE(base) COM_FORWARD_IRuntimeErrorEvent_GETTER_Message_TO (base::)
#define COM_FORWARD_IRuntimeErrorEvent_TO(smth) COM_FORWARD_IRuntimeErrorEvent_GETTER_Fatal_TO (smth) COM_FORWARD_IRuntimeErrorEvent_GETTER_Id_TO (smth) COM_FORWARD_IRuntimeErrorEvent_GETTER_Message_TO (smth) 
#define COM_FORWARD_IRuntimeErrorEvent_TO_OBJ(obj) COM_FORWARD_IRuntimeErrorEvent_TO ((obj)->)
#define COM_FORWARD_IRuntimeErrorEvent_TO_BASE(base) COM_FORWARD_IRuntimeErrorEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0181_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0181_v0_0_s_ifspec;

#ifndef __IEventSourceChangedEvent_INTERFACE_DEFINED__
#define __IEventSourceChangedEvent_INTERFACE_DEFINED__

/* interface IEventSourceChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IEventSourceChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e7932cb8-f6d4-4ab6-9cbf-558eb8959a6a")
    IEventSourceChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Listener( 
            /* [retval][out] */ IEventListener **aListener) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Add( 
            /* [retval][out] */ BOOL *aAdd) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IEventSourceChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IEventSourceChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IEventSourceChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IEventSourceChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IEventSourceChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IEventSourceChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IEventSourceChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IEventSourceChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IEventSourceChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IEventSourceChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IEventSourceChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IEventSourceChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IEventSourceChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IEventSourceChangedEvent, get_Listener)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Listener )( 
            IEventSourceChangedEvent * This,
            /* [retval][out] */ IEventListener **aListener);
        
        DECLSPEC_XFGVIRT(IEventSourceChangedEvent, get_Add)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Add )( 
            IEventSourceChangedEvent * This,
            /* [retval][out] */ BOOL *aAdd);
        
        END_INTERFACE
    } IEventSourceChangedEventVtbl;

    interface IEventSourceChangedEvent
    {
        CONST_VTBL struct IEventSourceChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IEventSourceChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IEventSourceChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IEventSourceChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IEventSourceChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IEventSourceChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IEventSourceChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IEventSourceChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IEventSourceChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IEventSourceChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IEventSourceChangedEvent_get_Listener(This,aListener)	\
    ( (This)->lpVtbl -> get_Listener(This,aListener) ) 

#define IEventSourceChangedEvent_get_Add(This,aAdd)	\
    ( (This)->lpVtbl -> get_Add(This,aAdd) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IEventSourceChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0182 */
/* [local] */ 

#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO(smth) HRESULT STDMETHODCALLTYPE get_Listener (IEventListener * * aListener) { return smth get_Listener (aListener); }
#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO_OBJ(obj) COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO ((obj)->)
#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO_BASE(base) COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO (base::)
#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO(smth) HRESULT STDMETHODCALLTYPE get_Add (BOOL * aAdd) { return smth get_Add (aAdd); }
#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO_OBJ(obj) COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO ((obj)->)
#define COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO_BASE(base) COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO (base::)
#define COM_FORWARD_IEventSourceChangedEvent_TO(smth) COM_FORWARD_IEventSourceChangedEvent_GETTER_Listener_TO (smth) COM_FORWARD_IEventSourceChangedEvent_GETTER_Add_TO (smth) 
#define COM_FORWARD_IEventSourceChangedEvent_TO_OBJ(obj) COM_FORWARD_IEventSourceChangedEvent_TO ((obj)->)
#define COM_FORWARD_IEventSourceChangedEvent_TO_BASE(base) COM_FORWARD_IEventSourceChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0182_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0182_v0_0_s_ifspec;

#ifndef __IExtraDataChangedEvent_INTERFACE_DEFINED__
#define __IExtraDataChangedEvent_INTERFACE_DEFINED__

/* interface IExtraDataChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IExtraDataChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("024F00CE-6E0B-492A-A8D0-968472A94DC7")
    IExtraDataChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MachineId( 
            /* [retval][out] */ BSTR *aMachineId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Key( 
            /* [retval][out] */ BSTR *aKey) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ BSTR *aValue) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IExtraDataChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IExtraDataChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IExtraDataChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IExtraDataChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IExtraDataChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IExtraDataChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IExtraDataChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IExtraDataChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IExtraDataChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IExtraDataChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IExtraDataChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IExtraDataChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IExtraDataChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IExtraDataChangedEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            IExtraDataChangedEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(IExtraDataChangedEvent, get_Key)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Key )( 
            IExtraDataChangedEvent * This,
            /* [retval][out] */ BSTR *aKey);
        
        DECLSPEC_XFGVIRT(IExtraDataChangedEvent, get_Value)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            IExtraDataChangedEvent * This,
            /* [retval][out] */ BSTR *aValue);
        
        END_INTERFACE
    } IExtraDataChangedEventVtbl;

    interface IExtraDataChangedEvent
    {
        CONST_VTBL struct IExtraDataChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IExtraDataChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IExtraDataChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IExtraDataChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IExtraDataChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IExtraDataChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IExtraDataChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IExtraDataChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IExtraDataChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IExtraDataChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IExtraDataChangedEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 

#define IExtraDataChangedEvent_get_Key(This,aKey)	\
    ( (This)->lpVtbl -> get_Key(This,aKey) ) 

#define IExtraDataChangedEvent_get_Value(This,aValue)	\
    ( (This)->lpVtbl -> get_Value(This,aValue) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IExtraDataChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0183 */
/* [local] */ 

#define COM_FORWARD_IExtraDataChangedEvent_GETTER_MachineId_TO(smth) HRESULT STDMETHODCALLTYPE get_MachineId (BSTR * aMachineId) { return smth get_MachineId (aMachineId); }
#define COM_FORWARD_IExtraDataChangedEvent_GETTER_MachineId_TO_OBJ(obj) COM_FORWARD_IExtraDataChangedEvent_GETTER_MachineId_TO ((obj)->)
#define COM_FORWARD_IExtraDataChangedEvent_GETTER_MachineId_TO_BASE(base) COM_FORWARD_IExtraDataChangedEvent_GETTER_MachineId_TO (base::)
#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Key_TO(smth) HRESULT STDMETHODCALLTYPE get_Key (BSTR * aKey) { return smth get_Key (aKey); }
#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Key_TO_OBJ(obj) COM_FORWARD_IExtraDataChangedEvent_GETTER_Key_TO ((obj)->)
#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Key_TO_BASE(base) COM_FORWARD_IExtraDataChangedEvent_GETTER_Key_TO (base::)
#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Value_TO(smth) HRESULT STDMETHODCALLTYPE get_Value (BSTR * aValue) { return smth get_Value (aValue); }
#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Value_TO_OBJ(obj) COM_FORWARD_IExtraDataChangedEvent_GETTER_Value_TO ((obj)->)
#define COM_FORWARD_IExtraDataChangedEvent_GETTER_Value_TO_BASE(base) COM_FORWARD_IExtraDataChangedEvent_GETTER_Value_TO (base::)
#define COM_FORWARD_IExtraDataChangedEvent_TO(smth) COM_FORWARD_IExtraDataChangedEvent_GETTER_MachineId_TO (smth) COM_FORWARD_IExtraDataChangedEvent_GETTER_Key_TO (smth) COM_FORWARD_IExtraDataChangedEvent_GETTER_Value_TO (smth) 
#define COM_FORWARD_IExtraDataChangedEvent_TO_OBJ(obj) COM_FORWARD_IExtraDataChangedEvent_TO ((obj)->)
#define COM_FORWARD_IExtraDataChangedEvent_TO_BASE(base) COM_FORWARD_IExtraDataChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0183_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0183_v0_0_s_ifspec;

#ifndef __IVetoEvent_INTERFACE_DEFINED__
#define __IVetoEvent_INTERFACE_DEFINED__

/* interface IVetoEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVetoEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7c5e945f-2354-4267-883f-2f417d216519")
    IVetoEvent : public IEvent
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddVeto( 
            /* [in] */ BSTR aReason) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsVetoed( 
            /* [retval][out] */ BOOL *aResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVetos( 
            /* [retval][out] */ SAFEARRAY * *aResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddApproval( 
            /* [in] */ BSTR aReason) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsApproved( 
            /* [retval][out] */ BOOL *aResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetApprovals( 
            /* [retval][out] */ SAFEARRAY * *aResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVetoEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVetoEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVetoEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVetoEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IVetoEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IVetoEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IVetoEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IVetoEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IVetoEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IVetoEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IVetoEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IVetoEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IVetoEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, AddVeto)
        HRESULT ( STDMETHODCALLTYPE *AddVeto )( 
            IVetoEvent * This,
            /* [in] */ BSTR aReason);
        
        DECLSPEC_XFGVIRT(IVetoEvent, IsVetoed)
        HRESULT ( STDMETHODCALLTYPE *IsVetoed )( 
            IVetoEvent * This,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, GetVetos)
        HRESULT ( STDMETHODCALLTYPE *GetVetos )( 
            IVetoEvent * This,
            /* [retval][out] */ SAFEARRAY * *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, AddApproval)
        HRESULT ( STDMETHODCALLTYPE *AddApproval )( 
            IVetoEvent * This,
            /* [in] */ BSTR aReason);
        
        DECLSPEC_XFGVIRT(IVetoEvent, IsApproved)
        HRESULT ( STDMETHODCALLTYPE *IsApproved )( 
            IVetoEvent * This,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, GetApprovals)
        HRESULT ( STDMETHODCALLTYPE *GetApprovals )( 
            IVetoEvent * This,
            /* [retval][out] */ SAFEARRAY * *aResult);
        
        END_INTERFACE
    } IVetoEventVtbl;

    interface IVetoEvent
    {
        CONST_VTBL struct IVetoEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVetoEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IVetoEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IVetoEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IVetoEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IVetoEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IVetoEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IVetoEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IVetoEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IVetoEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IVetoEvent_AddVeto(This,aReason)	\
    ( (This)->lpVtbl -> AddVeto(This,aReason) ) 

#define IVetoEvent_IsVetoed(This,aResult)	\
    ( (This)->lpVtbl -> IsVetoed(This,aResult) ) 

#define IVetoEvent_GetVetos(This,aResult)	\
    ( (This)->lpVtbl -> GetVetos(This,aResult) ) 

#define IVetoEvent_AddApproval(This,aReason)	\
    ( (This)->lpVtbl -> AddApproval(This,aReason) ) 

#define IVetoEvent_IsApproved(This,aResult)	\
    ( (This)->lpVtbl -> IsApproved(This,aResult) ) 

#define IVetoEvent_GetApprovals(This,aResult)	\
    ( (This)->lpVtbl -> GetApprovals(This,aResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVetoEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0184 */
/* [local] */ 

#define COM_FORWARD_IVetoEvent_AddVeto_TO(smth) HRESULT STDMETHODCALLTYPE AddVeto (BSTR aReason) { return smth AddVeto (aReason); }
#define COM_FORWARD_IVetoEvent_AddVeto_TO_OBJ(obj) COM_FORWARD_IVetoEvent_AddVeto_TO ((obj)->)
#define COM_FORWARD_IVetoEvent_AddVeto_TO_BASE(base) COM_FORWARD_IVetoEvent_AddVeto_TO (base::)
#define COM_FORWARD_IVetoEvent_IsVetoed_TO(smth) HRESULT STDMETHODCALLTYPE IsVetoed (BOOL * aResult) { return smth IsVetoed (aResult); }
#define COM_FORWARD_IVetoEvent_IsVetoed_TO_OBJ(obj) COM_FORWARD_IVetoEvent_IsVetoed_TO ((obj)->)
#define COM_FORWARD_IVetoEvent_IsVetoed_TO_BASE(base) COM_FORWARD_IVetoEvent_IsVetoed_TO (base::)
#define COM_FORWARD_IVetoEvent_GetVetos_TO(smth) HRESULT STDMETHODCALLTYPE GetVetos (SAFEARRAY * * aResult) { return smth GetVetos (aResult); }
#define COM_FORWARD_IVetoEvent_GetVetos_TO_OBJ(obj) COM_FORWARD_IVetoEvent_GetVetos_TO ((obj)->)
#define COM_FORWARD_IVetoEvent_GetVetos_TO_BASE(base) COM_FORWARD_IVetoEvent_GetVetos_TO (base::)
#define COM_FORWARD_IVetoEvent_AddApproval_TO(smth) HRESULT STDMETHODCALLTYPE AddApproval (BSTR aReason) { return smth AddApproval (aReason); }
#define COM_FORWARD_IVetoEvent_AddApproval_TO_OBJ(obj) COM_FORWARD_IVetoEvent_AddApproval_TO ((obj)->)
#define COM_FORWARD_IVetoEvent_AddApproval_TO_BASE(base) COM_FORWARD_IVetoEvent_AddApproval_TO (base::)
#define COM_FORWARD_IVetoEvent_IsApproved_TO(smth) HRESULT STDMETHODCALLTYPE IsApproved (BOOL * aResult) { return smth IsApproved (aResult); }
#define COM_FORWARD_IVetoEvent_IsApproved_TO_OBJ(obj) COM_FORWARD_IVetoEvent_IsApproved_TO ((obj)->)
#define COM_FORWARD_IVetoEvent_IsApproved_TO_BASE(base) COM_FORWARD_IVetoEvent_IsApproved_TO (base::)
#define COM_FORWARD_IVetoEvent_GetApprovals_TO(smth) HRESULT STDMETHODCALLTYPE GetApprovals (SAFEARRAY * * aResult) { return smth GetApprovals (aResult); }
#define COM_FORWARD_IVetoEvent_GetApprovals_TO_OBJ(obj) COM_FORWARD_IVetoEvent_GetApprovals_TO ((obj)->)
#define COM_FORWARD_IVetoEvent_GetApprovals_TO_BASE(base) COM_FORWARD_IVetoEvent_GetApprovals_TO (base::)
#define COM_FORWARD_IVetoEvent_TO(smth) COM_FORWARD_IVetoEvent_AddVeto_TO (smth) COM_FORWARD_IVetoEvent_IsVetoed_TO (smth) COM_FORWARD_IVetoEvent_GetVetos_TO (smth) COM_FORWARD_IVetoEvent_AddApproval_TO (smth) COM_FORWARD_IVetoEvent_IsApproved_TO (smth) COM_FORWARD_IVetoEvent_GetApprovals_TO (smth) 
#define COM_FORWARD_IVetoEvent_TO_OBJ(obj) COM_FORWARD_IVetoEvent_TO ((obj)->)
#define COM_FORWARD_IVetoEvent_TO_BASE(base) COM_FORWARD_IVetoEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0184_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0184_v0_0_s_ifspec;

#ifndef __IExtraDataCanChangeEvent_INTERFACE_DEFINED__
#define __IExtraDataCanChangeEvent_INTERFACE_DEFINED__

/* interface IExtraDataCanChangeEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IExtraDataCanChangeEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("245d88bd-800a-40f8-87a6-170d02249a55")
    IExtraDataCanChangeEvent : public IVetoEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MachineId( 
            /* [retval][out] */ BSTR *aMachineId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Key( 
            /* [retval][out] */ BSTR *aKey) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ BSTR *aValue) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IExtraDataCanChangeEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IExtraDataCanChangeEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IExtraDataCanChangeEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IExtraDataCanChangeEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IExtraDataCanChangeEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IExtraDataCanChangeEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IExtraDataCanChangeEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IExtraDataCanChangeEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IExtraDataCanChangeEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IExtraDataCanChangeEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IExtraDataCanChangeEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IExtraDataCanChangeEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IExtraDataCanChangeEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, AddVeto)
        HRESULT ( STDMETHODCALLTYPE *AddVeto )( 
            IExtraDataCanChangeEvent * This,
            /* [in] */ BSTR aReason);
        
        DECLSPEC_XFGVIRT(IVetoEvent, IsVetoed)
        HRESULT ( STDMETHODCALLTYPE *IsVetoed )( 
            IExtraDataCanChangeEvent * This,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, GetVetos)
        HRESULT ( STDMETHODCALLTYPE *GetVetos )( 
            IExtraDataCanChangeEvent * This,
            /* [retval][out] */ SAFEARRAY * *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, AddApproval)
        HRESULT ( STDMETHODCALLTYPE *AddApproval )( 
            IExtraDataCanChangeEvent * This,
            /* [in] */ BSTR aReason);
        
        DECLSPEC_XFGVIRT(IVetoEvent, IsApproved)
        HRESULT ( STDMETHODCALLTYPE *IsApproved )( 
            IExtraDataCanChangeEvent * This,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, GetApprovals)
        HRESULT ( STDMETHODCALLTYPE *GetApprovals )( 
            IExtraDataCanChangeEvent * This,
            /* [retval][out] */ SAFEARRAY * *aResult);
        
        DECLSPEC_XFGVIRT(IExtraDataCanChangeEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            IExtraDataCanChangeEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(IExtraDataCanChangeEvent, get_Key)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Key )( 
            IExtraDataCanChangeEvent * This,
            /* [retval][out] */ BSTR *aKey);
        
        DECLSPEC_XFGVIRT(IExtraDataCanChangeEvent, get_Value)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            IExtraDataCanChangeEvent * This,
            /* [retval][out] */ BSTR *aValue);
        
        END_INTERFACE
    } IExtraDataCanChangeEventVtbl;

    interface IExtraDataCanChangeEvent
    {
        CONST_VTBL struct IExtraDataCanChangeEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IExtraDataCanChangeEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IExtraDataCanChangeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IExtraDataCanChangeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IExtraDataCanChangeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IExtraDataCanChangeEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IExtraDataCanChangeEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IExtraDataCanChangeEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IExtraDataCanChangeEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IExtraDataCanChangeEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IExtraDataCanChangeEvent_AddVeto(This,aReason)	\
    ( (This)->lpVtbl -> AddVeto(This,aReason) ) 

#define IExtraDataCanChangeEvent_IsVetoed(This,aResult)	\
    ( (This)->lpVtbl -> IsVetoed(This,aResult) ) 

#define IExtraDataCanChangeEvent_GetVetos(This,aResult)	\
    ( (This)->lpVtbl -> GetVetos(This,aResult) ) 

#define IExtraDataCanChangeEvent_AddApproval(This,aReason)	\
    ( (This)->lpVtbl -> AddApproval(This,aReason) ) 

#define IExtraDataCanChangeEvent_IsApproved(This,aResult)	\
    ( (This)->lpVtbl -> IsApproved(This,aResult) ) 

#define IExtraDataCanChangeEvent_GetApprovals(This,aResult)	\
    ( (This)->lpVtbl -> GetApprovals(This,aResult) ) 


#define IExtraDataCanChangeEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 

#define IExtraDataCanChangeEvent_get_Key(This,aKey)	\
    ( (This)->lpVtbl -> get_Key(This,aKey) ) 

#define IExtraDataCanChangeEvent_get_Value(This,aValue)	\
    ( (This)->lpVtbl -> get_Value(This,aValue) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IExtraDataCanChangeEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0185 */
/* [local] */ 

#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_MachineId_TO(smth) HRESULT STDMETHODCALLTYPE get_MachineId (BSTR * aMachineId) { return smth get_MachineId (aMachineId); }
#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_MachineId_TO_OBJ(obj) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_MachineId_TO ((obj)->)
#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_MachineId_TO_BASE(base) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_MachineId_TO (base::)
#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Key_TO(smth) HRESULT STDMETHODCALLTYPE get_Key (BSTR * aKey) { return smth get_Key (aKey); }
#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Key_TO_OBJ(obj) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Key_TO ((obj)->)
#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Key_TO_BASE(base) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Key_TO (base::)
#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Value_TO(smth) HRESULT STDMETHODCALLTYPE get_Value (BSTR * aValue) { return smth get_Value (aValue); }
#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Value_TO_OBJ(obj) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Value_TO ((obj)->)
#define COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Value_TO_BASE(base) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Value_TO (base::)
#define COM_FORWARD_IExtraDataCanChangeEvent_TO(smth) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_MachineId_TO (smth) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Key_TO (smth) COM_FORWARD_IExtraDataCanChangeEvent_GETTER_Value_TO (smth) 
#define COM_FORWARD_IExtraDataCanChangeEvent_TO_OBJ(obj) COM_FORWARD_IExtraDataCanChangeEvent_TO ((obj)->)
#define COM_FORWARD_IExtraDataCanChangeEvent_TO_BASE(base) COM_FORWARD_IExtraDataCanChangeEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0185_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0185_v0_0_s_ifspec;

#ifndef __ICanShowWindowEvent_INTERFACE_DEFINED__
#define __ICanShowWindowEvent_INTERFACE_DEFINED__

/* interface ICanShowWindowEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICanShowWindowEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("adf292b0-92c9-4a77-9d35-e058b39fe0b9")
    ICanShowWindowEvent : public IVetoEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICanShowWindowEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICanShowWindowEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICanShowWindowEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICanShowWindowEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICanShowWindowEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICanShowWindowEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICanShowWindowEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICanShowWindowEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICanShowWindowEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICanShowWindowEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ICanShowWindowEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ICanShowWindowEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ICanShowWindowEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, AddVeto)
        HRESULT ( STDMETHODCALLTYPE *AddVeto )( 
            ICanShowWindowEvent * This,
            /* [in] */ BSTR aReason);
        
        DECLSPEC_XFGVIRT(IVetoEvent, IsVetoed)
        HRESULT ( STDMETHODCALLTYPE *IsVetoed )( 
            ICanShowWindowEvent * This,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, GetVetos)
        HRESULT ( STDMETHODCALLTYPE *GetVetos )( 
            ICanShowWindowEvent * This,
            /* [retval][out] */ SAFEARRAY * *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, AddApproval)
        HRESULT ( STDMETHODCALLTYPE *AddApproval )( 
            ICanShowWindowEvent * This,
            /* [in] */ BSTR aReason);
        
        DECLSPEC_XFGVIRT(IVetoEvent, IsApproved)
        HRESULT ( STDMETHODCALLTYPE *IsApproved )( 
            ICanShowWindowEvent * This,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVetoEvent, GetApprovals)
        HRESULT ( STDMETHODCALLTYPE *GetApprovals )( 
            ICanShowWindowEvent * This,
            /* [retval][out] */ SAFEARRAY * *aResult);
        
        DECLSPEC_XFGVIRT(ICanShowWindowEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            ICanShowWindowEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } ICanShowWindowEventVtbl;

    interface ICanShowWindowEvent
    {
        CONST_VTBL struct ICanShowWindowEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICanShowWindowEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICanShowWindowEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICanShowWindowEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICanShowWindowEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICanShowWindowEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ICanShowWindowEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ICanShowWindowEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ICanShowWindowEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ICanShowWindowEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ICanShowWindowEvent_AddVeto(This,aReason)	\
    ( (This)->lpVtbl -> AddVeto(This,aReason) ) 

#define ICanShowWindowEvent_IsVetoed(This,aResult)	\
    ( (This)->lpVtbl -> IsVetoed(This,aResult) ) 

#define ICanShowWindowEvent_GetVetos(This,aResult)	\
    ( (This)->lpVtbl -> GetVetos(This,aResult) ) 

#define ICanShowWindowEvent_AddApproval(This,aReason)	\
    ( (This)->lpVtbl -> AddApproval(This,aReason) ) 

#define ICanShowWindowEvent_IsApproved(This,aResult)	\
    ( (This)->lpVtbl -> IsApproved(This,aResult) ) 

#define ICanShowWindowEvent_GetApprovals(This,aResult)	\
    ( (This)->lpVtbl -> GetApprovals(This,aResult) ) 


#define ICanShowWindowEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICanShowWindowEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0186 */
/* [local] */ 

#define COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_ICanShowWindowEvent_TO(smth) COM_FORWARD_ICanShowWindowEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_ICanShowWindowEvent_TO_OBJ(obj) COM_FORWARD_ICanShowWindowEvent_TO ((obj)->)
#define COM_FORWARD_ICanShowWindowEvent_TO_BASE(base) COM_FORWARD_ICanShowWindowEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0186_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0186_v0_0_s_ifspec;

#ifndef __IShowWindowEvent_INTERFACE_DEFINED__
#define __IShowWindowEvent_INTERFACE_DEFINED__

/* interface IShowWindowEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IShowWindowEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B0A0904D-2F05-4D28-855F-488F96BAD2B2")
    IShowWindowEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WinId( 
            /* [retval][out] */ LONG64 *aWinId) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WinId( 
            /* [in] */ LONG64 aWinId) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IShowWindowEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IShowWindowEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IShowWindowEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IShowWindowEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IShowWindowEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IShowWindowEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IShowWindowEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IShowWindowEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IShowWindowEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IShowWindowEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IShowWindowEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IShowWindowEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IShowWindowEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IShowWindowEvent, get_WinId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WinId )( 
            IShowWindowEvent * This,
            /* [retval][out] */ LONG64 *aWinId);
        
        DECLSPEC_XFGVIRT(IShowWindowEvent, put_WinId)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WinId )( 
            IShowWindowEvent * This,
            /* [in] */ LONG64 aWinId);
        
        END_INTERFACE
    } IShowWindowEventVtbl;

    interface IShowWindowEvent
    {
        CONST_VTBL struct IShowWindowEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IShowWindowEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IShowWindowEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IShowWindowEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IShowWindowEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IShowWindowEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IShowWindowEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IShowWindowEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IShowWindowEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IShowWindowEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IShowWindowEvent_get_WinId(This,aWinId)	\
    ( (This)->lpVtbl -> get_WinId(This,aWinId) ) 

#define IShowWindowEvent_put_WinId(This,aWinId)	\
    ( (This)->lpVtbl -> put_WinId(This,aWinId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IShowWindowEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0187 */
/* [local] */ 

#define COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO(smth) HRESULT STDMETHODCALLTYPE get_WinId (LONG64 * aWinId) { return smth get_WinId (aWinId); }
#define COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO_OBJ(obj) COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO ((obj)->)
#define COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO_BASE(base) COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO (base::)
#define COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO(smth) HRESULT STDMETHODCALLTYPE put_WinId (LONG64 aWinId) { return smth put_WinId (aWinId); }
#define COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO_OBJ(obj) COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO ((obj)->)
#define COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO_BASE(base) COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO (base::)
#define COM_FORWARD_IShowWindowEvent_TO(smth) COM_FORWARD_IShowWindowEvent_GETTER_WinId_TO (smth) COM_FORWARD_IShowWindowEvent_SETTER_WinId_TO (smth) 
#define COM_FORWARD_IShowWindowEvent_TO_OBJ(obj) COM_FORWARD_IShowWindowEvent_TO ((obj)->)
#define COM_FORWARD_IShowWindowEvent_TO_BASE(base) COM_FORWARD_IShowWindowEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0187_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0187_v0_0_s_ifspec;

#ifndef __INATRedirectEvent_INTERFACE_DEFINED__
#define __INATRedirectEvent_INTERFACE_DEFINED__

/* interface INATRedirectEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INATRedirectEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("24eef068-c380-4510-bc7c-19314a7352f1")
    INATRedirectEvent : public IMachineEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Slot( 
            /* [retval][out] */ ULONG *aSlot) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Remove( 
            /* [retval][out] */ BOOL *aRemove) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Proto( 
            /* [retval][out] */ NATProtocol *aProto) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostIP( 
            /* [retval][out] */ BSTR *aHostIP) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostPort( 
            /* [retval][out] */ LONG *aHostPort) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestIP( 
            /* [retval][out] */ BSTR *aGuestIP) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestPort( 
            /* [retval][out] */ LONG *aGuestPort) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INATRedirectEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INATRedirectEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INATRedirectEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INATRedirectEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INATRedirectEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INATRedirectEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INATRedirectEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INATRedirectEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            INATRedirectEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            INATRedirectEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            INATRedirectEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            INATRedirectEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            INATRedirectEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            INATRedirectEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(INATRedirectEvent, get_Slot)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Slot )( 
            INATRedirectEvent * This,
            /* [retval][out] */ ULONG *aSlot);
        
        DECLSPEC_XFGVIRT(INATRedirectEvent, get_Remove)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Remove )( 
            INATRedirectEvent * This,
            /* [retval][out] */ BOOL *aRemove);
        
        DECLSPEC_XFGVIRT(INATRedirectEvent, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            INATRedirectEvent * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(INATRedirectEvent, get_Proto)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Proto )( 
            INATRedirectEvent * This,
            /* [retval][out] */ NATProtocol *aProto);
        
        DECLSPEC_XFGVIRT(INATRedirectEvent, get_HostIP)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostIP )( 
            INATRedirectEvent * This,
            /* [retval][out] */ BSTR *aHostIP);
        
        DECLSPEC_XFGVIRT(INATRedirectEvent, get_HostPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostPort )( 
            INATRedirectEvent * This,
            /* [retval][out] */ LONG *aHostPort);
        
        DECLSPEC_XFGVIRT(INATRedirectEvent, get_GuestIP)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestIP )( 
            INATRedirectEvent * This,
            /* [retval][out] */ BSTR *aGuestIP);
        
        DECLSPEC_XFGVIRT(INATRedirectEvent, get_GuestPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestPort )( 
            INATRedirectEvent * This,
            /* [retval][out] */ LONG *aGuestPort);
        
        END_INTERFACE
    } INATRedirectEventVtbl;

    interface INATRedirectEvent
    {
        CONST_VTBL struct INATRedirectEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INATRedirectEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INATRedirectEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INATRedirectEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INATRedirectEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INATRedirectEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define INATRedirectEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define INATRedirectEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define INATRedirectEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define INATRedirectEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define INATRedirectEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define INATRedirectEvent_get_Slot(This,aSlot)	\
    ( (This)->lpVtbl -> get_Slot(This,aSlot) ) 

#define INATRedirectEvent_get_Remove(This,aRemove)	\
    ( (This)->lpVtbl -> get_Remove(This,aRemove) ) 

#define INATRedirectEvent_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define INATRedirectEvent_get_Proto(This,aProto)	\
    ( (This)->lpVtbl -> get_Proto(This,aProto) ) 

#define INATRedirectEvent_get_HostIP(This,aHostIP)	\
    ( (This)->lpVtbl -> get_HostIP(This,aHostIP) ) 

#define INATRedirectEvent_get_HostPort(This,aHostPort)	\
    ( (This)->lpVtbl -> get_HostPort(This,aHostPort) ) 

#define INATRedirectEvent_get_GuestIP(This,aGuestIP)	\
    ( (This)->lpVtbl -> get_GuestIP(This,aGuestIP) ) 

#define INATRedirectEvent_get_GuestPort(This,aGuestPort)	\
    ( (This)->lpVtbl -> get_GuestPort(This,aGuestPort) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INATRedirectEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0188 */
/* [local] */ 

#define COM_FORWARD_INATRedirectEvent_GETTER_Slot_TO(smth) HRESULT STDMETHODCALLTYPE get_Slot (ULONG * aSlot) { return smth get_Slot (aSlot); }
#define COM_FORWARD_INATRedirectEvent_GETTER_Slot_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_Slot_TO ((obj)->)
#define COM_FORWARD_INATRedirectEvent_GETTER_Slot_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_Slot_TO (base::)
#define COM_FORWARD_INATRedirectEvent_GETTER_Remove_TO(smth) HRESULT STDMETHODCALLTYPE get_Remove (BOOL * aRemove) { return smth get_Remove (aRemove); }
#define COM_FORWARD_INATRedirectEvent_GETTER_Remove_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_Remove_TO ((obj)->)
#define COM_FORWARD_INATRedirectEvent_GETTER_Remove_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_Remove_TO (base::)
#define COM_FORWARD_INATRedirectEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_INATRedirectEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_INATRedirectEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_Name_TO (base::)
#define COM_FORWARD_INATRedirectEvent_GETTER_Proto_TO(smth) HRESULT STDMETHODCALLTYPE get_Proto (NATProtocol * aProto) { return smth get_Proto (aProto); }
#define COM_FORWARD_INATRedirectEvent_GETTER_Proto_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_Proto_TO ((obj)->)
#define COM_FORWARD_INATRedirectEvent_GETTER_Proto_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_Proto_TO (base::)
#define COM_FORWARD_INATRedirectEvent_GETTER_HostIP_TO(smth) HRESULT STDMETHODCALLTYPE get_HostIP (BSTR * aHostIP) { return smth get_HostIP (aHostIP); }
#define COM_FORWARD_INATRedirectEvent_GETTER_HostIP_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_HostIP_TO ((obj)->)
#define COM_FORWARD_INATRedirectEvent_GETTER_HostIP_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_HostIP_TO (base::)
#define COM_FORWARD_INATRedirectEvent_GETTER_HostPort_TO(smth) HRESULT STDMETHODCALLTYPE get_HostPort (LONG * aHostPort) { return smth get_HostPort (aHostPort); }
#define COM_FORWARD_INATRedirectEvent_GETTER_HostPort_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_HostPort_TO ((obj)->)
#define COM_FORWARD_INATRedirectEvent_GETTER_HostPort_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_HostPort_TO (base::)
#define COM_FORWARD_INATRedirectEvent_GETTER_GuestIP_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestIP (BSTR * aGuestIP) { return smth get_GuestIP (aGuestIP); }
#define COM_FORWARD_INATRedirectEvent_GETTER_GuestIP_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_GuestIP_TO ((obj)->)
#define COM_FORWARD_INATRedirectEvent_GETTER_GuestIP_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_GuestIP_TO (base::)
#define COM_FORWARD_INATRedirectEvent_GETTER_GuestPort_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestPort (LONG * aGuestPort) { return smth get_GuestPort (aGuestPort); }
#define COM_FORWARD_INATRedirectEvent_GETTER_GuestPort_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_GETTER_GuestPort_TO ((obj)->)
#define COM_FORWARD_INATRedirectEvent_GETTER_GuestPort_TO_BASE(base) COM_FORWARD_INATRedirectEvent_GETTER_GuestPort_TO (base::)
#define COM_FORWARD_INATRedirectEvent_TO(smth) COM_FORWARD_INATRedirectEvent_GETTER_Slot_TO (smth) COM_FORWARD_INATRedirectEvent_GETTER_Remove_TO (smth) COM_FORWARD_INATRedirectEvent_GETTER_Name_TO (smth) COM_FORWARD_INATRedirectEvent_GETTER_Proto_TO (smth) COM_FORWARD_INATRedirectEvent_GETTER_HostIP_TO (smth) COM_FORWARD_INATRedirectEvent_GETTER_HostPort_TO (smth) COM_FORWARD_INATRedirectEvent_GETTER_GuestIP_TO (smth) COM_FORWARD_INATRedirectEvent_GETTER_GuestPort_TO (smth) 
#define COM_FORWARD_INATRedirectEvent_TO_OBJ(obj) COM_FORWARD_INATRedirectEvent_TO ((obj)->)
#define COM_FORWARD_INATRedirectEvent_TO_BASE(base) COM_FORWARD_INATRedirectEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0188_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0188_v0_0_s_ifspec;

#ifndef __IHostAudioDeviceChangedEvent_INTERFACE_DEFINED__
#define __IHostAudioDeviceChangedEvent_INTERFACE_DEFINED__

/* interface IHostAudioDeviceChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostAudioDeviceChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8dcc633f-7b03-4f0a-9f40-7a784dd0835a")
    IHostAudioDeviceChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Device( 
            /* [retval][out] */ IHostAudioDevice **aDevice) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_New( 
            /* [retval][out] */ BOOL *aNew) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ AudioDeviceState *aState) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Error( 
            /* [retval][out] */ IVirtualBoxErrorInfo **aError) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostAudioDeviceChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostAudioDeviceChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostAudioDeviceChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostAudioDeviceChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostAudioDeviceChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostAudioDeviceChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostAudioDeviceChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostAudioDeviceChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IHostAudioDeviceChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IHostAudioDeviceChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IHostAudioDeviceChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IHostAudioDeviceChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IHostAudioDeviceChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IHostAudioDeviceChangedEvent, get_Device)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Device )( 
            IHostAudioDeviceChangedEvent * This,
            /* [retval][out] */ IHostAudioDevice **aDevice);
        
        DECLSPEC_XFGVIRT(IHostAudioDeviceChangedEvent, get_New)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_New )( 
            IHostAudioDeviceChangedEvent * This,
            /* [retval][out] */ BOOL *aNew);
        
        DECLSPEC_XFGVIRT(IHostAudioDeviceChangedEvent, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IHostAudioDeviceChangedEvent * This,
            /* [retval][out] */ AudioDeviceState *aState);
        
        DECLSPEC_XFGVIRT(IHostAudioDeviceChangedEvent, get_Error)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Error )( 
            IHostAudioDeviceChangedEvent * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aError);
        
        END_INTERFACE
    } IHostAudioDeviceChangedEventVtbl;

    interface IHostAudioDeviceChangedEvent
    {
        CONST_VTBL struct IHostAudioDeviceChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostAudioDeviceChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostAudioDeviceChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostAudioDeviceChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostAudioDeviceChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostAudioDeviceChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IHostAudioDeviceChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IHostAudioDeviceChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IHostAudioDeviceChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IHostAudioDeviceChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IHostAudioDeviceChangedEvent_get_Device(This,aDevice)	\
    ( (This)->lpVtbl -> get_Device(This,aDevice) ) 

#define IHostAudioDeviceChangedEvent_get_New(This,aNew)	\
    ( (This)->lpVtbl -> get_New(This,aNew) ) 

#define IHostAudioDeviceChangedEvent_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#define IHostAudioDeviceChangedEvent_get_Error(This,aError)	\
    ( (This)->lpVtbl -> get_Error(This,aError) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostAudioDeviceChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0189 */
/* [local] */ 

#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Device_TO(smth) HRESULT STDMETHODCALLTYPE get_Device (IHostAudioDevice * * aDevice) { return smth get_Device (aDevice); }
#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Device_TO_OBJ(obj) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Device_TO ((obj)->)
#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Device_TO_BASE(base) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Device_TO (base::)
#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_New_TO(smth) HRESULT STDMETHODCALLTYPE get_New (BOOL * aNew) { return smth get_New (aNew); }
#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_New_TO_OBJ(obj) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_New_TO ((obj)->)
#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_New_TO_BASE(base) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_New_TO (base::)
#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (AudioDeviceState * aState) { return smth get_State (aState); }
#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_State_TO ((obj)->)
#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_State_TO (base::)
#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Error_TO(smth) HRESULT STDMETHODCALLTYPE get_Error (IVirtualBoxErrorInfo * * aError) { return smth get_Error (aError); }
#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Error_TO_OBJ(obj) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Error_TO ((obj)->)
#define COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Error_TO_BASE(base) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Error_TO (base::)
#define COM_FORWARD_IHostAudioDeviceChangedEvent_TO(smth) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Device_TO (smth) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_New_TO (smth) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_State_TO (smth) COM_FORWARD_IHostAudioDeviceChangedEvent_GETTER_Error_TO (smth) 
#define COM_FORWARD_IHostAudioDeviceChangedEvent_TO_OBJ(obj) COM_FORWARD_IHostAudioDeviceChangedEvent_TO ((obj)->)
#define COM_FORWARD_IHostAudioDeviceChangedEvent_TO_BASE(base) COM_FORWARD_IHostAudioDeviceChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0189_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0189_v0_0_s_ifspec;

#ifndef __IHostPCIDevicePlugEvent_INTERFACE_DEFINED__
#define __IHostPCIDevicePlugEvent_INTERFACE_DEFINED__

/* interface IHostPCIDevicePlugEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostPCIDevicePlugEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a0bad6df-d612-47d3-89d4-db3992533948")
    IHostPCIDevicePlugEvent : public IMachineEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Plugged( 
            /* [retval][out] */ BOOL *aPlugged) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Success( 
            /* [retval][out] */ BOOL *aSuccess) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Attachment( 
            /* [retval][out] */ IPCIDeviceAttachment **aAttachment) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Message( 
            /* [retval][out] */ BSTR *aMessage) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostPCIDevicePlugEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostPCIDevicePlugEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostPCIDevicePlugEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostPCIDevicePlugEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostPCIDevicePlugEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostPCIDevicePlugEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostPCIDevicePlugEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostPCIDevicePlugEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IHostPCIDevicePlugEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IHostPCIDevicePlugEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IHostPCIDevicePlugEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IHostPCIDevicePlugEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IHostPCIDevicePlugEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            IHostPCIDevicePlugEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(IHostPCIDevicePlugEvent, get_Plugged)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Plugged )( 
            IHostPCIDevicePlugEvent * This,
            /* [retval][out] */ BOOL *aPlugged);
        
        DECLSPEC_XFGVIRT(IHostPCIDevicePlugEvent, get_Success)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Success )( 
            IHostPCIDevicePlugEvent * This,
            /* [retval][out] */ BOOL *aSuccess);
        
        DECLSPEC_XFGVIRT(IHostPCIDevicePlugEvent, get_Attachment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attachment )( 
            IHostPCIDevicePlugEvent * This,
            /* [retval][out] */ IPCIDeviceAttachment **aAttachment);
        
        DECLSPEC_XFGVIRT(IHostPCIDevicePlugEvent, get_Message)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Message )( 
            IHostPCIDevicePlugEvent * This,
            /* [retval][out] */ BSTR *aMessage);
        
        END_INTERFACE
    } IHostPCIDevicePlugEventVtbl;

    interface IHostPCIDevicePlugEvent
    {
        CONST_VTBL struct IHostPCIDevicePlugEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostPCIDevicePlugEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostPCIDevicePlugEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostPCIDevicePlugEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostPCIDevicePlugEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostPCIDevicePlugEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IHostPCIDevicePlugEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IHostPCIDevicePlugEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IHostPCIDevicePlugEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IHostPCIDevicePlugEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IHostPCIDevicePlugEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define IHostPCIDevicePlugEvent_get_Plugged(This,aPlugged)	\
    ( (This)->lpVtbl -> get_Plugged(This,aPlugged) ) 

#define IHostPCIDevicePlugEvent_get_Success(This,aSuccess)	\
    ( (This)->lpVtbl -> get_Success(This,aSuccess) ) 

#define IHostPCIDevicePlugEvent_get_Attachment(This,aAttachment)	\
    ( (This)->lpVtbl -> get_Attachment(This,aAttachment) ) 

#define IHostPCIDevicePlugEvent_get_Message(This,aMessage)	\
    ( (This)->lpVtbl -> get_Message(This,aMessage) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostPCIDevicePlugEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0190 */
/* [local] */ 

#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Plugged_TO(smth) HRESULT STDMETHODCALLTYPE get_Plugged (BOOL * aPlugged) { return smth get_Plugged (aPlugged); }
#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Plugged_TO_OBJ(obj) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Plugged_TO ((obj)->)
#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Plugged_TO_BASE(base) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Plugged_TO (base::)
#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Success_TO(smth) HRESULT STDMETHODCALLTYPE get_Success (BOOL * aSuccess) { return smth get_Success (aSuccess); }
#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Success_TO_OBJ(obj) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Success_TO ((obj)->)
#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Success_TO_BASE(base) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Success_TO (base::)
#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Attachment_TO(smth) HRESULT STDMETHODCALLTYPE get_Attachment (IPCIDeviceAttachment * * aAttachment) { return smth get_Attachment (aAttachment); }
#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Attachment_TO_OBJ(obj) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Attachment_TO ((obj)->)
#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Attachment_TO_BASE(base) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Attachment_TO (base::)
#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Message_TO(smth) HRESULT STDMETHODCALLTYPE get_Message (BSTR * aMessage) { return smth get_Message (aMessage); }
#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Message_TO_OBJ(obj) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Message_TO ((obj)->)
#define COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Message_TO_BASE(base) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Message_TO (base::)
#define COM_FORWARD_IHostPCIDevicePlugEvent_TO(smth) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Plugged_TO (smth) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Success_TO (smth) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Attachment_TO (smth) COM_FORWARD_IHostPCIDevicePlugEvent_GETTER_Message_TO (smth) 
#define COM_FORWARD_IHostPCIDevicePlugEvent_TO_OBJ(obj) COM_FORWARD_IHostPCIDevicePlugEvent_TO ((obj)->)
#define COM_FORWARD_IHostPCIDevicePlugEvent_TO_BASE(base) COM_FORWARD_IHostPCIDevicePlugEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0190_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0190_v0_0_s_ifspec;

#ifndef __IVBoxSVCAvailabilityChangedEvent_INTERFACE_DEFINED__
#define __IVBoxSVCAvailabilityChangedEvent_INTERFACE_DEFINED__

/* interface IVBoxSVCAvailabilityChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVBoxSVCAvailabilityChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("97c78fcd-d4fc-485f-8613-5af88bfcfcdc")
    IVBoxSVCAvailabilityChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Available( 
            /* [retval][out] */ BOOL *aAvailable) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVBoxSVCAvailabilityChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVBoxSVCAvailabilityChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVBoxSVCAvailabilityChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVBoxSVCAvailabilityChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IVBoxSVCAvailabilityChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IVBoxSVCAvailabilityChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IVBoxSVCAvailabilityChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IVBoxSVCAvailabilityChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IVBoxSVCAvailabilityChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IVBoxSVCAvailabilityChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IVBoxSVCAvailabilityChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IVBoxSVCAvailabilityChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IVBoxSVCAvailabilityChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IVBoxSVCAvailabilityChangedEvent, get_Available)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Available )( 
            IVBoxSVCAvailabilityChangedEvent * This,
            /* [retval][out] */ BOOL *aAvailable);
        
        END_INTERFACE
    } IVBoxSVCAvailabilityChangedEventVtbl;

    interface IVBoxSVCAvailabilityChangedEvent
    {
        CONST_VTBL struct IVBoxSVCAvailabilityChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVBoxSVCAvailabilityChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IVBoxSVCAvailabilityChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IVBoxSVCAvailabilityChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IVBoxSVCAvailabilityChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IVBoxSVCAvailabilityChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IVBoxSVCAvailabilityChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IVBoxSVCAvailabilityChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IVBoxSVCAvailabilityChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IVBoxSVCAvailabilityChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IVBoxSVCAvailabilityChangedEvent_get_Available(This,aAvailable)	\
    ( (This)->lpVtbl -> get_Available(This,aAvailable) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVBoxSVCAvailabilityChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0191 */
/* [local] */ 

#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO(smth) HRESULT STDMETHODCALLTYPE get_Available (BOOL * aAvailable) { return smth get_Available (aAvailable); }
#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO_OBJ(obj) COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO ((obj)->)
#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO_BASE(base) COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO (base::)
#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_TO(smth) COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_GETTER_Available_TO (smth) 
#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_TO_OBJ(obj) COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_TO ((obj)->)
#define COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_TO_BASE(base) COM_FORWARD_IVBoxSVCAvailabilityChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0191_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0191_v0_0_s_ifspec;

#ifndef __IBandwidthGroupChangedEvent_INTERFACE_DEFINED__
#define __IBandwidthGroupChangedEvent_INTERFACE_DEFINED__

/* interface IBandwidthGroupChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IBandwidthGroupChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("334df94a-7556-4cbc-8c04-043096b02d82")
    IBandwidthGroupChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BandwidthGroup( 
            /* [retval][out] */ IBandwidthGroup **aBandwidthGroup) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IBandwidthGroupChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IBandwidthGroupChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IBandwidthGroupChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IBandwidthGroupChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IBandwidthGroupChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IBandwidthGroupChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IBandwidthGroupChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IBandwidthGroupChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IBandwidthGroupChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IBandwidthGroupChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IBandwidthGroupChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IBandwidthGroupChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IBandwidthGroupChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IBandwidthGroupChangedEvent, get_BandwidthGroup)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BandwidthGroup )( 
            IBandwidthGroupChangedEvent * This,
            /* [retval][out] */ IBandwidthGroup **aBandwidthGroup);
        
        END_INTERFACE
    } IBandwidthGroupChangedEventVtbl;

    interface IBandwidthGroupChangedEvent
    {
        CONST_VTBL struct IBandwidthGroupChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IBandwidthGroupChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IBandwidthGroupChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IBandwidthGroupChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IBandwidthGroupChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IBandwidthGroupChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IBandwidthGroupChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IBandwidthGroupChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IBandwidthGroupChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IBandwidthGroupChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IBandwidthGroupChangedEvent_get_BandwidthGroup(This,aBandwidthGroup)	\
    ( (This)->lpVtbl -> get_BandwidthGroup(This,aBandwidthGroup) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IBandwidthGroupChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0192 */
/* [local] */ 

#define COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO(smth) HRESULT STDMETHODCALLTYPE get_BandwidthGroup (IBandwidthGroup * * aBandwidthGroup) { return smth get_BandwidthGroup (aBandwidthGroup); }
#define COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO_OBJ(obj) COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO ((obj)->)
#define COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO_BASE(base) COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO (base::)
#define COM_FORWARD_IBandwidthGroupChangedEvent_TO(smth) COM_FORWARD_IBandwidthGroupChangedEvent_GETTER_BandwidthGroup_TO (smth) 
#define COM_FORWARD_IBandwidthGroupChangedEvent_TO_OBJ(obj) COM_FORWARD_IBandwidthGroupChangedEvent_TO ((obj)->)
#define COM_FORWARD_IBandwidthGroupChangedEvent_TO_BASE(base) COM_FORWARD_IBandwidthGroupChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0192_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0192_v0_0_s_ifspec;

#ifndef __IGuestMonitorChangedEvent_INTERFACE_DEFINED__
#define __IGuestMonitorChangedEvent_INTERFACE_DEFINED__

/* interface IGuestMonitorChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestMonitorChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0f7b8a22-c71f-4a36-8e5f-a77d01d76090")
    IGuestMonitorChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ChangeType( 
            /* [retval][out] */ GuestMonitorChangedEventType *aChangeType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ScreenId( 
            /* [retval][out] */ ULONG *aScreenId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OriginX( 
            /* [retval][out] */ ULONG *aOriginX) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OriginY( 
            /* [retval][out] */ ULONG *aOriginY) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ ULONG *aWidth) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ ULONG *aHeight) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestMonitorChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestMonitorChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestMonitorChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestMonitorChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestMonitorChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestMonitorChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestMonitorChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestMonitorChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestMonitorChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestMonitorChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestMonitorChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestMonitorChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestMonitorChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestMonitorChangedEvent, get_ChangeType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChangeType )( 
            IGuestMonitorChangedEvent * This,
            /* [retval][out] */ GuestMonitorChangedEventType *aChangeType);
        
        DECLSPEC_XFGVIRT(IGuestMonitorChangedEvent, get_ScreenId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScreenId )( 
            IGuestMonitorChangedEvent * This,
            /* [retval][out] */ ULONG *aScreenId);
        
        DECLSPEC_XFGVIRT(IGuestMonitorChangedEvent, get_OriginX)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OriginX )( 
            IGuestMonitorChangedEvent * This,
            /* [retval][out] */ ULONG *aOriginX);
        
        DECLSPEC_XFGVIRT(IGuestMonitorChangedEvent, get_OriginY)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OriginY )( 
            IGuestMonitorChangedEvent * This,
            /* [retval][out] */ ULONG *aOriginY);
        
        DECLSPEC_XFGVIRT(IGuestMonitorChangedEvent, get_Width)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IGuestMonitorChangedEvent * This,
            /* [retval][out] */ ULONG *aWidth);
        
        DECLSPEC_XFGVIRT(IGuestMonitorChangedEvent, get_Height)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IGuestMonitorChangedEvent * This,
            /* [retval][out] */ ULONG *aHeight);
        
        END_INTERFACE
    } IGuestMonitorChangedEventVtbl;

    interface IGuestMonitorChangedEvent
    {
        CONST_VTBL struct IGuestMonitorChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestMonitorChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestMonitorChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestMonitorChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestMonitorChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestMonitorChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestMonitorChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestMonitorChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestMonitorChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestMonitorChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestMonitorChangedEvent_get_ChangeType(This,aChangeType)	\
    ( (This)->lpVtbl -> get_ChangeType(This,aChangeType) ) 

#define IGuestMonitorChangedEvent_get_ScreenId(This,aScreenId)	\
    ( (This)->lpVtbl -> get_ScreenId(This,aScreenId) ) 

#define IGuestMonitorChangedEvent_get_OriginX(This,aOriginX)	\
    ( (This)->lpVtbl -> get_OriginX(This,aOriginX) ) 

#define IGuestMonitorChangedEvent_get_OriginY(This,aOriginY)	\
    ( (This)->lpVtbl -> get_OriginY(This,aOriginY) ) 

#define IGuestMonitorChangedEvent_get_Width(This,aWidth)	\
    ( (This)->lpVtbl -> get_Width(This,aWidth) ) 

#define IGuestMonitorChangedEvent_get_Height(This,aHeight)	\
    ( (This)->lpVtbl -> get_Height(This,aHeight) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestMonitorChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0193 */
/* [local] */ 

#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ChangeType_TO(smth) HRESULT STDMETHODCALLTYPE get_ChangeType (GuestMonitorChangedEventType * aChangeType) { return smth get_ChangeType (aChangeType); }
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ChangeType_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ChangeType_TO ((obj)->)
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ChangeType_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ChangeType_TO (base::)
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ScreenId_TO(smth) HRESULT STDMETHODCALLTYPE get_ScreenId (ULONG * aScreenId) { return smth get_ScreenId (aScreenId); }
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ScreenId_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ScreenId_TO ((obj)->)
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ScreenId_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ScreenId_TO (base::)
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginX_TO(smth) HRESULT STDMETHODCALLTYPE get_OriginX (ULONG * aOriginX) { return smth get_OriginX (aOriginX); }
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginX_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginX_TO ((obj)->)
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginX_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginX_TO (base::)
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginY_TO(smth) HRESULT STDMETHODCALLTYPE get_OriginY (ULONG * aOriginY) { return smth get_OriginY (aOriginY); }
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginY_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginY_TO ((obj)->)
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginY_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginY_TO (base::)
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Width_TO(smth) HRESULT STDMETHODCALLTYPE get_Width (ULONG * aWidth) { return smth get_Width (aWidth); }
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Width_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Width_TO ((obj)->)
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Width_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Width_TO (base::)
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Height_TO(smth) HRESULT STDMETHODCALLTYPE get_Height (ULONG * aHeight) { return smth get_Height (aHeight); }
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Height_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Height_TO ((obj)->)
#define COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Height_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Height_TO (base::)
#define COM_FORWARD_IGuestMonitorChangedEvent_TO(smth) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ChangeType_TO (smth) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_ScreenId_TO (smth) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginX_TO (smth) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_OriginY_TO (smth) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Width_TO (smth) COM_FORWARD_IGuestMonitorChangedEvent_GETTER_Height_TO (smth) 
#define COM_FORWARD_IGuestMonitorChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestMonitorChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestMonitorChangedEvent_TO_BASE(base) COM_FORWARD_IGuestMonitorChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0193_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0193_v0_0_s_ifspec;

#ifndef __IGuestUserStateChangedEvent_INTERFACE_DEFINED__
#define __IGuestUserStateChangedEvent_INTERFACE_DEFINED__

/* interface IGuestUserStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestUserStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("39b4e759-1ec0-4c0f-857f-fbe2a737a256")
    IGuestUserStateChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Domain( 
            /* [retval][out] */ BSTR *aDomain) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ GuestUserState *aState) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StateDetails( 
            /* [retval][out] */ BSTR *aStateDetails) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestUserStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestUserStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestUserStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestUserStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestUserStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestUserStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestUserStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestUserStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestUserStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestUserStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestUserStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestUserStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestUserStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestUserStateChangedEvent, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IGuestUserStateChangedEvent * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(IGuestUserStateChangedEvent, get_Domain)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( 
            IGuestUserStateChangedEvent * This,
            /* [retval][out] */ BSTR *aDomain);
        
        DECLSPEC_XFGVIRT(IGuestUserStateChangedEvent, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IGuestUserStateChangedEvent * This,
            /* [retval][out] */ GuestUserState *aState);
        
        DECLSPEC_XFGVIRT(IGuestUserStateChangedEvent, get_StateDetails)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StateDetails )( 
            IGuestUserStateChangedEvent * This,
            /* [retval][out] */ BSTR *aStateDetails);
        
        END_INTERFACE
    } IGuestUserStateChangedEventVtbl;

    interface IGuestUserStateChangedEvent
    {
        CONST_VTBL struct IGuestUserStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestUserStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestUserStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestUserStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestUserStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestUserStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestUserStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestUserStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestUserStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestUserStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestUserStateChangedEvent_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define IGuestUserStateChangedEvent_get_Domain(This,aDomain)	\
    ( (This)->lpVtbl -> get_Domain(This,aDomain) ) 

#define IGuestUserStateChangedEvent_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#define IGuestUserStateChangedEvent_get_StateDetails(This,aStateDetails)	\
    ( (This)->lpVtbl -> get_StateDetails(This,aStateDetails) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestUserStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0194 */
/* [local] */ 

#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Name_TO (base::)
#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Domain_TO(smth) HRESULT STDMETHODCALLTYPE get_Domain (BSTR * aDomain) { return smth get_Domain (aDomain); }
#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Domain_TO_OBJ(obj) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Domain_TO ((obj)->)
#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Domain_TO_BASE(base) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Domain_TO (base::)
#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (GuestUserState * aState) { return smth get_State (aState); }
#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_State_TO ((obj)->)
#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_State_TO (base::)
#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_StateDetails_TO(smth) HRESULT STDMETHODCALLTYPE get_StateDetails (BSTR * aStateDetails) { return smth get_StateDetails (aStateDetails); }
#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_StateDetails_TO_OBJ(obj) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_StateDetails_TO ((obj)->)
#define COM_FORWARD_IGuestUserStateChangedEvent_GETTER_StateDetails_TO_BASE(base) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_StateDetails_TO (base::)
#define COM_FORWARD_IGuestUserStateChangedEvent_TO(smth) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Name_TO (smth) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_Domain_TO (smth) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_State_TO (smth) COM_FORWARD_IGuestUserStateChangedEvent_GETTER_StateDetails_TO (smth) 
#define COM_FORWARD_IGuestUserStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestUserStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestUserStateChangedEvent_TO_BASE(base) COM_FORWARD_IGuestUserStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0194_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0194_v0_0_s_ifspec;

#ifndef __IStorageDeviceChangedEvent_INTERFACE_DEFINED__
#define __IStorageDeviceChangedEvent_INTERFACE_DEFINED__

/* interface IStorageDeviceChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IStorageDeviceChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("232e9151-ae84-4b8e-b0f3-5c20c35caac9")
    IStorageDeviceChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StorageDevice( 
            /* [retval][out] */ IMediumAttachment **aStorageDevice) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Removed( 
            /* [retval][out] */ BOOL *aRemoved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Silent( 
            /* [retval][out] */ BOOL *aSilent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IStorageDeviceChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IStorageDeviceChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IStorageDeviceChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IStorageDeviceChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IStorageDeviceChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IStorageDeviceChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IStorageDeviceChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IStorageDeviceChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IStorageDeviceChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IStorageDeviceChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IStorageDeviceChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IStorageDeviceChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IStorageDeviceChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IStorageDeviceChangedEvent, get_StorageDevice)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StorageDevice )( 
            IStorageDeviceChangedEvent * This,
            /* [retval][out] */ IMediumAttachment **aStorageDevice);
        
        DECLSPEC_XFGVIRT(IStorageDeviceChangedEvent, get_Removed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Removed )( 
            IStorageDeviceChangedEvent * This,
            /* [retval][out] */ BOOL *aRemoved);
        
        DECLSPEC_XFGVIRT(IStorageDeviceChangedEvent, get_Silent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Silent )( 
            IStorageDeviceChangedEvent * This,
            /* [retval][out] */ BOOL *aSilent);
        
        END_INTERFACE
    } IStorageDeviceChangedEventVtbl;

    interface IStorageDeviceChangedEvent
    {
        CONST_VTBL struct IStorageDeviceChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IStorageDeviceChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IStorageDeviceChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IStorageDeviceChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IStorageDeviceChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IStorageDeviceChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IStorageDeviceChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IStorageDeviceChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IStorageDeviceChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IStorageDeviceChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IStorageDeviceChangedEvent_get_StorageDevice(This,aStorageDevice)	\
    ( (This)->lpVtbl -> get_StorageDevice(This,aStorageDevice) ) 

#define IStorageDeviceChangedEvent_get_Removed(This,aRemoved)	\
    ( (This)->lpVtbl -> get_Removed(This,aRemoved) ) 

#define IStorageDeviceChangedEvent_get_Silent(This,aSilent)	\
    ( (This)->lpVtbl -> get_Silent(This,aSilent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IStorageDeviceChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0195 */
/* [local] */ 

#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO(smth) HRESULT STDMETHODCALLTYPE get_StorageDevice (IMediumAttachment * * aStorageDevice) { return smth get_StorageDevice (aStorageDevice); }
#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO_OBJ(obj) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO ((obj)->)
#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO_BASE(base) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO (base::)
#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_TO(smth) HRESULT STDMETHODCALLTYPE get_Removed (BOOL * aRemoved) { return smth get_Removed (aRemoved); }
#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_TO_OBJ(obj) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_TO ((obj)->)
#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_TO_BASE(base) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_TO (base::)
#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Silent_TO(smth) HRESULT STDMETHODCALLTYPE get_Silent (BOOL * aSilent) { return smth get_Silent (aSilent); }
#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Silent_TO_OBJ(obj) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Silent_TO ((obj)->)
#define COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Silent_TO_BASE(base) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Silent_TO (base::)
#define COM_FORWARD_IStorageDeviceChangedEvent_TO(smth) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_StorageDevice_TO (smth) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Removed_TO (smth) COM_FORWARD_IStorageDeviceChangedEvent_GETTER_Silent_TO (smth) 
#define COM_FORWARD_IStorageDeviceChangedEvent_TO_OBJ(obj) COM_FORWARD_IStorageDeviceChangedEvent_TO ((obj)->)
#define COM_FORWARD_IStorageDeviceChangedEvent_TO_BASE(base) COM_FORWARD_IStorageDeviceChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0195_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0195_v0_0_s_ifspec;

#ifndef __INATNetworkChangedEvent_INTERFACE_DEFINED__
#define __INATNetworkChangedEvent_INTERFACE_DEFINED__

/* interface INATNetworkChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INATNetworkChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("101ae042-1a29-4a19-92cf-02285773f3b5")
    INATNetworkChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NetworkName( 
            /* [retval][out] */ BSTR *aNetworkName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INATNetworkChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INATNetworkChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INATNetworkChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INATNetworkChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INATNetworkChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INATNetworkChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INATNetworkChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INATNetworkChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            INATNetworkChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            INATNetworkChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            INATNetworkChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            INATNetworkChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            INATNetworkChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(INATNetworkChangedEvent, get_NetworkName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkName )( 
            INATNetworkChangedEvent * This,
            /* [retval][out] */ BSTR *aNetworkName);
        
        END_INTERFACE
    } INATNetworkChangedEventVtbl;

    interface INATNetworkChangedEvent
    {
        CONST_VTBL struct INATNetworkChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INATNetworkChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INATNetworkChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INATNetworkChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INATNetworkChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INATNetworkChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define INATNetworkChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define INATNetworkChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define INATNetworkChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define INATNetworkChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define INATNetworkChangedEvent_get_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> get_NetworkName(This,aNetworkName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INATNetworkChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0196 */
/* [local] */ 

#define COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO(smth) HRESULT STDMETHODCALLTYPE get_NetworkName (BSTR * aNetworkName) { return smth get_NetworkName (aNetworkName); }
#define COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO_OBJ(obj) COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO ((obj)->)
#define COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO_BASE(base) COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO (base::)
#define COM_FORWARD_INATNetworkChangedEvent_TO(smth) COM_FORWARD_INATNetworkChangedEvent_GETTER_NetworkName_TO (smth) 
#define COM_FORWARD_INATNetworkChangedEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkChangedEvent_TO ((obj)->)
#define COM_FORWARD_INATNetworkChangedEvent_TO_BASE(base) COM_FORWARD_INATNetworkChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0196_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0196_v0_0_s_ifspec;

#ifndef __INATNetworkStartStopEvent_INTERFACE_DEFINED__
#define __INATNetworkStartStopEvent_INTERFACE_DEFINED__

/* interface INATNetworkStartStopEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INATNetworkStartStopEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("269d8f6b-fa1e-4cee-91c7-6d8496bea3c1")
    INATNetworkStartStopEvent : public INATNetworkChangedEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StartEvent( 
            /* [retval][out] */ BOOL *aStartEvent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INATNetworkStartStopEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INATNetworkStartStopEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INATNetworkStartStopEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INATNetworkStartStopEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INATNetworkStartStopEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INATNetworkStartStopEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INATNetworkStartStopEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INATNetworkStartStopEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            INATNetworkStartStopEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            INATNetworkStartStopEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            INATNetworkStartStopEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            INATNetworkStartStopEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            INATNetworkStartStopEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(INATNetworkChangedEvent, get_NetworkName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkName )( 
            INATNetworkStartStopEvent * This,
            /* [retval][out] */ BSTR *aNetworkName);
        
        DECLSPEC_XFGVIRT(INATNetworkStartStopEvent, get_StartEvent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartEvent )( 
            INATNetworkStartStopEvent * This,
            /* [retval][out] */ BOOL *aStartEvent);
        
        END_INTERFACE
    } INATNetworkStartStopEventVtbl;

    interface INATNetworkStartStopEvent
    {
        CONST_VTBL struct INATNetworkStartStopEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INATNetworkStartStopEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INATNetworkStartStopEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INATNetworkStartStopEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INATNetworkStartStopEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INATNetworkStartStopEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define INATNetworkStartStopEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define INATNetworkStartStopEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define INATNetworkStartStopEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define INATNetworkStartStopEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define INATNetworkStartStopEvent_get_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> get_NetworkName(This,aNetworkName) ) 


#define INATNetworkStartStopEvent_get_StartEvent(This,aStartEvent)	\
    ( (This)->lpVtbl -> get_StartEvent(This,aStartEvent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INATNetworkStartStopEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0197 */
/* [local] */ 

#define COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO(smth) HRESULT STDMETHODCALLTYPE get_StartEvent (BOOL * aStartEvent) { return smth get_StartEvent (aStartEvent); }
#define COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO ((obj)->)
#define COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO_BASE(base) COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO (base::)
#define COM_FORWARD_INATNetworkStartStopEvent_TO(smth) COM_FORWARD_INATNetworkStartStopEvent_GETTER_StartEvent_TO (smth) 
#define COM_FORWARD_INATNetworkStartStopEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkStartStopEvent_TO ((obj)->)
#define COM_FORWARD_INATNetworkStartStopEvent_TO_BASE(base) COM_FORWARD_INATNetworkStartStopEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0197_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0197_v0_0_s_ifspec;

#ifndef __INATNetworkAlterEvent_INTERFACE_DEFINED__
#define __INATNetworkAlterEvent_INTERFACE_DEFINED__

/* interface INATNetworkAlterEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INATNetworkAlterEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d947adf5-4022-dc80-5535-6fb116815604")
    INATNetworkAlterEvent : public INATNetworkChangedEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INATNetworkAlterEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INATNetworkAlterEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INATNetworkAlterEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INATNetworkAlterEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INATNetworkAlterEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INATNetworkAlterEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INATNetworkAlterEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INATNetworkAlterEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            INATNetworkAlterEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            INATNetworkAlterEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            INATNetworkAlterEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            INATNetworkAlterEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            INATNetworkAlterEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(INATNetworkChangedEvent, get_NetworkName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkName )( 
            INATNetworkAlterEvent * This,
            /* [retval][out] */ BSTR *aNetworkName);
        
        DECLSPEC_XFGVIRT(INATNetworkAlterEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            INATNetworkAlterEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } INATNetworkAlterEventVtbl;

    interface INATNetworkAlterEvent
    {
        CONST_VTBL struct INATNetworkAlterEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INATNetworkAlterEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INATNetworkAlterEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INATNetworkAlterEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INATNetworkAlterEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INATNetworkAlterEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define INATNetworkAlterEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define INATNetworkAlterEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define INATNetworkAlterEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define INATNetworkAlterEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define INATNetworkAlterEvent_get_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> get_NetworkName(This,aNetworkName) ) 


#define INATNetworkAlterEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INATNetworkAlterEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0198 */
/* [local] */ 

#define COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_INATNetworkAlterEvent_TO(smth) COM_FORWARD_INATNetworkAlterEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_INATNetworkAlterEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkAlterEvent_TO ((obj)->)
#define COM_FORWARD_INATNetworkAlterEvent_TO_BASE(base) COM_FORWARD_INATNetworkAlterEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0198_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0198_v0_0_s_ifspec;

#ifndef __INATNetworkCreationDeletionEvent_INTERFACE_DEFINED__
#define __INATNetworkCreationDeletionEvent_INTERFACE_DEFINED__

/* interface INATNetworkCreationDeletionEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INATNetworkCreationDeletionEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8d984a7e-b855-40b8-ab0c-44d3515b4528")
    INATNetworkCreationDeletionEvent : public INATNetworkAlterEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CreationEvent( 
            /* [retval][out] */ BOOL *aCreationEvent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INATNetworkCreationDeletionEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INATNetworkCreationDeletionEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INATNetworkCreationDeletionEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INATNetworkCreationDeletionEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INATNetworkCreationDeletionEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INATNetworkCreationDeletionEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INATNetworkCreationDeletionEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INATNetworkCreationDeletionEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            INATNetworkCreationDeletionEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            INATNetworkCreationDeletionEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            INATNetworkCreationDeletionEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            INATNetworkCreationDeletionEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            INATNetworkCreationDeletionEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(INATNetworkChangedEvent, get_NetworkName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkName )( 
            INATNetworkCreationDeletionEvent * This,
            /* [retval][out] */ BSTR *aNetworkName);
        
        DECLSPEC_XFGVIRT(INATNetworkAlterEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            INATNetworkCreationDeletionEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        DECLSPEC_XFGVIRT(INATNetworkCreationDeletionEvent, get_CreationEvent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreationEvent )( 
            INATNetworkCreationDeletionEvent * This,
            /* [retval][out] */ BOOL *aCreationEvent);
        
        END_INTERFACE
    } INATNetworkCreationDeletionEventVtbl;

    interface INATNetworkCreationDeletionEvent
    {
        CONST_VTBL struct INATNetworkCreationDeletionEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INATNetworkCreationDeletionEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INATNetworkCreationDeletionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INATNetworkCreationDeletionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INATNetworkCreationDeletionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INATNetworkCreationDeletionEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define INATNetworkCreationDeletionEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define INATNetworkCreationDeletionEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define INATNetworkCreationDeletionEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define INATNetworkCreationDeletionEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define INATNetworkCreationDeletionEvent_get_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> get_NetworkName(This,aNetworkName) ) 


#define INATNetworkCreationDeletionEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 


#define INATNetworkCreationDeletionEvent_get_CreationEvent(This,aCreationEvent)	\
    ( (This)->lpVtbl -> get_CreationEvent(This,aCreationEvent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INATNetworkCreationDeletionEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0199 */
/* [local] */ 

#define COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO(smth) HRESULT STDMETHODCALLTYPE get_CreationEvent (BOOL * aCreationEvent) { return smth get_CreationEvent (aCreationEvent); }
#define COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO ((obj)->)
#define COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO_BASE(base) COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO (base::)
#define COM_FORWARD_INATNetworkCreationDeletionEvent_TO(smth) COM_FORWARD_INATNetworkCreationDeletionEvent_GETTER_CreationEvent_TO (smth) 
#define COM_FORWARD_INATNetworkCreationDeletionEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkCreationDeletionEvent_TO ((obj)->)
#define COM_FORWARD_INATNetworkCreationDeletionEvent_TO_BASE(base) COM_FORWARD_INATNetworkCreationDeletionEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0199_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0199_v0_0_s_ifspec;

#ifndef __INATNetworkSettingEvent_INTERFACE_DEFINED__
#define __INATNetworkSettingEvent_INTERFACE_DEFINED__

/* interface INATNetworkSettingEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INATNetworkSettingEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9db3a9e6-7f29-4aae-a627-5a282c83092c")
    INATNetworkSettingEvent : public INATNetworkAlterEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Network( 
            /* [retval][out] */ BSTR *aNetwork) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Gateway( 
            /* [retval][out] */ BSTR *aGateway) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdvertiseDefaultIPv6RouteEnabled( 
            /* [retval][out] */ BOOL *aAdvertiseDefaultIPv6RouteEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NeedDhcpServer( 
            /* [retval][out] */ BOOL *aNeedDhcpServer) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INATNetworkSettingEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INATNetworkSettingEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INATNetworkSettingEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INATNetworkSettingEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INATNetworkSettingEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INATNetworkSettingEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INATNetworkSettingEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INATNetworkSettingEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            INATNetworkSettingEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            INATNetworkSettingEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            INATNetworkSettingEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            INATNetworkSettingEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            INATNetworkSettingEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(INATNetworkChangedEvent, get_NetworkName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkName )( 
            INATNetworkSettingEvent * This,
            /* [retval][out] */ BSTR *aNetworkName);
        
        DECLSPEC_XFGVIRT(INATNetworkAlterEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            INATNetworkSettingEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        DECLSPEC_XFGVIRT(INATNetworkSettingEvent, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            INATNetworkSettingEvent * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(INATNetworkSettingEvent, get_Network)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Network )( 
            INATNetworkSettingEvent * This,
            /* [retval][out] */ BSTR *aNetwork);
        
        DECLSPEC_XFGVIRT(INATNetworkSettingEvent, get_Gateway)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Gateway )( 
            INATNetworkSettingEvent * This,
            /* [retval][out] */ BSTR *aGateway);
        
        DECLSPEC_XFGVIRT(INATNetworkSettingEvent, get_AdvertiseDefaultIPv6RouteEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdvertiseDefaultIPv6RouteEnabled )( 
            INATNetworkSettingEvent * This,
            /* [retval][out] */ BOOL *aAdvertiseDefaultIPv6RouteEnabled);
        
        DECLSPEC_XFGVIRT(INATNetworkSettingEvent, get_NeedDhcpServer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NeedDhcpServer )( 
            INATNetworkSettingEvent * This,
            /* [retval][out] */ BOOL *aNeedDhcpServer);
        
        END_INTERFACE
    } INATNetworkSettingEventVtbl;

    interface INATNetworkSettingEvent
    {
        CONST_VTBL struct INATNetworkSettingEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INATNetworkSettingEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INATNetworkSettingEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INATNetworkSettingEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INATNetworkSettingEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INATNetworkSettingEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define INATNetworkSettingEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define INATNetworkSettingEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define INATNetworkSettingEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define INATNetworkSettingEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define INATNetworkSettingEvent_get_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> get_NetworkName(This,aNetworkName) ) 


#define INATNetworkSettingEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 


#define INATNetworkSettingEvent_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define INATNetworkSettingEvent_get_Network(This,aNetwork)	\
    ( (This)->lpVtbl -> get_Network(This,aNetwork) ) 

#define INATNetworkSettingEvent_get_Gateway(This,aGateway)	\
    ( (This)->lpVtbl -> get_Gateway(This,aGateway) ) 

#define INATNetworkSettingEvent_get_AdvertiseDefaultIPv6RouteEnabled(This,aAdvertiseDefaultIPv6RouteEnabled)	\
    ( (This)->lpVtbl -> get_AdvertiseDefaultIPv6RouteEnabled(This,aAdvertiseDefaultIPv6RouteEnabled) ) 

#define INATNetworkSettingEvent_get_NeedDhcpServer(This,aNeedDhcpServer)	\
    ( (This)->lpVtbl -> get_NeedDhcpServer(This,aNeedDhcpServer) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INATNetworkSettingEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0200 */
/* [local] */ 

#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Enabled_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_GETTER_Enabled_TO (base::)
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Network_TO(smth) HRESULT STDMETHODCALLTYPE get_Network (BSTR * aNetwork) { return smth get_Network (aNetwork); }
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Network_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_GETTER_Network_TO ((obj)->)
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Network_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_GETTER_Network_TO (base::)
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Gateway_TO(smth) HRESULT STDMETHODCALLTYPE get_Gateway (BSTR * aGateway) { return smth get_Gateway (aGateway); }
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Gateway_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_GETTER_Gateway_TO ((obj)->)
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_Gateway_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_GETTER_Gateway_TO (base::)
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO(smth) HRESULT STDMETHODCALLTYPE get_AdvertiseDefaultIPv6RouteEnabled (BOOL * aAdvertiseDefaultIPv6RouteEnabled) { return smth get_AdvertiseDefaultIPv6RouteEnabled (aAdvertiseDefaultIPv6RouteEnabled); }
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO ((obj)->)
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO (base::)
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_NeedDhcpServer_TO(smth) HRESULT STDMETHODCALLTYPE get_NeedDhcpServer (BOOL * aNeedDhcpServer) { return smth get_NeedDhcpServer (aNeedDhcpServer); }
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_NeedDhcpServer_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_GETTER_NeedDhcpServer_TO ((obj)->)
#define COM_FORWARD_INATNetworkSettingEvent_GETTER_NeedDhcpServer_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_GETTER_NeedDhcpServer_TO (base::)
#define COM_FORWARD_INATNetworkSettingEvent_TO(smth) COM_FORWARD_INATNetworkSettingEvent_GETTER_Enabled_TO (smth) COM_FORWARD_INATNetworkSettingEvent_GETTER_Network_TO (smth) COM_FORWARD_INATNetworkSettingEvent_GETTER_Gateway_TO (smth) COM_FORWARD_INATNetworkSettingEvent_GETTER_AdvertiseDefaultIPv6RouteEnabled_TO (smth) COM_FORWARD_INATNetworkSettingEvent_GETTER_NeedDhcpServer_TO (smth) 
#define COM_FORWARD_INATNetworkSettingEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkSettingEvent_TO ((obj)->)
#define COM_FORWARD_INATNetworkSettingEvent_TO_BASE(base) COM_FORWARD_INATNetworkSettingEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0200_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0200_v0_0_s_ifspec;

#ifndef __INATNetworkPortForwardEvent_INTERFACE_DEFINED__
#define __INATNetworkPortForwardEvent_INTERFACE_DEFINED__

/* interface INATNetworkPortForwardEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_INATNetworkPortForwardEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2514881b-23d0-430a-a7ff-7ed7f05534bc")
    INATNetworkPortForwardEvent : public INATNetworkAlterEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Create( 
            /* [retval][out] */ BOOL *aCreate) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Ipv6( 
            /* [retval][out] */ BOOL *aIpv6) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Proto( 
            /* [retval][out] */ NATProtocol *aProto) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostIp( 
            /* [retval][out] */ BSTR *aHostIp) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HostPort( 
            /* [retval][out] */ LONG *aHostPort) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestIp( 
            /* [retval][out] */ BSTR *aGuestIp) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestPort( 
            /* [retval][out] */ LONG *aGuestPort) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct INATNetworkPortForwardEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            INATNetworkPortForwardEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            INATNetworkPortForwardEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            INATNetworkPortForwardEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            INATNetworkPortForwardEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            INATNetworkPortForwardEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            INATNetworkPortForwardEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            INATNetworkPortForwardEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            INATNetworkPortForwardEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            INATNetworkPortForwardEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(INATNetworkChangedEvent, get_NetworkName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkName )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ BSTR *aNetworkName);
        
        DECLSPEC_XFGVIRT(INATNetworkAlterEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        DECLSPEC_XFGVIRT(INATNetworkPortForwardEvent, get_Create)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Create )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ BOOL *aCreate);
        
        DECLSPEC_XFGVIRT(INATNetworkPortForwardEvent, get_Ipv6)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Ipv6 )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ BOOL *aIpv6);
        
        DECLSPEC_XFGVIRT(INATNetworkPortForwardEvent, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(INATNetworkPortForwardEvent, get_Proto)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Proto )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ NATProtocol *aProto);
        
        DECLSPEC_XFGVIRT(INATNetworkPortForwardEvent, get_HostIp)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostIp )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ BSTR *aHostIp);
        
        DECLSPEC_XFGVIRT(INATNetworkPortForwardEvent, get_HostPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HostPort )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ LONG *aHostPort);
        
        DECLSPEC_XFGVIRT(INATNetworkPortForwardEvent, get_GuestIp)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestIp )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ BSTR *aGuestIp);
        
        DECLSPEC_XFGVIRT(INATNetworkPortForwardEvent, get_GuestPort)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestPort )( 
            INATNetworkPortForwardEvent * This,
            /* [retval][out] */ LONG *aGuestPort);
        
        END_INTERFACE
    } INATNetworkPortForwardEventVtbl;

    interface INATNetworkPortForwardEvent
    {
        CONST_VTBL struct INATNetworkPortForwardEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define INATNetworkPortForwardEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define INATNetworkPortForwardEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define INATNetworkPortForwardEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define INATNetworkPortForwardEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define INATNetworkPortForwardEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define INATNetworkPortForwardEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define INATNetworkPortForwardEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define INATNetworkPortForwardEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define INATNetworkPortForwardEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define INATNetworkPortForwardEvent_get_NetworkName(This,aNetworkName)	\
    ( (This)->lpVtbl -> get_NetworkName(This,aNetworkName) ) 


#define INATNetworkPortForwardEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 


#define INATNetworkPortForwardEvent_get_Create(This,aCreate)	\
    ( (This)->lpVtbl -> get_Create(This,aCreate) ) 

#define INATNetworkPortForwardEvent_get_Ipv6(This,aIpv6)	\
    ( (This)->lpVtbl -> get_Ipv6(This,aIpv6) ) 

#define INATNetworkPortForwardEvent_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define INATNetworkPortForwardEvent_get_Proto(This,aProto)	\
    ( (This)->lpVtbl -> get_Proto(This,aProto) ) 

#define INATNetworkPortForwardEvent_get_HostIp(This,aHostIp)	\
    ( (This)->lpVtbl -> get_HostIp(This,aHostIp) ) 

#define INATNetworkPortForwardEvent_get_HostPort(This,aHostPort)	\
    ( (This)->lpVtbl -> get_HostPort(This,aHostPort) ) 

#define INATNetworkPortForwardEvent_get_GuestIp(This,aGuestIp)	\
    ( (This)->lpVtbl -> get_GuestIp(This,aGuestIp) ) 

#define INATNetworkPortForwardEvent_get_GuestPort(This,aGuestPort)	\
    ( (This)->lpVtbl -> get_GuestPort(This,aGuestPort) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __INATNetworkPortForwardEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0201 */
/* [local] */ 

#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Create_TO(smth) HRESULT STDMETHODCALLTYPE get_Create (BOOL * aCreate) { return smth get_Create (aCreate); }
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Create_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Create_TO ((obj)->)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Create_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Create_TO (base::)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Ipv6_TO(smth) HRESULT STDMETHODCALLTYPE get_Ipv6 (BOOL * aIpv6) { return smth get_Ipv6 (aIpv6); }
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Ipv6_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Ipv6_TO ((obj)->)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Ipv6_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Ipv6_TO (base::)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Name_TO (base::)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Proto_TO(smth) HRESULT STDMETHODCALLTYPE get_Proto (NATProtocol * aProto) { return smth get_Proto (aProto); }
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Proto_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Proto_TO ((obj)->)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Proto_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Proto_TO (base::)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostIp_TO(smth) HRESULT STDMETHODCALLTYPE get_HostIp (BSTR * aHostIp) { return smth get_HostIp (aHostIp); }
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostIp_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostIp_TO ((obj)->)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostIp_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostIp_TO (base::)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostPort_TO(smth) HRESULT STDMETHODCALLTYPE get_HostPort (LONG * aHostPort) { return smth get_HostPort (aHostPort); }
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostPort_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostPort_TO ((obj)->)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostPort_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostPort_TO (base::)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestIp_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestIp (BSTR * aGuestIp) { return smth get_GuestIp (aGuestIp); }
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestIp_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestIp_TO ((obj)->)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestIp_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestIp_TO (base::)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestPort_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestPort (LONG * aGuestPort) { return smth get_GuestPort (aGuestPort); }
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestPort_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestPort_TO ((obj)->)
#define COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestPort_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestPort_TO (base::)
#define COM_FORWARD_INATNetworkPortForwardEvent_TO(smth) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Create_TO (smth) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Ipv6_TO (smth) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Name_TO (smth) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_Proto_TO (smth) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostIp_TO (smth) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_HostPort_TO (smth) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestIp_TO (smth) COM_FORWARD_INATNetworkPortForwardEvent_GETTER_GuestPort_TO (smth) 
#define COM_FORWARD_INATNetworkPortForwardEvent_TO_OBJ(obj) COM_FORWARD_INATNetworkPortForwardEvent_TO ((obj)->)
#define COM_FORWARD_INATNetworkPortForwardEvent_TO_BASE(base) COM_FORWARD_INATNetworkPortForwardEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0201_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0201_v0_0_s_ifspec;

#ifndef __IHostNameResolutionConfigurationChangeEvent_INTERFACE_DEFINED__
#define __IHostNameResolutionConfigurationChangeEvent_INTERFACE_DEFINED__

/* interface IHostNameResolutionConfigurationChangeEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IHostNameResolutionConfigurationChangeEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f9b9e1cf-cb63-47a1-84fb-02c4894b89a9")
    IHostNameResolutionConfigurationChangeEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IHostNameResolutionConfigurationChangeEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IHostNameResolutionConfigurationChangeEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IHostNameResolutionConfigurationChangeEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IHostNameResolutionConfigurationChangeEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IHostNameResolutionConfigurationChangeEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IHostNameResolutionConfigurationChangeEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IHostNameResolutionConfigurationChangeEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IHostNameResolutionConfigurationChangeEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IHostNameResolutionConfigurationChangeEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IHostNameResolutionConfigurationChangeEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IHostNameResolutionConfigurationChangeEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IHostNameResolutionConfigurationChangeEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IHostNameResolutionConfigurationChangeEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IHostNameResolutionConfigurationChangeEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IHostNameResolutionConfigurationChangeEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IHostNameResolutionConfigurationChangeEventVtbl;

    interface IHostNameResolutionConfigurationChangeEvent
    {
        CONST_VTBL struct IHostNameResolutionConfigurationChangeEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IHostNameResolutionConfigurationChangeEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IHostNameResolutionConfigurationChangeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IHostNameResolutionConfigurationChangeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IHostNameResolutionConfigurationChangeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IHostNameResolutionConfigurationChangeEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IHostNameResolutionConfigurationChangeEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IHostNameResolutionConfigurationChangeEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IHostNameResolutionConfigurationChangeEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IHostNameResolutionConfigurationChangeEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IHostNameResolutionConfigurationChangeEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IHostNameResolutionConfigurationChangeEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0202 */
/* [local] */ 

#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_TO(smth) COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_TO_OBJ(obj) COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_TO ((obj)->)
#define COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_TO_BASE(base) COM_FORWARD_IHostNameResolutionConfigurationChangeEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0202_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0202_v0_0_s_ifspec;

#ifndef __IProgressEvent_INTERFACE_DEFINED__
#define __IProgressEvent_INTERFACE_DEFINED__

/* interface IProgressEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IProgressEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("daaf9016-1f04-4191-aa2f-1fac9646ae4c")
    IProgressEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProgressId( 
            /* [retval][out] */ BSTR *aProgressId) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IProgressEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IProgressEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IProgressEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IProgressEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IProgressEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IProgressEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IProgressEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IProgressEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IProgressEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IProgressEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IProgressEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IProgressEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IProgressEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IProgressEvent, get_ProgressId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProgressId )( 
            IProgressEvent * This,
            /* [retval][out] */ BSTR *aProgressId);
        
        END_INTERFACE
    } IProgressEventVtbl;

    interface IProgressEvent
    {
        CONST_VTBL struct IProgressEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IProgressEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IProgressEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IProgressEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IProgressEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IProgressEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IProgressEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IProgressEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IProgressEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IProgressEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IProgressEvent_get_ProgressId(This,aProgressId)	\
    ( (This)->lpVtbl -> get_ProgressId(This,aProgressId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IProgressEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0203 */
/* [local] */ 

#define COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProgressId (BSTR * aProgressId) { return smth get_ProgressId (aProgressId); }
#define COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO_OBJ(obj) COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO ((obj)->)
#define COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO_BASE(base) COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO (base::)
#define COM_FORWARD_IProgressEvent_TO(smth) COM_FORWARD_IProgressEvent_GETTER_ProgressId_TO (smth) 
#define COM_FORWARD_IProgressEvent_TO_OBJ(obj) COM_FORWARD_IProgressEvent_TO ((obj)->)
#define COM_FORWARD_IProgressEvent_TO_BASE(base) COM_FORWARD_IProgressEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0203_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0203_v0_0_s_ifspec;

#ifndef __IProgressCreatedEvent_INTERFACE_DEFINED__
#define __IProgressCreatedEvent_INTERFACE_DEFINED__

/* interface IProgressCreatedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IProgressCreatedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a85bba40-1b93-47bb-b125-dec708c30fc0")
    IProgressCreatedEvent : public IProgressEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Create( 
            /* [retval][out] */ BOOL *aCreate) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IProgressCreatedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IProgressCreatedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IProgressCreatedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IProgressCreatedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IProgressCreatedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IProgressCreatedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IProgressCreatedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IProgressCreatedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IProgressCreatedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IProgressCreatedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IProgressCreatedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IProgressCreatedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IProgressCreatedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IProgressEvent, get_ProgressId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProgressId )( 
            IProgressCreatedEvent * This,
            /* [retval][out] */ BSTR *aProgressId);
        
        DECLSPEC_XFGVIRT(IProgressCreatedEvent, get_Create)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Create )( 
            IProgressCreatedEvent * This,
            /* [retval][out] */ BOOL *aCreate);
        
        END_INTERFACE
    } IProgressCreatedEventVtbl;

    interface IProgressCreatedEvent
    {
        CONST_VTBL struct IProgressCreatedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IProgressCreatedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IProgressCreatedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IProgressCreatedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IProgressCreatedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IProgressCreatedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IProgressCreatedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IProgressCreatedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IProgressCreatedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IProgressCreatedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IProgressCreatedEvent_get_ProgressId(This,aProgressId)	\
    ( (This)->lpVtbl -> get_ProgressId(This,aProgressId) ) 


#define IProgressCreatedEvent_get_Create(This,aCreate)	\
    ( (This)->lpVtbl -> get_Create(This,aCreate) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IProgressCreatedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0204 */
/* [local] */ 

#define COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO(smth) HRESULT STDMETHODCALLTYPE get_Create (BOOL * aCreate) { return smth get_Create (aCreate); }
#define COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO_OBJ(obj) COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO ((obj)->)
#define COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO_BASE(base) COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO (base::)
#define COM_FORWARD_IProgressCreatedEvent_TO(smth) COM_FORWARD_IProgressCreatedEvent_GETTER_Create_TO (smth) 
#define COM_FORWARD_IProgressCreatedEvent_TO_OBJ(obj) COM_FORWARD_IProgressCreatedEvent_TO ((obj)->)
#define COM_FORWARD_IProgressCreatedEvent_TO_BASE(base) COM_FORWARD_IProgressCreatedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0204_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0204_v0_0_s_ifspec;

#ifndef __IProgressPercentageChangedEvent_INTERFACE_DEFINED__
#define __IProgressPercentageChangedEvent_INTERFACE_DEFINED__

/* interface IProgressPercentageChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IProgressPercentageChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f05d7e60-1bcf-4218-9807-04e036cc70f1")
    IProgressPercentageChangedEvent : public IProgressEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Percent( 
            /* [retval][out] */ LONG *aPercent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IProgressPercentageChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IProgressPercentageChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IProgressPercentageChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IProgressPercentageChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IProgressPercentageChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IProgressPercentageChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IProgressPercentageChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IProgressPercentageChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IProgressPercentageChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IProgressPercentageChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IProgressPercentageChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IProgressPercentageChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IProgressPercentageChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IProgressEvent, get_ProgressId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProgressId )( 
            IProgressPercentageChangedEvent * This,
            /* [retval][out] */ BSTR *aProgressId);
        
        DECLSPEC_XFGVIRT(IProgressPercentageChangedEvent, get_Percent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Percent )( 
            IProgressPercentageChangedEvent * This,
            /* [retval][out] */ LONG *aPercent);
        
        END_INTERFACE
    } IProgressPercentageChangedEventVtbl;

    interface IProgressPercentageChangedEvent
    {
        CONST_VTBL struct IProgressPercentageChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IProgressPercentageChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IProgressPercentageChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IProgressPercentageChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IProgressPercentageChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IProgressPercentageChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IProgressPercentageChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IProgressPercentageChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IProgressPercentageChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IProgressPercentageChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IProgressPercentageChangedEvent_get_ProgressId(This,aProgressId)	\
    ( (This)->lpVtbl -> get_ProgressId(This,aProgressId) ) 


#define IProgressPercentageChangedEvent_get_Percent(This,aPercent)	\
    ( (This)->lpVtbl -> get_Percent(This,aPercent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IProgressPercentageChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0205 */
/* [local] */ 

#define COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO(smth) HRESULT STDMETHODCALLTYPE get_Percent (LONG * aPercent) { return smth get_Percent (aPercent); }
#define COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO_OBJ(obj) COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO ((obj)->)
#define COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO_BASE(base) COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO (base::)
#define COM_FORWARD_IProgressPercentageChangedEvent_TO(smth) COM_FORWARD_IProgressPercentageChangedEvent_GETTER_Percent_TO (smth) 
#define COM_FORWARD_IProgressPercentageChangedEvent_TO_OBJ(obj) COM_FORWARD_IProgressPercentageChangedEvent_TO ((obj)->)
#define COM_FORWARD_IProgressPercentageChangedEvent_TO_BASE(base) COM_FORWARD_IProgressPercentageChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0205_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0205_v0_0_s_ifspec;

#ifndef __IProgressTaskCompletedEvent_INTERFACE_DEFINED__
#define __IProgressTaskCompletedEvent_INTERFACE_DEFINED__

/* interface IProgressTaskCompletedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IProgressTaskCompletedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a5bbdb7d-8ce7-469f-a4c2-6476f581ff72")
    IProgressTaskCompletedEvent : public IProgressEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces( 
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IProgressTaskCompletedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IProgressTaskCompletedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IProgressTaskCompletedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IProgressTaskCompletedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IProgressTaskCompletedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IProgressTaskCompletedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IProgressTaskCompletedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IProgressTaskCompletedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IProgressTaskCompletedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IProgressTaskCompletedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IProgressTaskCompletedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IProgressTaskCompletedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IProgressTaskCompletedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IProgressEvent, get_ProgressId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProgressId )( 
            IProgressTaskCompletedEvent * This,
            /* [retval][out] */ BSTR *aProgressId);
        
        DECLSPEC_XFGVIRT(IProgressTaskCompletedEvent, get_MidlDoesNotLikeEmptyInterfaces)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MidlDoesNotLikeEmptyInterfaces )( 
            IProgressTaskCompletedEvent * This,
            /* [retval][out] */ BOOL *aMidlDoesNotLikeEmptyInterfaces);
        
        END_INTERFACE
    } IProgressTaskCompletedEventVtbl;

    interface IProgressTaskCompletedEvent
    {
        CONST_VTBL struct IProgressTaskCompletedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IProgressTaskCompletedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IProgressTaskCompletedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IProgressTaskCompletedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IProgressTaskCompletedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IProgressTaskCompletedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IProgressTaskCompletedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IProgressTaskCompletedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IProgressTaskCompletedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IProgressTaskCompletedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IProgressTaskCompletedEvent_get_ProgressId(This,aProgressId)	\
    ( (This)->lpVtbl -> get_ProgressId(This,aProgressId) ) 


#define IProgressTaskCompletedEvent_get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces)	\
    ( (This)->lpVtbl -> get_MidlDoesNotLikeEmptyInterfaces(This,aMidlDoesNotLikeEmptyInterfaces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IProgressTaskCompletedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0206 */
/* [local] */ 

#define COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO(smth) HRESULT STDMETHODCALLTYPE get_MidlDoesNotLikeEmptyInterfaces (BOOL * aMidlDoesNotLikeEmptyInterfaces) { return smth get_MidlDoesNotLikeEmptyInterfaces (aMidlDoesNotLikeEmptyInterfaces); }
#define COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_OBJ(obj) COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO ((obj)->)
#define COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO_BASE(base) COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (base::)
#define COM_FORWARD_IProgressTaskCompletedEvent_TO(smth) COM_FORWARD_IProgressTaskCompletedEvent_GETTER_MidlDoesNotLikeEmptyInterfaces_TO (smth) 
#define COM_FORWARD_IProgressTaskCompletedEvent_TO_OBJ(obj) COM_FORWARD_IProgressTaskCompletedEvent_TO ((obj)->)
#define COM_FORWARD_IProgressTaskCompletedEvent_TO_BASE(base) COM_FORWARD_IProgressTaskCompletedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0206_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0206_v0_0_s_ifspec;

#ifndef __ICursorPositionChangedEvent_INTERFACE_DEFINED__
#define __ICursorPositionChangedEvent_INTERFACE_DEFINED__

/* interface ICursorPositionChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICursorPositionChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6f302674-c927-11e7-b788-33c248e71fc7")
    ICursorPositionChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasData( 
            /* [retval][out] */ BOOL *aHasData) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_X( 
            /* [retval][out] */ ULONG *aX) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Y( 
            /* [retval][out] */ ULONG *aY) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICursorPositionChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICursorPositionChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICursorPositionChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICursorPositionChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICursorPositionChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICursorPositionChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICursorPositionChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICursorPositionChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICursorPositionChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICursorPositionChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ICursorPositionChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ICursorPositionChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ICursorPositionChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ICursorPositionChangedEvent, get_HasData)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasData )( 
            ICursorPositionChangedEvent * This,
            /* [retval][out] */ BOOL *aHasData);
        
        DECLSPEC_XFGVIRT(ICursorPositionChangedEvent, get_X)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_X )( 
            ICursorPositionChangedEvent * This,
            /* [retval][out] */ ULONG *aX);
        
        DECLSPEC_XFGVIRT(ICursorPositionChangedEvent, get_Y)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Y )( 
            ICursorPositionChangedEvent * This,
            /* [retval][out] */ ULONG *aY);
        
        END_INTERFACE
    } ICursorPositionChangedEventVtbl;

    interface ICursorPositionChangedEvent
    {
        CONST_VTBL struct ICursorPositionChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICursorPositionChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICursorPositionChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICursorPositionChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICursorPositionChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICursorPositionChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ICursorPositionChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ICursorPositionChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ICursorPositionChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ICursorPositionChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ICursorPositionChangedEvent_get_HasData(This,aHasData)	\
    ( (This)->lpVtbl -> get_HasData(This,aHasData) ) 

#define ICursorPositionChangedEvent_get_X(This,aX)	\
    ( (This)->lpVtbl -> get_X(This,aX) ) 

#define ICursorPositionChangedEvent_get_Y(This,aY)	\
    ( (This)->lpVtbl -> get_Y(This,aY) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICursorPositionChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0207 */
/* [local] */ 

#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_HasData_TO(smth) HRESULT STDMETHODCALLTYPE get_HasData (BOOL * aHasData) { return smth get_HasData (aHasData); }
#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_HasData_TO_OBJ(obj) COM_FORWARD_ICursorPositionChangedEvent_GETTER_HasData_TO ((obj)->)
#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_HasData_TO_BASE(base) COM_FORWARD_ICursorPositionChangedEvent_GETTER_HasData_TO (base::)
#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_X_TO(smth) HRESULT STDMETHODCALLTYPE get_X (ULONG * aX) { return smth get_X (aX); }
#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_X_TO_OBJ(obj) COM_FORWARD_ICursorPositionChangedEvent_GETTER_X_TO ((obj)->)
#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_X_TO_BASE(base) COM_FORWARD_ICursorPositionChangedEvent_GETTER_X_TO (base::)
#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_Y_TO(smth) HRESULT STDMETHODCALLTYPE get_Y (ULONG * aY) { return smth get_Y (aY); }
#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_Y_TO_OBJ(obj) COM_FORWARD_ICursorPositionChangedEvent_GETTER_Y_TO ((obj)->)
#define COM_FORWARD_ICursorPositionChangedEvent_GETTER_Y_TO_BASE(base) COM_FORWARD_ICursorPositionChangedEvent_GETTER_Y_TO (base::)
#define COM_FORWARD_ICursorPositionChangedEvent_TO(smth) COM_FORWARD_ICursorPositionChangedEvent_GETTER_HasData_TO (smth) COM_FORWARD_ICursorPositionChangedEvent_GETTER_X_TO (smth) COM_FORWARD_ICursorPositionChangedEvent_GETTER_Y_TO (smth) 
#define COM_FORWARD_ICursorPositionChangedEvent_TO_OBJ(obj) COM_FORWARD_ICursorPositionChangedEvent_TO ((obj)->)
#define COM_FORWARD_ICursorPositionChangedEvent_TO_BASE(base) COM_FORWARD_ICursorPositionChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0207_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0207_v0_0_s_ifspec;

#ifndef __IGuestAdditionsStatusChangedEvent_INTERFACE_DEFINED__
#define __IGuestAdditionsStatusChangedEvent_INTERFACE_DEFINED__

/* interface IGuestAdditionsStatusChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestAdditionsStatusChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a443da5b-aa82-4720-bc84-bd097b2b13b8")
    IGuestAdditionsStatusChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Facility( 
            /* [retval][out] */ AdditionsFacilityType *aFacility) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ AdditionsFacilityStatus *aStatus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RunLevel( 
            /* [retval][out] */ AdditionsRunLevelType *aRunLevel) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Timestamp( 
            /* [retval][out] */ LONG64 *aTimestamp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestAdditionsStatusChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestAdditionsStatusChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestAdditionsStatusChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestAdditionsStatusChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestAdditionsStatusChangedEvent, get_Facility)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Facility )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [retval][out] */ AdditionsFacilityType *aFacility);
        
        DECLSPEC_XFGVIRT(IGuestAdditionsStatusChangedEvent, get_Status)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [retval][out] */ AdditionsFacilityStatus *aStatus);
        
        DECLSPEC_XFGVIRT(IGuestAdditionsStatusChangedEvent, get_RunLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RunLevel )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [retval][out] */ AdditionsRunLevelType *aRunLevel);
        
        DECLSPEC_XFGVIRT(IGuestAdditionsStatusChangedEvent, get_Timestamp)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Timestamp )( 
            IGuestAdditionsStatusChangedEvent * This,
            /* [retval][out] */ LONG64 *aTimestamp);
        
        END_INTERFACE
    } IGuestAdditionsStatusChangedEventVtbl;

    interface IGuestAdditionsStatusChangedEvent
    {
        CONST_VTBL struct IGuestAdditionsStatusChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestAdditionsStatusChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestAdditionsStatusChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestAdditionsStatusChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestAdditionsStatusChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestAdditionsStatusChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestAdditionsStatusChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestAdditionsStatusChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestAdditionsStatusChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestAdditionsStatusChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestAdditionsStatusChangedEvent_get_Facility(This,aFacility)	\
    ( (This)->lpVtbl -> get_Facility(This,aFacility) ) 

#define IGuestAdditionsStatusChangedEvent_get_Status(This,aStatus)	\
    ( (This)->lpVtbl -> get_Status(This,aStatus) ) 

#define IGuestAdditionsStatusChangedEvent_get_RunLevel(This,aRunLevel)	\
    ( (This)->lpVtbl -> get_RunLevel(This,aRunLevel) ) 

#define IGuestAdditionsStatusChangedEvent_get_Timestamp(This,aTimestamp)	\
    ( (This)->lpVtbl -> get_Timestamp(This,aTimestamp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestAdditionsStatusChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0208 */
/* [local] */ 

#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Facility_TO(smth) HRESULT STDMETHODCALLTYPE get_Facility (AdditionsFacilityType * aFacility) { return smth get_Facility (aFacility); }
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Facility_TO_OBJ(obj) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Facility_TO ((obj)->)
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Facility_TO_BASE(base) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Facility_TO (base::)
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Status_TO(smth) HRESULT STDMETHODCALLTYPE get_Status (AdditionsFacilityStatus * aStatus) { return smth get_Status (aStatus); }
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Status_TO_OBJ(obj) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Status_TO ((obj)->)
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Status_TO_BASE(base) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Status_TO (base::)
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_RunLevel_TO(smth) HRESULT STDMETHODCALLTYPE get_RunLevel (AdditionsRunLevelType * aRunLevel) { return smth get_RunLevel (aRunLevel); }
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_RunLevel_TO_OBJ(obj) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_RunLevel_TO ((obj)->)
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_RunLevel_TO_BASE(base) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_RunLevel_TO (base::)
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Timestamp_TO(smth) HRESULT STDMETHODCALLTYPE get_Timestamp (LONG64 * aTimestamp) { return smth get_Timestamp (aTimestamp); }
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Timestamp_TO_OBJ(obj) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Timestamp_TO ((obj)->)
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Timestamp_TO_BASE(base) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Timestamp_TO (base::)
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_TO(smth) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Facility_TO (smth) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Status_TO (smth) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_RunLevel_TO (smth) COM_FORWARD_IGuestAdditionsStatusChangedEvent_GETTER_Timestamp_TO (smth) 
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestAdditionsStatusChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestAdditionsStatusChangedEvent_TO_BASE(base) COM_FORWARD_IGuestAdditionsStatusChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0208_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0208_v0_0_s_ifspec;

#ifndef __IGuestMonitorInfoChangedEvent_INTERFACE_DEFINED__
#define __IGuestMonitorInfoChangedEvent_INTERFACE_DEFINED__

/* interface IGuestMonitorInfoChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestMonitorInfoChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0b3cdeb2-808e-11e9-b773-133d9330f849")
    IGuestMonitorInfoChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Output( 
            /* [retval][out] */ ULONG *aOutput) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestMonitorInfoChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestMonitorInfoChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestMonitorInfoChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestMonitorInfoChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestMonitorInfoChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestMonitorInfoChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestMonitorInfoChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestMonitorInfoChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestMonitorInfoChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestMonitorInfoChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestMonitorInfoChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestMonitorInfoChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestMonitorInfoChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestMonitorInfoChangedEvent, get_Output)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Output )( 
            IGuestMonitorInfoChangedEvent * This,
            /* [retval][out] */ ULONG *aOutput);
        
        END_INTERFACE
    } IGuestMonitorInfoChangedEventVtbl;

    interface IGuestMonitorInfoChangedEvent
    {
        CONST_VTBL struct IGuestMonitorInfoChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestMonitorInfoChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestMonitorInfoChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestMonitorInfoChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestMonitorInfoChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestMonitorInfoChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestMonitorInfoChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestMonitorInfoChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestMonitorInfoChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestMonitorInfoChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestMonitorInfoChangedEvent_get_Output(This,aOutput)	\
    ( (This)->lpVtbl -> get_Output(This,aOutput) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestMonitorInfoChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0209 */
/* [local] */ 

#define COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO(smth) HRESULT STDMETHODCALLTYPE get_Output (ULONG * aOutput) { return smth get_Output (aOutput); }
#define COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO_OBJ(obj) COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO ((obj)->)
#define COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO_BASE(base) COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO (base::)
#define COM_FORWARD_IGuestMonitorInfoChangedEvent_TO(smth) COM_FORWARD_IGuestMonitorInfoChangedEvent_GETTER_Output_TO (smth) 
#define COM_FORWARD_IGuestMonitorInfoChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestMonitorInfoChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestMonitorInfoChangedEvent_TO_BASE(base) COM_FORWARD_IGuestMonitorInfoChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0209_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0209_v0_0_s_ifspec;

#ifndef __IUpdateAgentEvent_INTERFACE_DEFINED__
#define __IUpdateAgentEvent_INTERFACE_DEFINED__

/* interface IUpdateAgentEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUpdateAgentEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ff58a51d-54a1-411c-93e9-3047eb4dcd21")
    IUpdateAgentEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Agent( 
            /* [retval][out] */ IUpdateAgent **aAgent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUpdateAgentEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUpdateAgentEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUpdateAgentEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUpdateAgentEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUpdateAgentEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUpdateAgentEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUpdateAgentEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUpdateAgentEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IUpdateAgentEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IUpdateAgentEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IUpdateAgentEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IUpdateAgentEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IUpdateAgentEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IUpdateAgentEvent, get_Agent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Agent )( 
            IUpdateAgentEvent * This,
            /* [retval][out] */ IUpdateAgent **aAgent);
        
        END_INTERFACE
    } IUpdateAgentEventVtbl;

    interface IUpdateAgentEvent
    {
        CONST_VTBL struct IUpdateAgentEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUpdateAgentEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUpdateAgentEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUpdateAgentEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUpdateAgentEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUpdateAgentEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IUpdateAgentEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IUpdateAgentEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IUpdateAgentEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IUpdateAgentEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IUpdateAgentEvent_get_Agent(This,aAgent)	\
    ( (This)->lpVtbl -> get_Agent(This,aAgent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUpdateAgentEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0210 */
/* [local] */ 

#define COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO(smth) HRESULT STDMETHODCALLTYPE get_Agent (IUpdateAgent * * aAgent) { return smth get_Agent (aAgent); }
#define COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO_BASE(base) COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO (base::)
#define COM_FORWARD_IUpdateAgentEvent_TO(smth) COM_FORWARD_IUpdateAgentEvent_GETTER_Agent_TO (smth) 
#define COM_FORWARD_IUpdateAgentEvent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentEvent_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentEvent_TO_BASE(base) COM_FORWARD_IUpdateAgentEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0210_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0210_v0_0_s_ifspec;

#ifndef __IUpdateAgentSettingsChangedEvent_INTERFACE_DEFINED__
#define __IUpdateAgentSettingsChangedEvent_INTERFACE_DEFINED__

/* interface IUpdateAgentSettingsChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUpdateAgentSettingsChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("abef51ae-1493-49f4-aa03-efaf106bf086")
    IUpdateAgentSettingsChangedEvent : public IUpdateAgentEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AttributeHint( 
            /* [retval][out] */ BSTR *aAttributeHint) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUpdateAgentSettingsChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUpdateAgentSettingsChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUpdateAgentSettingsChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUpdateAgentSettingsChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUpdateAgentSettingsChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUpdateAgentSettingsChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUpdateAgentSettingsChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUpdateAgentSettingsChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IUpdateAgentSettingsChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IUpdateAgentSettingsChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IUpdateAgentSettingsChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IUpdateAgentSettingsChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IUpdateAgentSettingsChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IUpdateAgentEvent, get_Agent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Agent )( 
            IUpdateAgentSettingsChangedEvent * This,
            /* [retval][out] */ IUpdateAgent **aAgent);
        
        DECLSPEC_XFGVIRT(IUpdateAgentSettingsChangedEvent, get_AttributeHint)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttributeHint )( 
            IUpdateAgentSettingsChangedEvent * This,
            /* [retval][out] */ BSTR *aAttributeHint);
        
        END_INTERFACE
    } IUpdateAgentSettingsChangedEventVtbl;

    interface IUpdateAgentSettingsChangedEvent
    {
        CONST_VTBL struct IUpdateAgentSettingsChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUpdateAgentSettingsChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUpdateAgentSettingsChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUpdateAgentSettingsChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUpdateAgentSettingsChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUpdateAgentSettingsChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IUpdateAgentSettingsChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IUpdateAgentSettingsChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IUpdateAgentSettingsChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IUpdateAgentSettingsChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IUpdateAgentSettingsChangedEvent_get_Agent(This,aAgent)	\
    ( (This)->lpVtbl -> get_Agent(This,aAgent) ) 


#define IUpdateAgentSettingsChangedEvent_get_AttributeHint(This,aAttributeHint)	\
    ( (This)->lpVtbl -> get_AttributeHint(This,aAttributeHint) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUpdateAgentSettingsChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0211 */
/* [local] */ 

#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO(smth) HRESULT STDMETHODCALLTYPE get_AttributeHint (BSTR * aAttributeHint) { return smth get_AttributeHint (aAttributeHint); }
#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO_OBJ(obj) COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO_BASE(base) COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO (base::)
#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_TO(smth) COM_FORWARD_IUpdateAgentSettingsChangedEvent_GETTER_AttributeHint_TO (smth) 
#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentSettingsChangedEvent_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentSettingsChangedEvent_TO_BASE(base) COM_FORWARD_IUpdateAgentSettingsChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0211_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0211_v0_0_s_ifspec;

#ifndef __IUpdateAgentErrorEvent_INTERFACE_DEFINED__
#define __IUpdateAgentErrorEvent_INTERFACE_DEFINED__

/* interface IUpdateAgentErrorEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUpdateAgentErrorEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2a88033d-82db-4ac2-97b5-e786c839420e")
    IUpdateAgentErrorEvent : public IUpdateAgentEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Msg( 
            /* [retval][out] */ BSTR *aMsg) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RcError( 
            /* [retval][out] */ LONG *aRcError) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUpdateAgentErrorEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUpdateAgentErrorEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUpdateAgentErrorEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUpdateAgentErrorEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUpdateAgentErrorEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUpdateAgentErrorEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUpdateAgentErrorEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUpdateAgentErrorEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IUpdateAgentErrorEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IUpdateAgentErrorEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IUpdateAgentErrorEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IUpdateAgentErrorEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IUpdateAgentErrorEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IUpdateAgentEvent, get_Agent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Agent )( 
            IUpdateAgentErrorEvent * This,
            /* [retval][out] */ IUpdateAgent **aAgent);
        
        DECLSPEC_XFGVIRT(IUpdateAgentErrorEvent, get_Msg)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Msg )( 
            IUpdateAgentErrorEvent * This,
            /* [retval][out] */ BSTR *aMsg);
        
        DECLSPEC_XFGVIRT(IUpdateAgentErrorEvent, get_RcError)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RcError )( 
            IUpdateAgentErrorEvent * This,
            /* [retval][out] */ LONG *aRcError);
        
        END_INTERFACE
    } IUpdateAgentErrorEventVtbl;

    interface IUpdateAgentErrorEvent
    {
        CONST_VTBL struct IUpdateAgentErrorEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUpdateAgentErrorEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUpdateAgentErrorEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUpdateAgentErrorEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUpdateAgentErrorEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUpdateAgentErrorEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IUpdateAgentErrorEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IUpdateAgentErrorEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IUpdateAgentErrorEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IUpdateAgentErrorEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IUpdateAgentErrorEvent_get_Agent(This,aAgent)	\
    ( (This)->lpVtbl -> get_Agent(This,aAgent) ) 


#define IUpdateAgentErrorEvent_get_Msg(This,aMsg)	\
    ( (This)->lpVtbl -> get_Msg(This,aMsg) ) 

#define IUpdateAgentErrorEvent_get_RcError(This,aRcError)	\
    ( (This)->lpVtbl -> get_RcError(This,aRcError) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUpdateAgentErrorEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0212 */
/* [local] */ 

#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO(smth) HRESULT STDMETHODCALLTYPE get_Msg (BSTR * aMsg) { return smth get_Msg (aMsg); }
#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO_OBJ(obj) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO_BASE(base) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO (base::)
#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO(smth) HRESULT STDMETHODCALLTYPE get_RcError (LONG * aRcError) { return smth get_RcError (aRcError); }
#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO_OBJ(obj) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO_BASE(base) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO (base::)
#define COM_FORWARD_IUpdateAgentErrorEvent_TO(smth) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_Msg_TO (smth) COM_FORWARD_IUpdateAgentErrorEvent_GETTER_RcError_TO (smth) 
#define COM_FORWARD_IUpdateAgentErrorEvent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentErrorEvent_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentErrorEvent_TO_BASE(base) COM_FORWARD_IUpdateAgentErrorEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0212_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0212_v0_0_s_ifspec;

#ifndef __IUpdateAgentAvailableEvent_INTERFACE_DEFINED__
#define __IUpdateAgentAvailableEvent_INTERFACE_DEFINED__

/* interface IUpdateAgentAvailableEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUpdateAgentAvailableEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("243829cb-15b7-42a4-8664-7aa4e34993da")
    IUpdateAgentAvailableEvent : public IUpdateAgentEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ BSTR *aVersion) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Channel( 
            /* [retval][out] */ UpdateChannel *aChannel) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Severity( 
            /* [retval][out] */ UpdateSeverity *aSeverity) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DownloadURL( 
            /* [retval][out] */ BSTR *aDownloadURL) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WebURL( 
            /* [retval][out] */ BSTR *aWebURL) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReleaseNotes( 
            /* [retval][out] */ BSTR *aReleaseNotes) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUpdateAgentAvailableEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUpdateAgentAvailableEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUpdateAgentAvailableEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUpdateAgentAvailableEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUpdateAgentAvailableEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUpdateAgentAvailableEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUpdateAgentAvailableEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUpdateAgentAvailableEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IUpdateAgentAvailableEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IUpdateAgentAvailableEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IUpdateAgentAvailableEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IUpdateAgentAvailableEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IUpdateAgentAvailableEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IUpdateAgentEvent, get_Agent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Agent )( 
            IUpdateAgentAvailableEvent * This,
            /* [retval][out] */ IUpdateAgent **aAgent);
        
        DECLSPEC_XFGVIRT(IUpdateAgentAvailableEvent, get_Version)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IUpdateAgentAvailableEvent * This,
            /* [retval][out] */ BSTR *aVersion);
        
        DECLSPEC_XFGVIRT(IUpdateAgentAvailableEvent, get_Channel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
            IUpdateAgentAvailableEvent * This,
            /* [retval][out] */ UpdateChannel *aChannel);
        
        DECLSPEC_XFGVIRT(IUpdateAgentAvailableEvent, get_Severity)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Severity )( 
            IUpdateAgentAvailableEvent * This,
            /* [retval][out] */ UpdateSeverity *aSeverity);
        
        DECLSPEC_XFGVIRT(IUpdateAgentAvailableEvent, get_DownloadURL)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadURL )( 
            IUpdateAgentAvailableEvent * This,
            /* [retval][out] */ BSTR *aDownloadURL);
        
        DECLSPEC_XFGVIRT(IUpdateAgentAvailableEvent, get_WebURL)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebURL )( 
            IUpdateAgentAvailableEvent * This,
            /* [retval][out] */ BSTR *aWebURL);
        
        DECLSPEC_XFGVIRT(IUpdateAgentAvailableEvent, get_ReleaseNotes)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseNotes )( 
            IUpdateAgentAvailableEvent * This,
            /* [retval][out] */ BSTR *aReleaseNotes);
        
        END_INTERFACE
    } IUpdateAgentAvailableEventVtbl;

    interface IUpdateAgentAvailableEvent
    {
        CONST_VTBL struct IUpdateAgentAvailableEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUpdateAgentAvailableEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUpdateAgentAvailableEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUpdateAgentAvailableEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUpdateAgentAvailableEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUpdateAgentAvailableEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IUpdateAgentAvailableEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IUpdateAgentAvailableEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IUpdateAgentAvailableEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IUpdateAgentAvailableEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IUpdateAgentAvailableEvent_get_Agent(This,aAgent)	\
    ( (This)->lpVtbl -> get_Agent(This,aAgent) ) 


#define IUpdateAgentAvailableEvent_get_Version(This,aVersion)	\
    ( (This)->lpVtbl -> get_Version(This,aVersion) ) 

#define IUpdateAgentAvailableEvent_get_Channel(This,aChannel)	\
    ( (This)->lpVtbl -> get_Channel(This,aChannel) ) 

#define IUpdateAgentAvailableEvent_get_Severity(This,aSeverity)	\
    ( (This)->lpVtbl -> get_Severity(This,aSeverity) ) 

#define IUpdateAgentAvailableEvent_get_DownloadURL(This,aDownloadURL)	\
    ( (This)->lpVtbl -> get_DownloadURL(This,aDownloadURL) ) 

#define IUpdateAgentAvailableEvent_get_WebURL(This,aWebURL)	\
    ( (This)->lpVtbl -> get_WebURL(This,aWebURL) ) 

#define IUpdateAgentAvailableEvent_get_ReleaseNotes(This,aReleaseNotes)	\
    ( (This)->lpVtbl -> get_ReleaseNotes(This,aReleaseNotes) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUpdateAgentAvailableEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0213 */
/* [local] */ 

#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Version_TO(smth) HRESULT STDMETHODCALLTYPE get_Version (BSTR * aVersion) { return smth get_Version (aVersion); }
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Version_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Version_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Version_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Version_TO (base::)
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Channel_TO(smth) HRESULT STDMETHODCALLTYPE get_Channel (UpdateChannel * aChannel) { return smth get_Channel (aChannel); }
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Channel_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Channel_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Channel_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Channel_TO (base::)
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Severity_TO(smth) HRESULT STDMETHODCALLTYPE get_Severity (UpdateSeverity * aSeverity) { return smth get_Severity (aSeverity); }
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Severity_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Severity_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Severity_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Severity_TO (base::)
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_DownloadURL_TO(smth) HRESULT STDMETHODCALLTYPE get_DownloadURL (BSTR * aDownloadURL) { return smth get_DownloadURL (aDownloadURL); }
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_DownloadURL_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_DownloadURL_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_DownloadURL_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_DownloadURL_TO (base::)
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_WebURL_TO(smth) HRESULT STDMETHODCALLTYPE get_WebURL (BSTR * aWebURL) { return smth get_WebURL (aWebURL); }
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_WebURL_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_WebURL_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_WebURL_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_WebURL_TO (base::)
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_ReleaseNotes_TO(smth) HRESULT STDMETHODCALLTYPE get_ReleaseNotes (BSTR * aReleaseNotes) { return smth get_ReleaseNotes (aReleaseNotes); }
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_ReleaseNotes_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_ReleaseNotes_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_ReleaseNotes_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_ReleaseNotes_TO (base::)
#define COM_FORWARD_IUpdateAgentAvailableEvent_TO(smth) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Version_TO (smth) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Channel_TO (smth) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_Severity_TO (smth) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_DownloadURL_TO (smth) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_WebURL_TO (smth) COM_FORWARD_IUpdateAgentAvailableEvent_GETTER_ReleaseNotes_TO (smth) 
#define COM_FORWARD_IUpdateAgentAvailableEvent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentAvailableEvent_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentAvailableEvent_TO_BASE(base) COM_FORWARD_IUpdateAgentAvailableEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0213_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0213_v0_0_s_ifspec;

#ifndef __IUpdateAgentStateChangedEvent_INTERFACE_DEFINED__
#define __IUpdateAgentStateChangedEvent_INTERFACE_DEFINED__

/* interface IUpdateAgentStateChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IUpdateAgentStateChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("eb000a0e-2079-4f47-bbcc-c6b28a4e50df")
    IUpdateAgentStateChangedEvent : public IUpdateAgentEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ UpdateState *aState) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IUpdateAgentStateChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IUpdateAgentStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IUpdateAgentStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IUpdateAgentStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IUpdateAgentStateChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IUpdateAgentStateChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IUpdateAgentStateChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IUpdateAgentStateChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IUpdateAgentStateChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IUpdateAgentStateChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IUpdateAgentStateChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IUpdateAgentStateChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IUpdateAgentStateChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IUpdateAgentEvent, get_Agent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Agent )( 
            IUpdateAgentStateChangedEvent * This,
            /* [retval][out] */ IUpdateAgent **aAgent);
        
        DECLSPEC_XFGVIRT(IUpdateAgentStateChangedEvent, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IUpdateAgentStateChangedEvent * This,
            /* [retval][out] */ UpdateState *aState);
        
        END_INTERFACE
    } IUpdateAgentStateChangedEventVtbl;

    interface IUpdateAgentStateChangedEvent
    {
        CONST_VTBL struct IUpdateAgentStateChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IUpdateAgentStateChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IUpdateAgentStateChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IUpdateAgentStateChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IUpdateAgentStateChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IUpdateAgentStateChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IUpdateAgentStateChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IUpdateAgentStateChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IUpdateAgentStateChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IUpdateAgentStateChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IUpdateAgentStateChangedEvent_get_Agent(This,aAgent)	\
    ( (This)->lpVtbl -> get_Agent(This,aAgent) ) 


#define IUpdateAgentStateChangedEvent_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IUpdateAgentStateChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0214 */
/* [local] */ 

#define COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (UpdateState * aState) { return smth get_State (aState); }
#define COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO_OBJ(obj) COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO_BASE(base) COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO (base::)
#define COM_FORWARD_IUpdateAgentStateChangedEvent_TO(smth) COM_FORWARD_IUpdateAgentStateChangedEvent_GETTER_State_TO (smth) 
#define COM_FORWARD_IUpdateAgentStateChangedEvent_TO_OBJ(obj) COM_FORWARD_IUpdateAgentStateChangedEvent_TO ((obj)->)
#define COM_FORWARD_IUpdateAgentStateChangedEvent_TO_BASE(base) COM_FORWARD_IUpdateAgentStateChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0214_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0214_v0_0_s_ifspec;

#ifndef __IGuestDebugControlChangedEvent_INTERFACE_DEFINED__
#define __IGuestDebugControlChangedEvent_INTERFACE_DEFINED__

/* interface IGuestDebugControlChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IGuestDebugControlChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a3d2799e-d3ad-4f73-91ef-7d839689f6d6")
    IGuestDebugControlChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GuestDebugControl( 
            /* [retval][out] */ IGuestDebugControl **aGuestDebugControl) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IGuestDebugControlChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGuestDebugControlChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGuestDebugControlChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGuestDebugControlChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGuestDebugControlChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGuestDebugControlChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGuestDebugControlChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGuestDebugControlChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IGuestDebugControlChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IGuestDebugControlChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IGuestDebugControlChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IGuestDebugControlChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IGuestDebugControlChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IGuestDebugControlChangedEvent, get_GuestDebugControl)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GuestDebugControl )( 
            IGuestDebugControlChangedEvent * This,
            /* [retval][out] */ IGuestDebugControl **aGuestDebugControl);
        
        END_INTERFACE
    } IGuestDebugControlChangedEventVtbl;

    interface IGuestDebugControlChangedEvent
    {
        CONST_VTBL struct IGuestDebugControlChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IGuestDebugControlChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IGuestDebugControlChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IGuestDebugControlChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IGuestDebugControlChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IGuestDebugControlChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IGuestDebugControlChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IGuestDebugControlChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IGuestDebugControlChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IGuestDebugControlChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IGuestDebugControlChangedEvent_get_GuestDebugControl(This,aGuestDebugControl)	\
    ( (This)->lpVtbl -> get_GuestDebugControl(This,aGuestDebugControl) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IGuestDebugControlChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0215 */
/* [local] */ 

#define COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO(smth) HRESULT STDMETHODCALLTYPE get_GuestDebugControl (IGuestDebugControl * * aGuestDebugControl) { return smth get_GuestDebugControl (aGuestDebugControl); }
#define COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO_OBJ(obj) COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO ((obj)->)
#define COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO_BASE(base) COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO (base::)
#define COM_FORWARD_IGuestDebugControlChangedEvent_TO(smth) COM_FORWARD_IGuestDebugControlChangedEvent_GETTER_GuestDebugControl_TO (smth) 
#define COM_FORWARD_IGuestDebugControlChangedEvent_TO_OBJ(obj) COM_FORWARD_IGuestDebugControlChangedEvent_TO ((obj)->)
#define COM_FORWARD_IGuestDebugControlChangedEvent_TO_BASE(base) COM_FORWARD_IGuestDebugControlChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0215_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0215_v0_0_s_ifspec;

#ifndef __IMachineGroupsChangedEvent_INTERFACE_DEFINED__
#define __IMachineGroupsChangedEvent_INTERFACE_DEFINED__

/* interface IMachineGroupsChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IMachineGroupsChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ee37afb5-7002-4786-a5c4-a9c29e1cce75")
    IMachineGroupsChangedEvent : public IMachineEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Dummy( 
            /* [retval][out] */ BOOL *aDummy) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IMachineGroupsChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMachineGroupsChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMachineGroupsChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMachineGroupsChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMachineGroupsChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMachineGroupsChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMachineGroupsChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMachineGroupsChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMachineGroupsChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IMachineGroupsChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            IMachineGroupsChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            IMachineGroupsChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            IMachineGroupsChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(IMachineEvent, get_MachineId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MachineId )( 
            IMachineGroupsChangedEvent * This,
            /* [retval][out] */ BSTR *aMachineId);
        
        DECLSPEC_XFGVIRT(IMachineGroupsChangedEvent, get_Dummy)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Dummy )( 
            IMachineGroupsChangedEvent * This,
            /* [retval][out] */ BOOL *aDummy);
        
        END_INTERFACE
    } IMachineGroupsChangedEventVtbl;

    interface IMachineGroupsChangedEvent
    {
        CONST_VTBL struct IMachineGroupsChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMachineGroupsChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMachineGroupsChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMachineGroupsChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMachineGroupsChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMachineGroupsChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IMachineGroupsChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define IMachineGroupsChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define IMachineGroupsChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define IMachineGroupsChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define IMachineGroupsChangedEvent_get_MachineId(This,aMachineId)	\
    ( (This)->lpVtbl -> get_MachineId(This,aMachineId) ) 


#define IMachineGroupsChangedEvent_get_Dummy(This,aDummy)	\
    ( (This)->lpVtbl -> get_Dummy(This,aDummy) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMachineGroupsChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0216 */
/* [local] */ 

#define COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO(smth) HRESULT STDMETHODCALLTYPE get_Dummy (BOOL * aDummy) { return smth get_Dummy (aDummy); }
#define COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO_OBJ(obj) COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO ((obj)->)
#define COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO_BASE(base) COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO (base::)
#define COM_FORWARD_IMachineGroupsChangedEvent_TO(smth) COM_FORWARD_IMachineGroupsChangedEvent_GETTER_Dummy_TO (smth) 
#define COM_FORWARD_IMachineGroupsChangedEvent_TO_OBJ(obj) COM_FORWARD_IMachineGroupsChangedEvent_TO ((obj)->)
#define COM_FORWARD_IMachineGroupsChangedEvent_TO_BASE(base) COM_FORWARD_IMachineGroupsChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0216_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0216_v0_0_s_ifspec;

#ifndef __IStringArray_INTERFACE_DEFINED__
#define __IStringArray_INTERFACE_DEFINED__

/* interface IStringArray */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IStringArray;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3890b2c8-604d-11e9-92d3-53cb473db9fb")
    IStringArray : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Values( 
            /* [retval][out] */ SAFEARRAY * *aValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IStringArray( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IStringArray( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IStringArray( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IStringArray( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IStringArrayVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IStringArray * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IStringArray * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IStringArray * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IStringArray * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IStringArray * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IStringArray * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IStringArray * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IStringArray, get_Values)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Values )( 
            IStringArray * This,
            /* [retval][out] */ SAFEARRAY * *aValues);
        
        DECLSPEC_XFGVIRT(IStringArray, InternalAndReservedMethod1IStringArray)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IStringArray )( 
            IStringArray * This);
        
        DECLSPEC_XFGVIRT(IStringArray, InternalAndReservedMethod2IStringArray)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IStringArray )( 
            IStringArray * This);
        
        DECLSPEC_XFGVIRT(IStringArray, InternalAndReservedMethod3IStringArray)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IStringArray )( 
            IStringArray * This);
        
        DECLSPEC_XFGVIRT(IStringArray, InternalAndReservedMethod4IStringArray)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IStringArray )( 
            IStringArray * This);
        
        END_INTERFACE
    } IStringArrayVtbl;

    interface IStringArray
    {
        CONST_VTBL struct IStringArrayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IStringArray_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IStringArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IStringArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IStringArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IStringArray_get_Values(This,aValues)	\
    ( (This)->lpVtbl -> get_Values(This,aValues) ) 

#define IStringArray_InternalAndReservedMethod1IStringArray(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IStringArray(This) ) 

#define IStringArray_InternalAndReservedMethod2IStringArray(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IStringArray(This) ) 

#define IStringArray_InternalAndReservedMethod3IStringArray(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IStringArray(This) ) 

#define IStringArray_InternalAndReservedMethod4IStringArray(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IStringArray(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IStringArray_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0217 */
/* [local] */ 

#define COM_FORWARD_IStringArray_GETTER_Values_TO(smth) HRESULT STDMETHODCALLTYPE get_Values (SAFEARRAY * * aValues) { return smth get_Values (aValues); }
#define COM_FORWARD_IStringArray_GETTER_Values_TO_OBJ(obj) COM_FORWARD_IStringArray_GETTER_Values_TO ((obj)->)
#define COM_FORWARD_IStringArray_GETTER_Values_TO_BASE(base) COM_FORWARD_IStringArray_GETTER_Values_TO (base::)
#define COM_FORWARD_IStringArray_TO(smth) COM_FORWARD_IStringArray_GETTER_Values_TO (smth) 
#define COM_FORWARD_IStringArray_TO_OBJ(obj) COM_FORWARD_IStringArray_TO ((obj)->)
#define COM_FORWARD_IStringArray_TO_BASE(base) COM_FORWARD_IStringArray_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0217_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0217_v0_0_s_ifspec;

#ifndef __IFormValue_INTERFACE_DEFINED__
#define __IFormValue_INTERFACE_DEFINED__

/* interface IFormValue */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IFormValue;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("67c50afe-3e78-11e9-b25e-7768f80c0e07")
    IFormValue : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ FormValueType *aType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Generation( 
            /* [retval][out] */ LONG *aGeneration) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ BOOL *aEnabled) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ BOOL *aVisible) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Label( 
            /* [retval][out] */ BSTR *aLabel) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *aDescription) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Help( 
            /* [retval][out] */ BSTR *aHelp) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5IFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6IFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7IFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8IFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IFormValue( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IFormValueVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IFormValue * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IFormValue * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IFormValue * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IFormValue * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IFormValue * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IFormValue * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IFormValue * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IFormValue * This,
            /* [retval][out] */ FormValueType *aType);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Generation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Generation )( 
            IFormValue * This,
            /* [retval][out] */ LONG *aGeneration);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IFormValue * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Visible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IFormValue * This,
            /* [retval][out] */ BOOL *aVisible);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Label)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label )( 
            IFormValue * This,
            /* [retval][out] */ BSTR *aLabel);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IFormValue * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Help)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Help )( 
            IFormValue * This,
            /* [retval][out] */ BSTR *aHelp);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute1IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFormValue )( 
            IFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute2IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFormValue )( 
            IFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute3IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFormValue )( 
            IFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute4IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFormValue )( 
            IFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute5IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFormValue )( 
            IFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute6IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFormValue )( 
            IFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute7IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFormValue )( 
            IFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute8IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFormValue )( 
            IFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod1IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IFormValue )( 
            IFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod2IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IFormValue )( 
            IFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod3IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IFormValue )( 
            IFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod4IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IFormValue )( 
            IFormValue * This);
        
        END_INTERFACE
    } IFormValueVtbl;

    interface IFormValue
    {
        CONST_VTBL struct IFormValueVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IFormValue_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IFormValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IFormValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IFormValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IFormValue_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IFormValue_get_Generation(This,aGeneration)	\
    ( (This)->lpVtbl -> get_Generation(This,aGeneration) ) 

#define IFormValue_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IFormValue_get_Visible(This,aVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,aVisible) ) 

#define IFormValue_get_Label(This,aLabel)	\
    ( (This)->lpVtbl -> get_Label(This,aLabel) ) 

#define IFormValue_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IFormValue_get_Help(This,aHelp)	\
    ( (This)->lpVtbl -> get_Help(This,aHelp) ) 

#define IFormValue_get_InternalAndReservedAttribute1IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFormValue(This,aReserved) ) 

#define IFormValue_get_InternalAndReservedAttribute2IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFormValue(This,aReserved) ) 

#define IFormValue_get_InternalAndReservedAttribute3IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFormValue(This,aReserved) ) 

#define IFormValue_get_InternalAndReservedAttribute4IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFormValue(This,aReserved) ) 

#define IFormValue_get_InternalAndReservedAttribute5IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFormValue(This,aReserved) ) 

#define IFormValue_get_InternalAndReservedAttribute6IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFormValue(This,aReserved) ) 

#define IFormValue_get_InternalAndReservedAttribute7IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFormValue(This,aReserved) ) 

#define IFormValue_get_InternalAndReservedAttribute8IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFormValue(This,aReserved) ) 

#define IFormValue_InternalAndReservedMethod1IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IFormValue(This) ) 

#define IFormValue_InternalAndReservedMethod2IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IFormValue(This) ) 

#define IFormValue_InternalAndReservedMethod3IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IFormValue(This) ) 

#define IFormValue_InternalAndReservedMethod4IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IFormValue(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IFormValue_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0218 */
/* [local] */ 

#define COM_FORWARD_IFormValue_GETTER_Type_TO(smth) HRESULT STDMETHODCALLTYPE get_Type (FormValueType * aType) { return smth get_Type (aType); }
#define COM_FORWARD_IFormValue_GETTER_Type_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Type_TO ((obj)->)
#define COM_FORWARD_IFormValue_GETTER_Type_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Type_TO (base::)
#define COM_FORWARD_IFormValue_GETTER_Generation_TO(smth) HRESULT STDMETHODCALLTYPE get_Generation (LONG * aGeneration) { return smth get_Generation (aGeneration); }
#define COM_FORWARD_IFormValue_GETTER_Generation_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Generation_TO ((obj)->)
#define COM_FORWARD_IFormValue_GETTER_Generation_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Generation_TO (base::)
#define COM_FORWARD_IFormValue_GETTER_Enabled_TO(smth) HRESULT STDMETHODCALLTYPE get_Enabled (BOOL * aEnabled) { return smth get_Enabled (aEnabled); }
#define COM_FORWARD_IFormValue_GETTER_Enabled_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Enabled_TO ((obj)->)
#define COM_FORWARD_IFormValue_GETTER_Enabled_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Enabled_TO (base::)
#define COM_FORWARD_IFormValue_GETTER_Visible_TO(smth) HRESULT STDMETHODCALLTYPE get_Visible (BOOL * aVisible) { return smth get_Visible (aVisible); }
#define COM_FORWARD_IFormValue_GETTER_Visible_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Visible_TO ((obj)->)
#define COM_FORWARD_IFormValue_GETTER_Visible_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Visible_TO (base::)
#define COM_FORWARD_IFormValue_GETTER_Label_TO(smth) HRESULT STDMETHODCALLTYPE get_Label (BSTR * aLabel) { return smth get_Label (aLabel); }
#define COM_FORWARD_IFormValue_GETTER_Label_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Label_TO ((obj)->)
#define COM_FORWARD_IFormValue_GETTER_Label_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Label_TO (base::)
#define COM_FORWARD_IFormValue_GETTER_Description_TO(smth) HRESULT STDMETHODCALLTYPE get_Description (BSTR * aDescription) { return smth get_Description (aDescription); }
#define COM_FORWARD_IFormValue_GETTER_Description_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Description_TO ((obj)->)
#define COM_FORWARD_IFormValue_GETTER_Description_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Description_TO (base::)
#define COM_FORWARD_IFormValue_GETTER_Help_TO(smth) HRESULT STDMETHODCALLTYPE get_Help (BSTR * aHelp) { return smth get_Help (aHelp); }
#define COM_FORWARD_IFormValue_GETTER_Help_TO_OBJ(obj) COM_FORWARD_IFormValue_GETTER_Help_TO ((obj)->)
#define COM_FORWARD_IFormValue_GETTER_Help_TO_BASE(base) COM_FORWARD_IFormValue_GETTER_Help_TO (base::)
#define COM_FORWARD_IFormValue_TO(smth) COM_FORWARD_IFormValue_GETTER_Type_TO (smth) COM_FORWARD_IFormValue_GETTER_Generation_TO (smth) COM_FORWARD_IFormValue_GETTER_Enabled_TO (smth) COM_FORWARD_IFormValue_GETTER_Visible_TO (smth) COM_FORWARD_IFormValue_GETTER_Label_TO (smth) COM_FORWARD_IFormValue_GETTER_Description_TO (smth) COM_FORWARD_IFormValue_GETTER_Help_TO (smth) 
#define COM_FORWARD_IFormValue_TO_OBJ(obj) COM_FORWARD_IFormValue_TO ((obj)->)
#define COM_FORWARD_IFormValue_TO_BASE(base) COM_FORWARD_IFormValue_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0218_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0218_v0_0_s_ifspec;

#ifndef __IBooleanFormValue_INTERFACE_DEFINED__
#define __IBooleanFormValue_INTERFACE_DEFINED__

/* interface IBooleanFormValue */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IBooleanFormValue;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4f4adcf6-3e87-11e9-8af2-576e84223953")
    IBooleanFormValue : public IFormValue
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IBooleanFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IBooleanFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IBooleanFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IBooleanFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSelected( 
            /* [retval][out] */ BOOL *aSelected) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSelected( 
            /* [in] */ BOOL aSelected,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IBooleanFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IBooleanFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IBooleanFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IBooleanFormValue( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IBooleanFormValueVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IBooleanFormValue * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IBooleanFormValue * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IBooleanFormValue * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IBooleanFormValue * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IBooleanFormValue * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IBooleanFormValue * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IBooleanFormValue * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IBooleanFormValue * This,
            /* [retval][out] */ FormValueType *aType);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Generation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Generation )( 
            IBooleanFormValue * This,
            /* [retval][out] */ LONG *aGeneration);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IBooleanFormValue * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Visible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IBooleanFormValue * This,
            /* [retval][out] */ BOOL *aVisible);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Label)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label )( 
            IBooleanFormValue * This,
            /* [retval][out] */ BSTR *aLabel);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IBooleanFormValue * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Help)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Help )( 
            IBooleanFormValue * This,
            /* [retval][out] */ BSTR *aHelp);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute1IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute2IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute3IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute4IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute5IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute6IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute7IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute8IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod1IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IFormValue )( 
            IBooleanFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod2IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IFormValue )( 
            IBooleanFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod3IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IFormValue )( 
            IBooleanFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod4IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IFormValue )( 
            IBooleanFormValue * This);
        
        DECLSPEC_XFGVIRT(IBooleanFormValue, get_InternalAndReservedAttribute1IBooleanFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IBooleanFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IBooleanFormValue, get_InternalAndReservedAttribute2IBooleanFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IBooleanFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IBooleanFormValue, get_InternalAndReservedAttribute3IBooleanFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IBooleanFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IBooleanFormValue, get_InternalAndReservedAttribute4IBooleanFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IBooleanFormValue )( 
            IBooleanFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IBooleanFormValue, GetSelected)
        HRESULT ( STDMETHODCALLTYPE *GetSelected )( 
            IBooleanFormValue * This,
            /* [retval][out] */ BOOL *aSelected);
        
        DECLSPEC_XFGVIRT(IBooleanFormValue, SetSelected)
        HRESULT ( STDMETHODCALLTYPE *SetSelected )( 
            IBooleanFormValue * This,
            /* [in] */ BOOL aSelected,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IBooleanFormValue, InternalAndReservedMethod1IBooleanFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IBooleanFormValue )( 
            IBooleanFormValue * This);
        
        DECLSPEC_XFGVIRT(IBooleanFormValue, InternalAndReservedMethod2IBooleanFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IBooleanFormValue )( 
            IBooleanFormValue * This);
        
        DECLSPEC_XFGVIRT(IBooleanFormValue, InternalAndReservedMethod3IBooleanFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IBooleanFormValue )( 
            IBooleanFormValue * This);
        
        DECLSPEC_XFGVIRT(IBooleanFormValue, InternalAndReservedMethod4IBooleanFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IBooleanFormValue )( 
            IBooleanFormValue * This);
        
        END_INTERFACE
    } IBooleanFormValueVtbl;

    interface IBooleanFormValue
    {
        CONST_VTBL struct IBooleanFormValueVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IBooleanFormValue_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IBooleanFormValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IBooleanFormValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IBooleanFormValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IBooleanFormValue_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IBooleanFormValue_get_Generation(This,aGeneration)	\
    ( (This)->lpVtbl -> get_Generation(This,aGeneration) ) 

#define IBooleanFormValue_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IBooleanFormValue_get_Visible(This,aVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,aVisible) ) 

#define IBooleanFormValue_get_Label(This,aLabel)	\
    ( (This)->lpVtbl -> get_Label(This,aLabel) ) 

#define IBooleanFormValue_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IBooleanFormValue_get_Help(This,aHelp)	\
    ( (This)->lpVtbl -> get_Help(This,aHelp) ) 

#define IBooleanFormValue_get_InternalAndReservedAttribute1IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFormValue(This,aReserved) ) 

#define IBooleanFormValue_get_InternalAndReservedAttribute2IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFormValue(This,aReserved) ) 

#define IBooleanFormValue_get_InternalAndReservedAttribute3IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFormValue(This,aReserved) ) 

#define IBooleanFormValue_get_InternalAndReservedAttribute4IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFormValue(This,aReserved) ) 

#define IBooleanFormValue_get_InternalAndReservedAttribute5IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFormValue(This,aReserved) ) 

#define IBooleanFormValue_get_InternalAndReservedAttribute6IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFormValue(This,aReserved) ) 

#define IBooleanFormValue_get_InternalAndReservedAttribute7IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFormValue(This,aReserved) ) 

#define IBooleanFormValue_get_InternalAndReservedAttribute8IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFormValue(This,aReserved) ) 

#define IBooleanFormValue_InternalAndReservedMethod1IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IFormValue(This) ) 

#define IBooleanFormValue_InternalAndReservedMethod2IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IFormValue(This) ) 

#define IBooleanFormValue_InternalAndReservedMethod3IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IFormValue(This) ) 

#define IBooleanFormValue_InternalAndReservedMethod4IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IFormValue(This) ) 


#define IBooleanFormValue_get_InternalAndReservedAttribute1IBooleanFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IBooleanFormValue(This,aReserved) ) 

#define IBooleanFormValue_get_InternalAndReservedAttribute2IBooleanFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IBooleanFormValue(This,aReserved) ) 

#define IBooleanFormValue_get_InternalAndReservedAttribute3IBooleanFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IBooleanFormValue(This,aReserved) ) 

#define IBooleanFormValue_get_InternalAndReservedAttribute4IBooleanFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IBooleanFormValue(This,aReserved) ) 

#define IBooleanFormValue_GetSelected(This,aSelected)	\
    ( (This)->lpVtbl -> GetSelected(This,aSelected) ) 

#define IBooleanFormValue_SetSelected(This,aSelected,aProgress)	\
    ( (This)->lpVtbl -> SetSelected(This,aSelected,aProgress) ) 

#define IBooleanFormValue_InternalAndReservedMethod1IBooleanFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IBooleanFormValue(This) ) 

#define IBooleanFormValue_InternalAndReservedMethod2IBooleanFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IBooleanFormValue(This) ) 

#define IBooleanFormValue_InternalAndReservedMethod3IBooleanFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IBooleanFormValue(This) ) 

#define IBooleanFormValue_InternalAndReservedMethod4IBooleanFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IBooleanFormValue(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IBooleanFormValue_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0219 */
/* [local] */ 

#define COM_FORWARD_IBooleanFormValue_GetSelected_TO(smth) HRESULT STDMETHODCALLTYPE GetSelected (BOOL * aSelected) { return smth GetSelected (aSelected); }
#define COM_FORWARD_IBooleanFormValue_GetSelected_TO_OBJ(obj) COM_FORWARD_IBooleanFormValue_GetSelected_TO ((obj)->)
#define COM_FORWARD_IBooleanFormValue_GetSelected_TO_BASE(base) COM_FORWARD_IBooleanFormValue_GetSelected_TO (base::)
#define COM_FORWARD_IBooleanFormValue_SetSelected_TO(smth) HRESULT STDMETHODCALLTYPE SetSelected (BOOL aSelected, IProgress * * aProgress) { return smth SetSelected (aSelected, aProgress); }
#define COM_FORWARD_IBooleanFormValue_SetSelected_TO_OBJ(obj) COM_FORWARD_IBooleanFormValue_SetSelected_TO ((obj)->)
#define COM_FORWARD_IBooleanFormValue_SetSelected_TO_BASE(base) COM_FORWARD_IBooleanFormValue_SetSelected_TO (base::)
#define COM_FORWARD_IBooleanFormValue_TO(smth) COM_FORWARD_IBooleanFormValue_GetSelected_TO (smth) COM_FORWARD_IBooleanFormValue_SetSelected_TO (smth) 
#define COM_FORWARD_IBooleanFormValue_TO_OBJ(obj) COM_FORWARD_IBooleanFormValue_TO ((obj)->)
#define COM_FORWARD_IBooleanFormValue_TO_BASE(base) COM_FORWARD_IBooleanFormValue_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0219_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0219_v0_0_s_ifspec;

#ifndef __IRangedIntegerFormValue_INTERFACE_DEFINED__
#define __IRangedIntegerFormValue_INTERFACE_DEFINED__

/* interface IRangedIntegerFormValue */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IRangedIntegerFormValue;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b31c4052-7bdc-11e9-8bc2-8ffdb8b19219")
    IRangedIntegerFormValue : public IFormValue
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Suffix( 
            /* [retval][out] */ BSTR *aSuffix) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Minimum( 
            /* [retval][out] */ LONG *aMinimum) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Maximum( 
            /* [retval][out] */ LONG *aMaximum) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IRangedIntegerFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IRangedIntegerFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IRangedIntegerFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IRangedIntegerFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetInteger( 
            /* [retval][out] */ LONG *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetInteger( 
            /* [in] */ LONG aValue,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IRangedIntegerFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IRangedIntegerFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IRangedIntegerFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IRangedIntegerFormValue( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRangedIntegerFormValueVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRangedIntegerFormValue * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRangedIntegerFormValue * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRangedIntegerFormValue * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRangedIntegerFormValue * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRangedIntegerFormValue * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRangedIntegerFormValue * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRangedIntegerFormValue * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ FormValueType *aType);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Generation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Generation )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ LONG *aGeneration);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Visible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ BOOL *aVisible);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Label)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ BSTR *aLabel);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Help)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Help )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ BSTR *aHelp);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute1IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute2IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute3IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute4IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute5IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute6IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute7IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute8IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod1IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IFormValue )( 
            IRangedIntegerFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod2IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IFormValue )( 
            IRangedIntegerFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod3IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IFormValue )( 
            IRangedIntegerFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod4IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IFormValue )( 
            IRangedIntegerFormValue * This);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, get_Suffix)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Suffix )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ BSTR *aSuffix);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, get_Minimum)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Minimum )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ LONG *aMinimum);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, get_Maximum)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximum )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ LONG *aMaximum);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, get_InternalAndReservedAttribute1IRangedIntegerFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IRangedIntegerFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, get_InternalAndReservedAttribute2IRangedIntegerFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IRangedIntegerFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, get_InternalAndReservedAttribute3IRangedIntegerFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IRangedIntegerFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, get_InternalAndReservedAttribute4IRangedIntegerFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IRangedIntegerFormValue )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, GetInteger)
        HRESULT ( STDMETHODCALLTYPE *GetInteger )( 
            IRangedIntegerFormValue * This,
            /* [retval][out] */ LONG *aValue);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, SetInteger)
        HRESULT ( STDMETHODCALLTYPE *SetInteger )( 
            IRangedIntegerFormValue * This,
            /* [in] */ LONG aValue,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, InternalAndReservedMethod1IRangedIntegerFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IRangedIntegerFormValue )( 
            IRangedIntegerFormValue * This);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, InternalAndReservedMethod2IRangedIntegerFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IRangedIntegerFormValue )( 
            IRangedIntegerFormValue * This);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, InternalAndReservedMethod3IRangedIntegerFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IRangedIntegerFormValue )( 
            IRangedIntegerFormValue * This);
        
        DECLSPEC_XFGVIRT(IRangedIntegerFormValue, InternalAndReservedMethod4IRangedIntegerFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IRangedIntegerFormValue )( 
            IRangedIntegerFormValue * This);
        
        END_INTERFACE
    } IRangedIntegerFormValueVtbl;

    interface IRangedIntegerFormValue
    {
        CONST_VTBL struct IRangedIntegerFormValueVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRangedIntegerFormValue_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRangedIntegerFormValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRangedIntegerFormValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRangedIntegerFormValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRangedIntegerFormValue_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IRangedIntegerFormValue_get_Generation(This,aGeneration)	\
    ( (This)->lpVtbl -> get_Generation(This,aGeneration) ) 

#define IRangedIntegerFormValue_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IRangedIntegerFormValue_get_Visible(This,aVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,aVisible) ) 

#define IRangedIntegerFormValue_get_Label(This,aLabel)	\
    ( (This)->lpVtbl -> get_Label(This,aLabel) ) 

#define IRangedIntegerFormValue_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IRangedIntegerFormValue_get_Help(This,aHelp)	\
    ( (This)->lpVtbl -> get_Help(This,aHelp) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute1IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute2IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute3IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute4IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute5IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute6IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute7IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute8IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_InternalAndReservedMethod1IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IFormValue(This) ) 

#define IRangedIntegerFormValue_InternalAndReservedMethod2IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IFormValue(This) ) 

#define IRangedIntegerFormValue_InternalAndReservedMethod3IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IFormValue(This) ) 

#define IRangedIntegerFormValue_InternalAndReservedMethod4IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IFormValue(This) ) 


#define IRangedIntegerFormValue_get_Suffix(This,aSuffix)	\
    ( (This)->lpVtbl -> get_Suffix(This,aSuffix) ) 

#define IRangedIntegerFormValue_get_Minimum(This,aMinimum)	\
    ( (This)->lpVtbl -> get_Minimum(This,aMinimum) ) 

#define IRangedIntegerFormValue_get_Maximum(This,aMaximum)	\
    ( (This)->lpVtbl -> get_Maximum(This,aMaximum) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute1IRangedIntegerFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IRangedIntegerFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute2IRangedIntegerFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IRangedIntegerFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute3IRangedIntegerFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IRangedIntegerFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_get_InternalAndReservedAttribute4IRangedIntegerFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IRangedIntegerFormValue(This,aReserved) ) 

#define IRangedIntegerFormValue_GetInteger(This,aValue)	\
    ( (This)->lpVtbl -> GetInteger(This,aValue) ) 

#define IRangedIntegerFormValue_SetInteger(This,aValue,aProgress)	\
    ( (This)->lpVtbl -> SetInteger(This,aValue,aProgress) ) 

#define IRangedIntegerFormValue_InternalAndReservedMethod1IRangedIntegerFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IRangedIntegerFormValue(This) ) 

#define IRangedIntegerFormValue_InternalAndReservedMethod2IRangedIntegerFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IRangedIntegerFormValue(This) ) 

#define IRangedIntegerFormValue_InternalAndReservedMethod3IRangedIntegerFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IRangedIntegerFormValue(This) ) 

#define IRangedIntegerFormValue_InternalAndReservedMethod4IRangedIntegerFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IRangedIntegerFormValue(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRangedIntegerFormValue_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0220 */
/* [local] */ 

#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Suffix_TO(smth) HRESULT STDMETHODCALLTYPE get_Suffix (BSTR * aSuffix) { return smth get_Suffix (aSuffix); }
#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Suffix_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_GETTER_Suffix_TO ((obj)->)
#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Suffix_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_GETTER_Suffix_TO (base::)
#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Minimum_TO(smth) HRESULT STDMETHODCALLTYPE get_Minimum (LONG * aMinimum) { return smth get_Minimum (aMinimum); }
#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Minimum_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_GETTER_Minimum_TO ((obj)->)
#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Minimum_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_GETTER_Minimum_TO (base::)
#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Maximum_TO(smth) HRESULT STDMETHODCALLTYPE get_Maximum (LONG * aMaximum) { return smth get_Maximum (aMaximum); }
#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Maximum_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_GETTER_Maximum_TO ((obj)->)
#define COM_FORWARD_IRangedIntegerFormValue_GETTER_Maximum_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_GETTER_Maximum_TO (base::)
#define COM_FORWARD_IRangedIntegerFormValue_GetInteger_TO(smth) HRESULT STDMETHODCALLTYPE GetInteger (LONG * aValue) { return smth GetInteger (aValue); }
#define COM_FORWARD_IRangedIntegerFormValue_GetInteger_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_GetInteger_TO ((obj)->)
#define COM_FORWARD_IRangedIntegerFormValue_GetInteger_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_GetInteger_TO (base::)
#define COM_FORWARD_IRangedIntegerFormValue_SetInteger_TO(smth) HRESULT STDMETHODCALLTYPE SetInteger (LONG aValue, IProgress * * aProgress) { return smth SetInteger (aValue, aProgress); }
#define COM_FORWARD_IRangedIntegerFormValue_SetInteger_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_SetInteger_TO ((obj)->)
#define COM_FORWARD_IRangedIntegerFormValue_SetInteger_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_SetInteger_TO (base::)
#define COM_FORWARD_IRangedIntegerFormValue_TO(smth) COM_FORWARD_IRangedIntegerFormValue_GETTER_Suffix_TO (smth) COM_FORWARD_IRangedIntegerFormValue_GETTER_Minimum_TO (smth) COM_FORWARD_IRangedIntegerFormValue_GETTER_Maximum_TO (smth) COM_FORWARD_IRangedIntegerFormValue_GetInteger_TO (smth) COM_FORWARD_IRangedIntegerFormValue_SetInteger_TO (smth) 
#define COM_FORWARD_IRangedIntegerFormValue_TO_OBJ(obj) COM_FORWARD_IRangedIntegerFormValue_TO ((obj)->)
#define COM_FORWARD_IRangedIntegerFormValue_TO_BASE(base) COM_FORWARD_IRangedIntegerFormValue_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0220_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0220_v0_0_s_ifspec;

#ifndef __IRangedInteger64FormValue_INTERFACE_DEFINED__
#define __IRangedInteger64FormValue_INTERFACE_DEFINED__

/* interface IRangedInteger64FormValue */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IRangedInteger64FormValue;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f01e8b48-f44d-42cc-8a83-512f6a8552f1")
    IRangedInteger64FormValue : public IFormValue
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Suffix( 
            /* [retval][out] */ BSTR *aSuffix) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Minimum( 
            /* [retval][out] */ LONG64 *aMinimum) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Maximum( 
            /* [retval][out] */ LONG64 *aMaximum) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IRangedInteger64FormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IRangedInteger64FormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IRangedInteger64FormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IRangedInteger64FormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetInteger( 
            /* [retval][out] */ LONG64 *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetInteger( 
            /* [in] */ LONG64 aValue,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IRangedInteger64FormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IRangedInteger64FormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IRangedInteger64FormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IRangedInteger64FormValue( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IRangedInteger64FormValueVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRangedInteger64FormValue * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRangedInteger64FormValue * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRangedInteger64FormValue * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRangedInteger64FormValue * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRangedInteger64FormValue * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRangedInteger64FormValue * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRangedInteger64FormValue * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ FormValueType *aType);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Generation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Generation )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ LONG *aGeneration);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Visible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ BOOL *aVisible);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Label)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ BSTR *aLabel);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Help)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Help )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ BSTR *aHelp);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute1IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute2IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute3IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute4IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute5IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute6IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute7IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute8IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod1IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IFormValue )( 
            IRangedInteger64FormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod2IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IFormValue )( 
            IRangedInteger64FormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod3IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IFormValue )( 
            IRangedInteger64FormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod4IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IFormValue )( 
            IRangedInteger64FormValue * This);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, get_Suffix)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Suffix )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ BSTR *aSuffix);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, get_Minimum)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Minimum )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ LONG64 *aMinimum);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, get_Maximum)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maximum )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ LONG64 *aMaximum);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, get_InternalAndReservedAttribute1IRangedInteger64FormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IRangedInteger64FormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, get_InternalAndReservedAttribute2IRangedInteger64FormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IRangedInteger64FormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, get_InternalAndReservedAttribute3IRangedInteger64FormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IRangedInteger64FormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, get_InternalAndReservedAttribute4IRangedInteger64FormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IRangedInteger64FormValue )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, GetInteger)
        HRESULT ( STDMETHODCALLTYPE *GetInteger )( 
            IRangedInteger64FormValue * This,
            /* [retval][out] */ LONG64 *aValue);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, SetInteger)
        HRESULT ( STDMETHODCALLTYPE *SetInteger )( 
            IRangedInteger64FormValue * This,
            /* [in] */ LONG64 aValue,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, InternalAndReservedMethod1IRangedInteger64FormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IRangedInteger64FormValue )( 
            IRangedInteger64FormValue * This);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, InternalAndReservedMethod2IRangedInteger64FormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IRangedInteger64FormValue )( 
            IRangedInteger64FormValue * This);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, InternalAndReservedMethod3IRangedInteger64FormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IRangedInteger64FormValue )( 
            IRangedInteger64FormValue * This);
        
        DECLSPEC_XFGVIRT(IRangedInteger64FormValue, InternalAndReservedMethod4IRangedInteger64FormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IRangedInteger64FormValue )( 
            IRangedInteger64FormValue * This);
        
        END_INTERFACE
    } IRangedInteger64FormValueVtbl;

    interface IRangedInteger64FormValue
    {
        CONST_VTBL struct IRangedInteger64FormValueVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRangedInteger64FormValue_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRangedInteger64FormValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRangedInteger64FormValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRangedInteger64FormValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRangedInteger64FormValue_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IRangedInteger64FormValue_get_Generation(This,aGeneration)	\
    ( (This)->lpVtbl -> get_Generation(This,aGeneration) ) 

#define IRangedInteger64FormValue_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IRangedInteger64FormValue_get_Visible(This,aVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,aVisible) ) 

#define IRangedInteger64FormValue_get_Label(This,aLabel)	\
    ( (This)->lpVtbl -> get_Label(This,aLabel) ) 

#define IRangedInteger64FormValue_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IRangedInteger64FormValue_get_Help(This,aHelp)	\
    ( (This)->lpVtbl -> get_Help(This,aHelp) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute1IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute2IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute3IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute4IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute5IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute6IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute7IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute8IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_InternalAndReservedMethod1IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IFormValue(This) ) 

#define IRangedInteger64FormValue_InternalAndReservedMethod2IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IFormValue(This) ) 

#define IRangedInteger64FormValue_InternalAndReservedMethod3IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IFormValue(This) ) 

#define IRangedInteger64FormValue_InternalAndReservedMethod4IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IFormValue(This) ) 


#define IRangedInteger64FormValue_get_Suffix(This,aSuffix)	\
    ( (This)->lpVtbl -> get_Suffix(This,aSuffix) ) 

#define IRangedInteger64FormValue_get_Minimum(This,aMinimum)	\
    ( (This)->lpVtbl -> get_Minimum(This,aMinimum) ) 

#define IRangedInteger64FormValue_get_Maximum(This,aMaximum)	\
    ( (This)->lpVtbl -> get_Maximum(This,aMaximum) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute1IRangedInteger64FormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IRangedInteger64FormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute2IRangedInteger64FormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IRangedInteger64FormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute3IRangedInteger64FormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IRangedInteger64FormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_get_InternalAndReservedAttribute4IRangedInteger64FormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IRangedInteger64FormValue(This,aReserved) ) 

#define IRangedInteger64FormValue_GetInteger(This,aValue)	\
    ( (This)->lpVtbl -> GetInteger(This,aValue) ) 

#define IRangedInteger64FormValue_SetInteger(This,aValue,aProgress)	\
    ( (This)->lpVtbl -> SetInteger(This,aValue,aProgress) ) 

#define IRangedInteger64FormValue_InternalAndReservedMethod1IRangedInteger64FormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IRangedInteger64FormValue(This) ) 

#define IRangedInteger64FormValue_InternalAndReservedMethod2IRangedInteger64FormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IRangedInteger64FormValue(This) ) 

#define IRangedInteger64FormValue_InternalAndReservedMethod3IRangedInteger64FormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IRangedInteger64FormValue(This) ) 

#define IRangedInteger64FormValue_InternalAndReservedMethod4IRangedInteger64FormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IRangedInteger64FormValue(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRangedInteger64FormValue_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0221 */
/* [local] */ 

#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Suffix_TO(smth) HRESULT STDMETHODCALLTYPE get_Suffix (BSTR * aSuffix) { return smth get_Suffix (aSuffix); }
#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Suffix_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_GETTER_Suffix_TO ((obj)->)
#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Suffix_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_GETTER_Suffix_TO (base::)
#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Minimum_TO(smth) HRESULT STDMETHODCALLTYPE get_Minimum (LONG64 * aMinimum) { return smth get_Minimum (aMinimum); }
#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Minimum_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_GETTER_Minimum_TO ((obj)->)
#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Minimum_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_GETTER_Minimum_TO (base::)
#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Maximum_TO(smth) HRESULT STDMETHODCALLTYPE get_Maximum (LONG64 * aMaximum) { return smth get_Maximum (aMaximum); }
#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Maximum_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_GETTER_Maximum_TO ((obj)->)
#define COM_FORWARD_IRangedInteger64FormValue_GETTER_Maximum_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_GETTER_Maximum_TO (base::)
#define COM_FORWARD_IRangedInteger64FormValue_GetInteger_TO(smth) HRESULT STDMETHODCALLTYPE GetInteger (LONG64 * aValue) { return smth GetInteger (aValue); }
#define COM_FORWARD_IRangedInteger64FormValue_GetInteger_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_GetInteger_TO ((obj)->)
#define COM_FORWARD_IRangedInteger64FormValue_GetInteger_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_GetInteger_TO (base::)
#define COM_FORWARD_IRangedInteger64FormValue_SetInteger_TO(smth) HRESULT STDMETHODCALLTYPE SetInteger (LONG64 aValue, IProgress * * aProgress) { return smth SetInteger (aValue, aProgress); }
#define COM_FORWARD_IRangedInteger64FormValue_SetInteger_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_SetInteger_TO ((obj)->)
#define COM_FORWARD_IRangedInteger64FormValue_SetInteger_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_SetInteger_TO (base::)
#define COM_FORWARD_IRangedInteger64FormValue_TO(smth) COM_FORWARD_IRangedInteger64FormValue_GETTER_Suffix_TO (smth) COM_FORWARD_IRangedInteger64FormValue_GETTER_Minimum_TO (smth) COM_FORWARD_IRangedInteger64FormValue_GETTER_Maximum_TO (smth) COM_FORWARD_IRangedInteger64FormValue_GetInteger_TO (smth) COM_FORWARD_IRangedInteger64FormValue_SetInteger_TO (smth) 
#define COM_FORWARD_IRangedInteger64FormValue_TO_OBJ(obj) COM_FORWARD_IRangedInteger64FormValue_TO ((obj)->)
#define COM_FORWARD_IRangedInteger64FormValue_TO_BASE(base) COM_FORWARD_IRangedInteger64FormValue_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0221_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0221_v0_0_s_ifspec;

#ifndef __IStringFormValue_INTERFACE_DEFINED__
#define __IStringFormValue_INTERFACE_DEFINED__

/* interface IStringFormValue */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IStringFormValue;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("cb6f0f2c-8384-11e9-921d-8b984e28a686")
    IStringFormValue : public IFormValue
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Multiline( 
            /* [retval][out] */ BOOL *aMultiline) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClipboardString( 
            /* [retval][out] */ BSTR *aClipboardString) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IStringFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IStringFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IStringFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IStringFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetString( 
            /* [retval][out] */ BSTR *aText) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetString( 
            /* [in] */ BSTR aText,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IStringFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IStringFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IStringFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IStringFormValue( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IStringFormValueVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IStringFormValue * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IStringFormValue * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IStringFormValue * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IStringFormValue * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IStringFormValue * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IStringFormValue * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IStringFormValue * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IStringFormValue * This,
            /* [retval][out] */ FormValueType *aType);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Generation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Generation )( 
            IStringFormValue * This,
            /* [retval][out] */ LONG *aGeneration);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IStringFormValue * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Visible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IStringFormValue * This,
            /* [retval][out] */ BOOL *aVisible);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Label)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label )( 
            IStringFormValue * This,
            /* [retval][out] */ BSTR *aLabel);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IStringFormValue * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Help)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Help )( 
            IStringFormValue * This,
            /* [retval][out] */ BSTR *aHelp);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute1IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute2IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute3IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute4IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute5IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute6IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute7IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute8IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod1IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IFormValue )( 
            IStringFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod2IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IFormValue )( 
            IStringFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod3IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IFormValue )( 
            IStringFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod4IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IFormValue )( 
            IStringFormValue * This);
        
        DECLSPEC_XFGVIRT(IStringFormValue, get_Multiline)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Multiline )( 
            IStringFormValue * This,
            /* [retval][out] */ BOOL *aMultiline);
        
        DECLSPEC_XFGVIRT(IStringFormValue, get_ClipboardString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClipboardString )( 
            IStringFormValue * This,
            /* [retval][out] */ BSTR *aClipboardString);
        
        DECLSPEC_XFGVIRT(IStringFormValue, get_InternalAndReservedAttribute1IStringFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IStringFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStringFormValue, get_InternalAndReservedAttribute2IStringFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IStringFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStringFormValue, get_InternalAndReservedAttribute3IStringFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IStringFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStringFormValue, get_InternalAndReservedAttribute4IStringFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IStringFormValue )( 
            IStringFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IStringFormValue, GetString)
        HRESULT ( STDMETHODCALLTYPE *GetString )( 
            IStringFormValue * This,
            /* [retval][out] */ BSTR *aText);
        
        DECLSPEC_XFGVIRT(IStringFormValue, SetString)
        HRESULT ( STDMETHODCALLTYPE *SetString )( 
            IStringFormValue * This,
            /* [in] */ BSTR aText,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IStringFormValue, InternalAndReservedMethod1IStringFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IStringFormValue )( 
            IStringFormValue * This);
        
        DECLSPEC_XFGVIRT(IStringFormValue, InternalAndReservedMethod2IStringFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IStringFormValue )( 
            IStringFormValue * This);
        
        DECLSPEC_XFGVIRT(IStringFormValue, InternalAndReservedMethod3IStringFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IStringFormValue )( 
            IStringFormValue * This);
        
        DECLSPEC_XFGVIRT(IStringFormValue, InternalAndReservedMethod4IStringFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IStringFormValue )( 
            IStringFormValue * This);
        
        END_INTERFACE
    } IStringFormValueVtbl;

    interface IStringFormValue
    {
        CONST_VTBL struct IStringFormValueVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IStringFormValue_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IStringFormValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IStringFormValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IStringFormValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IStringFormValue_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IStringFormValue_get_Generation(This,aGeneration)	\
    ( (This)->lpVtbl -> get_Generation(This,aGeneration) ) 

#define IStringFormValue_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IStringFormValue_get_Visible(This,aVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,aVisible) ) 

#define IStringFormValue_get_Label(This,aLabel)	\
    ( (This)->lpVtbl -> get_Label(This,aLabel) ) 

#define IStringFormValue_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IStringFormValue_get_Help(This,aHelp)	\
    ( (This)->lpVtbl -> get_Help(This,aHelp) ) 

#define IStringFormValue_get_InternalAndReservedAttribute1IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFormValue(This,aReserved) ) 

#define IStringFormValue_get_InternalAndReservedAttribute2IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFormValue(This,aReserved) ) 

#define IStringFormValue_get_InternalAndReservedAttribute3IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFormValue(This,aReserved) ) 

#define IStringFormValue_get_InternalAndReservedAttribute4IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFormValue(This,aReserved) ) 

#define IStringFormValue_get_InternalAndReservedAttribute5IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFormValue(This,aReserved) ) 

#define IStringFormValue_get_InternalAndReservedAttribute6IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFormValue(This,aReserved) ) 

#define IStringFormValue_get_InternalAndReservedAttribute7IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFormValue(This,aReserved) ) 

#define IStringFormValue_get_InternalAndReservedAttribute8IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFormValue(This,aReserved) ) 

#define IStringFormValue_InternalAndReservedMethod1IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IFormValue(This) ) 

#define IStringFormValue_InternalAndReservedMethod2IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IFormValue(This) ) 

#define IStringFormValue_InternalAndReservedMethod3IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IFormValue(This) ) 

#define IStringFormValue_InternalAndReservedMethod4IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IFormValue(This) ) 


#define IStringFormValue_get_Multiline(This,aMultiline)	\
    ( (This)->lpVtbl -> get_Multiline(This,aMultiline) ) 

#define IStringFormValue_get_ClipboardString(This,aClipboardString)	\
    ( (This)->lpVtbl -> get_ClipboardString(This,aClipboardString) ) 

#define IStringFormValue_get_InternalAndReservedAttribute1IStringFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IStringFormValue(This,aReserved) ) 

#define IStringFormValue_get_InternalAndReservedAttribute2IStringFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IStringFormValue(This,aReserved) ) 

#define IStringFormValue_get_InternalAndReservedAttribute3IStringFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IStringFormValue(This,aReserved) ) 

#define IStringFormValue_get_InternalAndReservedAttribute4IStringFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IStringFormValue(This,aReserved) ) 

#define IStringFormValue_GetString(This,aText)	\
    ( (This)->lpVtbl -> GetString(This,aText) ) 

#define IStringFormValue_SetString(This,aText,aProgress)	\
    ( (This)->lpVtbl -> SetString(This,aText,aProgress) ) 

#define IStringFormValue_InternalAndReservedMethod1IStringFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IStringFormValue(This) ) 

#define IStringFormValue_InternalAndReservedMethod2IStringFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IStringFormValue(This) ) 

#define IStringFormValue_InternalAndReservedMethod3IStringFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IStringFormValue(This) ) 

#define IStringFormValue_InternalAndReservedMethod4IStringFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IStringFormValue(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IStringFormValue_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0222 */
/* [local] */ 

#define COM_FORWARD_IStringFormValue_GETTER_Multiline_TO(smth) HRESULT STDMETHODCALLTYPE get_Multiline (BOOL * aMultiline) { return smth get_Multiline (aMultiline); }
#define COM_FORWARD_IStringFormValue_GETTER_Multiline_TO_OBJ(obj) COM_FORWARD_IStringFormValue_GETTER_Multiline_TO ((obj)->)
#define COM_FORWARD_IStringFormValue_GETTER_Multiline_TO_BASE(base) COM_FORWARD_IStringFormValue_GETTER_Multiline_TO (base::)
#define COM_FORWARD_IStringFormValue_GETTER_ClipboardString_TO(smth) HRESULT STDMETHODCALLTYPE get_ClipboardString (BSTR * aClipboardString) { return smth get_ClipboardString (aClipboardString); }
#define COM_FORWARD_IStringFormValue_GETTER_ClipboardString_TO_OBJ(obj) COM_FORWARD_IStringFormValue_GETTER_ClipboardString_TO ((obj)->)
#define COM_FORWARD_IStringFormValue_GETTER_ClipboardString_TO_BASE(base) COM_FORWARD_IStringFormValue_GETTER_ClipboardString_TO (base::)
#define COM_FORWARD_IStringFormValue_GetString_TO(smth) HRESULT STDMETHODCALLTYPE GetString (BSTR * aText) { return smth GetString (aText); }
#define COM_FORWARD_IStringFormValue_GetString_TO_OBJ(obj) COM_FORWARD_IStringFormValue_GetString_TO ((obj)->)
#define COM_FORWARD_IStringFormValue_GetString_TO_BASE(base) COM_FORWARD_IStringFormValue_GetString_TO (base::)
#define COM_FORWARD_IStringFormValue_SetString_TO(smth) HRESULT STDMETHODCALLTYPE SetString (BSTR aText, IProgress * * aProgress) { return smth SetString (aText, aProgress); }
#define COM_FORWARD_IStringFormValue_SetString_TO_OBJ(obj) COM_FORWARD_IStringFormValue_SetString_TO ((obj)->)
#define COM_FORWARD_IStringFormValue_SetString_TO_BASE(base) COM_FORWARD_IStringFormValue_SetString_TO (base::)
#define COM_FORWARD_IStringFormValue_TO(smth) COM_FORWARD_IStringFormValue_GETTER_Multiline_TO (smth) COM_FORWARD_IStringFormValue_GETTER_ClipboardString_TO (smth) COM_FORWARD_IStringFormValue_GetString_TO (smth) COM_FORWARD_IStringFormValue_SetString_TO (smth) 
#define COM_FORWARD_IStringFormValue_TO_OBJ(obj) COM_FORWARD_IStringFormValue_TO ((obj)->)
#define COM_FORWARD_IStringFormValue_TO_BASE(base) COM_FORWARD_IStringFormValue_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0222_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0222_v0_0_s_ifspec;

#ifndef __IChoiceFormValue_INTERFACE_DEFINED__
#define __IChoiceFormValue_INTERFACE_DEFINED__

/* interface IChoiceFormValue */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IChoiceFormValue;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7191cf38-3e8a-11e9-825c-ab7b2cabce23")
    IChoiceFormValue : public IFormValue
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Values( 
            /* [retval][out] */ SAFEARRAY * *aValues) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IChoiceFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IChoiceFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IChoiceFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IChoiceFormValue( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSelectedIndex( 
            /* [retval][out] */ LONG *aIndex) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSelectedIndex( 
            /* [in] */ LONG aIndex,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IChoiceFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IChoiceFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IChoiceFormValue( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IChoiceFormValue( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IChoiceFormValueVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IChoiceFormValue * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IChoiceFormValue * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IChoiceFormValue * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IChoiceFormValue * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IChoiceFormValue * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IChoiceFormValue * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IChoiceFormValue * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IChoiceFormValue * This,
            /* [retval][out] */ FormValueType *aType);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Generation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Generation )( 
            IChoiceFormValue * This,
            /* [retval][out] */ LONG *aGeneration);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Enabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IChoiceFormValue * This,
            /* [retval][out] */ BOOL *aEnabled);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Visible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IChoiceFormValue * This,
            /* [retval][out] */ BOOL *aVisible);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Label)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label )( 
            IChoiceFormValue * This,
            /* [retval][out] */ BSTR *aLabel);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Description)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IChoiceFormValue * This,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(IFormValue, get_Help)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Help )( 
            IChoiceFormValue * This,
            /* [retval][out] */ BSTR *aHelp);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute1IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute2IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute3IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute4IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute5IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5IFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute6IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6IFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute7IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7IFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, get_InternalAndReservedAttribute8IFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8IFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod1IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IFormValue )( 
            IChoiceFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod2IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IFormValue )( 
            IChoiceFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod3IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IFormValue )( 
            IChoiceFormValue * This);
        
        DECLSPEC_XFGVIRT(IFormValue, InternalAndReservedMethod4IFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IFormValue )( 
            IChoiceFormValue * This);
        
        DECLSPEC_XFGVIRT(IChoiceFormValue, get_Values)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Values )( 
            IChoiceFormValue * This,
            /* [retval][out] */ SAFEARRAY * *aValues);
        
        DECLSPEC_XFGVIRT(IChoiceFormValue, get_InternalAndReservedAttribute1IChoiceFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IChoiceFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IChoiceFormValue, get_InternalAndReservedAttribute2IChoiceFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IChoiceFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IChoiceFormValue, get_InternalAndReservedAttribute3IChoiceFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IChoiceFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IChoiceFormValue, get_InternalAndReservedAttribute4IChoiceFormValue)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IChoiceFormValue )( 
            IChoiceFormValue * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IChoiceFormValue, GetSelectedIndex)
        HRESULT ( STDMETHODCALLTYPE *GetSelectedIndex )( 
            IChoiceFormValue * This,
            /* [retval][out] */ LONG *aIndex);
        
        DECLSPEC_XFGVIRT(IChoiceFormValue, SetSelectedIndex)
        HRESULT ( STDMETHODCALLTYPE *SetSelectedIndex )( 
            IChoiceFormValue * This,
            /* [in] */ LONG aIndex,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IChoiceFormValue, InternalAndReservedMethod1IChoiceFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IChoiceFormValue )( 
            IChoiceFormValue * This);
        
        DECLSPEC_XFGVIRT(IChoiceFormValue, InternalAndReservedMethod2IChoiceFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IChoiceFormValue )( 
            IChoiceFormValue * This);
        
        DECLSPEC_XFGVIRT(IChoiceFormValue, InternalAndReservedMethod3IChoiceFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IChoiceFormValue )( 
            IChoiceFormValue * This);
        
        DECLSPEC_XFGVIRT(IChoiceFormValue, InternalAndReservedMethod4IChoiceFormValue)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IChoiceFormValue )( 
            IChoiceFormValue * This);
        
        END_INTERFACE
    } IChoiceFormValueVtbl;

    interface IChoiceFormValue
    {
        CONST_VTBL struct IChoiceFormValueVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IChoiceFormValue_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IChoiceFormValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IChoiceFormValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IChoiceFormValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IChoiceFormValue_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define IChoiceFormValue_get_Generation(This,aGeneration)	\
    ( (This)->lpVtbl -> get_Generation(This,aGeneration) ) 

#define IChoiceFormValue_get_Enabled(This,aEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,aEnabled) ) 

#define IChoiceFormValue_get_Visible(This,aVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,aVisible) ) 

#define IChoiceFormValue_get_Label(This,aLabel)	\
    ( (This)->lpVtbl -> get_Label(This,aLabel) ) 

#define IChoiceFormValue_get_Description(This,aDescription)	\
    ( (This)->lpVtbl -> get_Description(This,aDescription) ) 

#define IChoiceFormValue_get_Help(This,aHelp)	\
    ( (This)->lpVtbl -> get_Help(This,aHelp) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute1IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IFormValue(This,aReserved) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute2IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IFormValue(This,aReserved) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute3IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IFormValue(This,aReserved) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute4IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IFormValue(This,aReserved) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute5IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5IFormValue(This,aReserved) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute6IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6IFormValue(This,aReserved) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute7IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7IFormValue(This,aReserved) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute8IFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8IFormValue(This,aReserved) ) 

#define IChoiceFormValue_InternalAndReservedMethod1IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IFormValue(This) ) 

#define IChoiceFormValue_InternalAndReservedMethod2IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IFormValue(This) ) 

#define IChoiceFormValue_InternalAndReservedMethod3IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IFormValue(This) ) 

#define IChoiceFormValue_InternalAndReservedMethod4IFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IFormValue(This) ) 


#define IChoiceFormValue_get_Values(This,aValues)	\
    ( (This)->lpVtbl -> get_Values(This,aValues) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute1IChoiceFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IChoiceFormValue(This,aReserved) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute2IChoiceFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IChoiceFormValue(This,aReserved) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute3IChoiceFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IChoiceFormValue(This,aReserved) ) 

#define IChoiceFormValue_get_InternalAndReservedAttribute4IChoiceFormValue(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IChoiceFormValue(This,aReserved) ) 

#define IChoiceFormValue_GetSelectedIndex(This,aIndex)	\
    ( (This)->lpVtbl -> GetSelectedIndex(This,aIndex) ) 

#define IChoiceFormValue_SetSelectedIndex(This,aIndex,aProgress)	\
    ( (This)->lpVtbl -> SetSelectedIndex(This,aIndex,aProgress) ) 

#define IChoiceFormValue_InternalAndReservedMethod1IChoiceFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IChoiceFormValue(This) ) 

#define IChoiceFormValue_InternalAndReservedMethod2IChoiceFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IChoiceFormValue(This) ) 

#define IChoiceFormValue_InternalAndReservedMethod3IChoiceFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IChoiceFormValue(This) ) 

#define IChoiceFormValue_InternalAndReservedMethod4IChoiceFormValue(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IChoiceFormValue(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IChoiceFormValue_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0223 */
/* [local] */ 

#define COM_FORWARD_IChoiceFormValue_GETTER_Values_TO(smth) HRESULT STDMETHODCALLTYPE get_Values (SAFEARRAY * * aValues) { return smth get_Values (aValues); }
#define COM_FORWARD_IChoiceFormValue_GETTER_Values_TO_OBJ(obj) COM_FORWARD_IChoiceFormValue_GETTER_Values_TO ((obj)->)
#define COM_FORWARD_IChoiceFormValue_GETTER_Values_TO_BASE(base) COM_FORWARD_IChoiceFormValue_GETTER_Values_TO (base::)
#define COM_FORWARD_IChoiceFormValue_GetSelectedIndex_TO(smth) HRESULT STDMETHODCALLTYPE GetSelectedIndex (LONG * aIndex) { return smth GetSelectedIndex (aIndex); }
#define COM_FORWARD_IChoiceFormValue_GetSelectedIndex_TO_OBJ(obj) COM_FORWARD_IChoiceFormValue_GetSelectedIndex_TO ((obj)->)
#define COM_FORWARD_IChoiceFormValue_GetSelectedIndex_TO_BASE(base) COM_FORWARD_IChoiceFormValue_GetSelectedIndex_TO (base::)
#define COM_FORWARD_IChoiceFormValue_SetSelectedIndex_TO(smth) HRESULT STDMETHODCALLTYPE SetSelectedIndex (LONG aIndex, IProgress * * aProgress) { return smth SetSelectedIndex (aIndex, aProgress); }
#define COM_FORWARD_IChoiceFormValue_SetSelectedIndex_TO_OBJ(obj) COM_FORWARD_IChoiceFormValue_SetSelectedIndex_TO ((obj)->)
#define COM_FORWARD_IChoiceFormValue_SetSelectedIndex_TO_BASE(base) COM_FORWARD_IChoiceFormValue_SetSelectedIndex_TO (base::)
#define COM_FORWARD_IChoiceFormValue_TO(smth) COM_FORWARD_IChoiceFormValue_GETTER_Values_TO (smth) COM_FORWARD_IChoiceFormValue_GetSelectedIndex_TO (smth) COM_FORWARD_IChoiceFormValue_SetSelectedIndex_TO (smth) 
#define COM_FORWARD_IChoiceFormValue_TO_OBJ(obj) COM_FORWARD_IChoiceFormValue_TO ((obj)->)
#define COM_FORWARD_IChoiceFormValue_TO_BASE(base) COM_FORWARD_IChoiceFormValue_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0223_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0223_v0_0_s_ifspec;

#ifndef __IForm_INTERFACE_DEFINED__
#define __IForm_INTERFACE_DEFINED__

/* interface IForm */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IForm;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d05c91e2-3e8a-11e9-8082-db8ae479ef87")
    IForm : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Values( 
            /* [retval][out] */ SAFEARRAY * *aValues) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IForm( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IForm( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IForm( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IForm( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetFieldGroup( 
            /* [in] */ BSTR aField,
            /* [retval][out] */ SAFEARRAY * *aGroup) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Apply( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IForm( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IForm( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IForm( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IForm( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IFormVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IForm * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IForm * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IForm * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IForm * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IForm * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IForm * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IForm * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IForm, get_Values)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Values )( 
            IForm * This,
            /* [retval][out] */ SAFEARRAY * *aValues);
        
        DECLSPEC_XFGVIRT(IForm, get_InternalAndReservedAttribute1IForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IForm )( 
            IForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IForm, get_InternalAndReservedAttribute2IForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IForm )( 
            IForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IForm, get_InternalAndReservedAttribute3IForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IForm )( 
            IForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IForm, get_InternalAndReservedAttribute4IForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IForm )( 
            IForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IForm, GetFieldGroup)
        HRESULT ( STDMETHODCALLTYPE *GetFieldGroup )( 
            IForm * This,
            /* [in] */ BSTR aField,
            /* [retval][out] */ SAFEARRAY * *aGroup);
        
        DECLSPEC_XFGVIRT(IForm, Apply)
        HRESULT ( STDMETHODCALLTYPE *Apply )( 
            IForm * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IForm, InternalAndReservedMethod1IForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IForm )( 
            IForm * This);
        
        DECLSPEC_XFGVIRT(IForm, InternalAndReservedMethod2IForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IForm )( 
            IForm * This);
        
        DECLSPEC_XFGVIRT(IForm, InternalAndReservedMethod3IForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IForm )( 
            IForm * This);
        
        DECLSPEC_XFGVIRT(IForm, InternalAndReservedMethod4IForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IForm )( 
            IForm * This);
        
        END_INTERFACE
    } IFormVtbl;

    interface IForm
    {
        CONST_VTBL struct IFormVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IForm_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IForm_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IForm_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IForm_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IForm_get_Values(This,aValues)	\
    ( (This)->lpVtbl -> get_Values(This,aValues) ) 

#define IForm_get_InternalAndReservedAttribute1IForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IForm(This,aReserved) ) 

#define IForm_get_InternalAndReservedAttribute2IForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IForm(This,aReserved) ) 

#define IForm_get_InternalAndReservedAttribute3IForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IForm(This,aReserved) ) 

#define IForm_get_InternalAndReservedAttribute4IForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IForm(This,aReserved) ) 

#define IForm_GetFieldGroup(This,aField,aGroup)	\
    ( (This)->lpVtbl -> GetFieldGroup(This,aField,aGroup) ) 

#define IForm_Apply(This,aProgress)	\
    ( (This)->lpVtbl -> Apply(This,aProgress) ) 

#define IForm_InternalAndReservedMethod1IForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IForm(This) ) 

#define IForm_InternalAndReservedMethod2IForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IForm(This) ) 

#define IForm_InternalAndReservedMethod3IForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IForm(This) ) 

#define IForm_InternalAndReservedMethod4IForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IForm(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IForm_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0224 */
/* [local] */ 

#define COM_FORWARD_IForm_GETTER_Values_TO(smth) HRESULT STDMETHODCALLTYPE get_Values (SAFEARRAY * * aValues) { return smth get_Values (aValues); }
#define COM_FORWARD_IForm_GETTER_Values_TO_OBJ(obj) COM_FORWARD_IForm_GETTER_Values_TO ((obj)->)
#define COM_FORWARD_IForm_GETTER_Values_TO_BASE(base) COM_FORWARD_IForm_GETTER_Values_TO (base::)
#define COM_FORWARD_IForm_GetFieldGroup_TO(smth) HRESULT STDMETHODCALLTYPE GetFieldGroup (BSTR aField, SAFEARRAY * * aGroup) { return smth GetFieldGroup (aField, aGroup); }
#define COM_FORWARD_IForm_GetFieldGroup_TO_OBJ(obj) COM_FORWARD_IForm_GetFieldGroup_TO ((obj)->)
#define COM_FORWARD_IForm_GetFieldGroup_TO_BASE(base) COM_FORWARD_IForm_GetFieldGroup_TO (base::)
#define COM_FORWARD_IForm_Apply_TO(smth) HRESULT STDMETHODCALLTYPE Apply (IProgress * * aProgress) { return smth Apply (aProgress); }
#define COM_FORWARD_IForm_Apply_TO_OBJ(obj) COM_FORWARD_IForm_Apply_TO ((obj)->)
#define COM_FORWARD_IForm_Apply_TO_BASE(base) COM_FORWARD_IForm_Apply_TO (base::)
#define COM_FORWARD_IForm_TO(smth) COM_FORWARD_IForm_GETTER_Values_TO (smth) COM_FORWARD_IForm_GetFieldGroup_TO (smth) COM_FORWARD_IForm_Apply_TO (smth) 
#define COM_FORWARD_IForm_TO_OBJ(obj) COM_FORWARD_IForm_TO ((obj)->)
#define COM_FORWARD_IForm_TO_BASE(base) COM_FORWARD_IForm_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0224_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0224_v0_0_s_ifspec;

#ifndef __IVirtualSystemDescriptionForm_INTERFACE_DEFINED__
#define __IVirtualSystemDescriptionForm_INTERFACE_DEFINED__

/* interface IVirtualSystemDescriptionForm */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_IVirtualSystemDescriptionForm;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("14c2db8a-3ee4-11e9-b872-cb9447aad965")
    IVirtualSystemDescriptionForm : public IForm
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1IVirtualSystemDescriptionForm( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2IVirtualSystemDescriptionForm( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3IVirtualSystemDescriptionForm( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4IVirtualSystemDescriptionForm( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVirtualSystemDescription( 
            /* [retval][out] */ IVirtualSystemDescription **aDescription) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1IVirtualSystemDescriptionForm( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2IVirtualSystemDescriptionForm( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3IVirtualSystemDescriptionForm( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4IVirtualSystemDescriptionForm( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVirtualSystemDescriptionFormVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVirtualSystemDescriptionForm * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVirtualSystemDescriptionForm * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVirtualSystemDescriptionForm * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IVirtualSystemDescriptionForm * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IVirtualSystemDescriptionForm * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IVirtualSystemDescriptionForm * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IVirtualSystemDescriptionForm * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IForm, get_Values)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Values )( 
            IVirtualSystemDescriptionForm * This,
            /* [retval][out] */ SAFEARRAY * *aValues);
        
        DECLSPEC_XFGVIRT(IForm, get_InternalAndReservedAttribute1IForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IForm )( 
            IVirtualSystemDescriptionForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IForm, get_InternalAndReservedAttribute2IForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IForm )( 
            IVirtualSystemDescriptionForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IForm, get_InternalAndReservedAttribute3IForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IForm )( 
            IVirtualSystemDescriptionForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IForm, get_InternalAndReservedAttribute4IForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IForm )( 
            IVirtualSystemDescriptionForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IForm, GetFieldGroup)
        HRESULT ( STDMETHODCALLTYPE *GetFieldGroup )( 
            IVirtualSystemDescriptionForm * This,
            /* [in] */ BSTR aField,
            /* [retval][out] */ SAFEARRAY * *aGroup);
        
        DECLSPEC_XFGVIRT(IForm, Apply)
        HRESULT ( STDMETHODCALLTYPE *Apply )( 
            IVirtualSystemDescriptionForm * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(IForm, InternalAndReservedMethod1IForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IForm )( 
            IVirtualSystemDescriptionForm * This);
        
        DECLSPEC_XFGVIRT(IForm, InternalAndReservedMethod2IForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IForm )( 
            IVirtualSystemDescriptionForm * This);
        
        DECLSPEC_XFGVIRT(IForm, InternalAndReservedMethod3IForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IForm )( 
            IVirtualSystemDescriptionForm * This);
        
        DECLSPEC_XFGVIRT(IForm, InternalAndReservedMethod4IForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IForm )( 
            IVirtualSystemDescriptionForm * This);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescriptionForm, get_InternalAndReservedAttribute1IVirtualSystemDescriptionForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1IVirtualSystemDescriptionForm )( 
            IVirtualSystemDescriptionForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescriptionForm, get_InternalAndReservedAttribute2IVirtualSystemDescriptionForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2IVirtualSystemDescriptionForm )( 
            IVirtualSystemDescriptionForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescriptionForm, get_InternalAndReservedAttribute3IVirtualSystemDescriptionForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3IVirtualSystemDescriptionForm )( 
            IVirtualSystemDescriptionForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescriptionForm, get_InternalAndReservedAttribute4IVirtualSystemDescriptionForm)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4IVirtualSystemDescriptionForm )( 
            IVirtualSystemDescriptionForm * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescriptionForm, GetVirtualSystemDescription)
        HRESULT ( STDMETHODCALLTYPE *GetVirtualSystemDescription )( 
            IVirtualSystemDescriptionForm * This,
            /* [retval][out] */ IVirtualSystemDescription **aDescription);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescriptionForm, InternalAndReservedMethod1IVirtualSystemDescriptionForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1IVirtualSystemDescriptionForm )( 
            IVirtualSystemDescriptionForm * This);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescriptionForm, InternalAndReservedMethod2IVirtualSystemDescriptionForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2IVirtualSystemDescriptionForm )( 
            IVirtualSystemDescriptionForm * This);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescriptionForm, InternalAndReservedMethod3IVirtualSystemDescriptionForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3IVirtualSystemDescriptionForm )( 
            IVirtualSystemDescriptionForm * This);
        
        DECLSPEC_XFGVIRT(IVirtualSystemDescriptionForm, InternalAndReservedMethod4IVirtualSystemDescriptionForm)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4IVirtualSystemDescriptionForm )( 
            IVirtualSystemDescriptionForm * This);
        
        END_INTERFACE
    } IVirtualSystemDescriptionFormVtbl;

    interface IVirtualSystemDescriptionForm
    {
        CONST_VTBL struct IVirtualSystemDescriptionFormVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVirtualSystemDescriptionForm_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IVirtualSystemDescriptionForm_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IVirtualSystemDescriptionForm_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IVirtualSystemDescriptionForm_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IVirtualSystemDescriptionForm_get_Values(This,aValues)	\
    ( (This)->lpVtbl -> get_Values(This,aValues) ) 

#define IVirtualSystemDescriptionForm_get_InternalAndReservedAttribute1IForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IForm(This,aReserved) ) 

#define IVirtualSystemDescriptionForm_get_InternalAndReservedAttribute2IForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IForm(This,aReserved) ) 

#define IVirtualSystemDescriptionForm_get_InternalAndReservedAttribute3IForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IForm(This,aReserved) ) 

#define IVirtualSystemDescriptionForm_get_InternalAndReservedAttribute4IForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IForm(This,aReserved) ) 

#define IVirtualSystemDescriptionForm_GetFieldGroup(This,aField,aGroup)	\
    ( (This)->lpVtbl -> GetFieldGroup(This,aField,aGroup) ) 

#define IVirtualSystemDescriptionForm_Apply(This,aProgress)	\
    ( (This)->lpVtbl -> Apply(This,aProgress) ) 

#define IVirtualSystemDescriptionForm_InternalAndReservedMethod1IForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IForm(This) ) 

#define IVirtualSystemDescriptionForm_InternalAndReservedMethod2IForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IForm(This) ) 

#define IVirtualSystemDescriptionForm_InternalAndReservedMethod3IForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IForm(This) ) 

#define IVirtualSystemDescriptionForm_InternalAndReservedMethod4IForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IForm(This) ) 


#define IVirtualSystemDescriptionForm_get_InternalAndReservedAttribute1IVirtualSystemDescriptionForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1IVirtualSystemDescriptionForm(This,aReserved) ) 

#define IVirtualSystemDescriptionForm_get_InternalAndReservedAttribute2IVirtualSystemDescriptionForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2IVirtualSystemDescriptionForm(This,aReserved) ) 

#define IVirtualSystemDescriptionForm_get_InternalAndReservedAttribute3IVirtualSystemDescriptionForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3IVirtualSystemDescriptionForm(This,aReserved) ) 

#define IVirtualSystemDescriptionForm_get_InternalAndReservedAttribute4IVirtualSystemDescriptionForm(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4IVirtualSystemDescriptionForm(This,aReserved) ) 

#define IVirtualSystemDescriptionForm_GetVirtualSystemDescription(This,aDescription)	\
    ( (This)->lpVtbl -> GetVirtualSystemDescription(This,aDescription) ) 

#define IVirtualSystemDescriptionForm_InternalAndReservedMethod1IVirtualSystemDescriptionForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1IVirtualSystemDescriptionForm(This) ) 

#define IVirtualSystemDescriptionForm_InternalAndReservedMethod2IVirtualSystemDescriptionForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2IVirtualSystemDescriptionForm(This) ) 

#define IVirtualSystemDescriptionForm_InternalAndReservedMethod3IVirtualSystemDescriptionForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3IVirtualSystemDescriptionForm(This) ) 

#define IVirtualSystemDescriptionForm_InternalAndReservedMethod4IVirtualSystemDescriptionForm(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4IVirtualSystemDescriptionForm(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVirtualSystemDescriptionForm_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0225 */
/* [local] */ 

#define COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO(smth) HRESULT STDMETHODCALLTYPE GetVirtualSystemDescription (IVirtualSystemDescription * * aDescription) { return smth GetVirtualSystemDescription (aDescription); }
#define COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO ((obj)->)
#define COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO_BASE(base) COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO (base::)
#define COM_FORWARD_IVirtualSystemDescriptionForm_TO(smth) COM_FORWARD_IVirtualSystemDescriptionForm_GetVirtualSystemDescription_TO (smth) 
#define COM_FORWARD_IVirtualSystemDescriptionForm_TO_OBJ(obj) COM_FORWARD_IVirtualSystemDescriptionForm_TO ((obj)->)
#define COM_FORWARD_IVirtualSystemDescriptionForm_TO_BASE(base) COM_FORWARD_IVirtualSystemDescriptionForm_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0225_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0225_v0_0_s_ifspec;

#ifndef __ICloudNetworkGatewayInfo_INTERFACE_DEFINED__
#define __ICloudNetworkGatewayInfo_INTERFACE_DEFINED__

/* interface ICloudNetworkGatewayInfo */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudNetworkGatewayInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("89a63ace-0c65-11ea-ad23-0ff257c71a7f")
    ICloudNetworkGatewayInfo : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PublicIP( 
            /* [retval][out] */ BSTR *aPublicIP) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SecondaryPublicIP( 
            /* [retval][out] */ BSTR *aSecondaryPublicIP) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MacAddress( 
            /* [retval][out] */ BSTR *aMacAddress) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InstanceId( 
            /* [retval][out] */ BSTR *aInstanceId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ICloudNetworkGatewayInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ICloudNetworkGatewayInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ICloudNetworkGatewayInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ICloudNetworkGatewayInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ICloudNetworkGatewayInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudNetworkGatewayInfoVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudNetworkGatewayInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudNetworkGatewayInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudNetworkGatewayInfo * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudNetworkGatewayInfo * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudNetworkGatewayInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudNetworkGatewayInfo * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudNetworkGatewayInfo * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ICloudNetworkGatewayInfo, get_PublicIP)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PublicIP )( 
            ICloudNetworkGatewayInfo * This,
            /* [retval][out] */ BSTR *aPublicIP);
        
        DECLSPEC_XFGVIRT(ICloudNetworkGatewayInfo, get_SecondaryPublicIP)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SecondaryPublicIP )( 
            ICloudNetworkGatewayInfo * This,
            /* [retval][out] */ BSTR *aSecondaryPublicIP);
        
        DECLSPEC_XFGVIRT(ICloudNetworkGatewayInfo, get_MacAddress)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MacAddress )( 
            ICloudNetworkGatewayInfo * This,
            /* [retval][out] */ BSTR *aMacAddress);
        
        DECLSPEC_XFGVIRT(ICloudNetworkGatewayInfo, get_InstanceId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceId )( 
            ICloudNetworkGatewayInfo * This,
            /* [retval][out] */ BSTR *aInstanceId);
        
        DECLSPEC_XFGVIRT(ICloudNetworkGatewayInfo, get_InternalAndReservedAttribute1ICloudNetworkGatewayInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ICloudNetworkGatewayInfo )( 
            ICloudNetworkGatewayInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetworkGatewayInfo, get_InternalAndReservedAttribute2ICloudNetworkGatewayInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ICloudNetworkGatewayInfo )( 
            ICloudNetworkGatewayInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetworkGatewayInfo, get_InternalAndReservedAttribute3ICloudNetworkGatewayInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ICloudNetworkGatewayInfo )( 
            ICloudNetworkGatewayInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetworkGatewayInfo, get_InternalAndReservedAttribute4ICloudNetworkGatewayInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ICloudNetworkGatewayInfo )( 
            ICloudNetworkGatewayInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetworkGatewayInfo, get_InternalAndReservedAttribute5ICloudNetworkGatewayInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ICloudNetworkGatewayInfo )( 
            ICloudNetworkGatewayInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } ICloudNetworkGatewayInfoVtbl;

    interface ICloudNetworkGatewayInfo
    {
        CONST_VTBL struct ICloudNetworkGatewayInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudNetworkGatewayInfo_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudNetworkGatewayInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudNetworkGatewayInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudNetworkGatewayInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudNetworkGatewayInfo_get_PublicIP(This,aPublicIP)	\
    ( (This)->lpVtbl -> get_PublicIP(This,aPublicIP) ) 

#define ICloudNetworkGatewayInfo_get_SecondaryPublicIP(This,aSecondaryPublicIP)	\
    ( (This)->lpVtbl -> get_SecondaryPublicIP(This,aSecondaryPublicIP) ) 

#define ICloudNetworkGatewayInfo_get_MacAddress(This,aMacAddress)	\
    ( (This)->lpVtbl -> get_MacAddress(This,aMacAddress) ) 

#define ICloudNetworkGatewayInfo_get_InstanceId(This,aInstanceId)	\
    ( (This)->lpVtbl -> get_InstanceId(This,aInstanceId) ) 

#define ICloudNetworkGatewayInfo_get_InternalAndReservedAttribute1ICloudNetworkGatewayInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ICloudNetworkGatewayInfo(This,aReserved) ) 

#define ICloudNetworkGatewayInfo_get_InternalAndReservedAttribute2ICloudNetworkGatewayInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ICloudNetworkGatewayInfo(This,aReserved) ) 

#define ICloudNetworkGatewayInfo_get_InternalAndReservedAttribute3ICloudNetworkGatewayInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ICloudNetworkGatewayInfo(This,aReserved) ) 

#define ICloudNetworkGatewayInfo_get_InternalAndReservedAttribute4ICloudNetworkGatewayInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ICloudNetworkGatewayInfo(This,aReserved) ) 

#define ICloudNetworkGatewayInfo_get_InternalAndReservedAttribute5ICloudNetworkGatewayInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ICloudNetworkGatewayInfo(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudNetworkGatewayInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0226 */
/* [local] */ 

#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_PublicIP_TO(smth) HRESULT STDMETHODCALLTYPE get_PublicIP (BSTR * aPublicIP) { return smth get_PublicIP (aPublicIP); }
#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_PublicIP_TO_OBJ(obj) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_PublicIP_TO ((obj)->)
#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_PublicIP_TO_BASE(base) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_PublicIP_TO (base::)
#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_SecondaryPublicIP_TO(smth) HRESULT STDMETHODCALLTYPE get_SecondaryPublicIP (BSTR * aSecondaryPublicIP) { return smth get_SecondaryPublicIP (aSecondaryPublicIP); }
#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_SecondaryPublicIP_TO_OBJ(obj) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_SecondaryPublicIP_TO ((obj)->)
#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_SecondaryPublicIP_TO_BASE(base) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_SecondaryPublicIP_TO (base::)
#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_MacAddress_TO(smth) HRESULT STDMETHODCALLTYPE get_MacAddress (BSTR * aMacAddress) { return smth get_MacAddress (aMacAddress); }
#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_MacAddress_TO_OBJ(obj) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_MacAddress_TO ((obj)->)
#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_MacAddress_TO_BASE(base) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_MacAddress_TO (base::)
#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_InstanceId_TO(smth) HRESULT STDMETHODCALLTYPE get_InstanceId (BSTR * aInstanceId) { return smth get_InstanceId (aInstanceId); }
#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_InstanceId_TO_OBJ(obj) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_InstanceId_TO ((obj)->)
#define COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_InstanceId_TO_BASE(base) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_InstanceId_TO (base::)
#define COM_FORWARD_ICloudNetworkGatewayInfo_TO(smth) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_PublicIP_TO (smth) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_SecondaryPublicIP_TO (smth) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_MacAddress_TO (smth) COM_FORWARD_ICloudNetworkGatewayInfo_GETTER_InstanceId_TO (smth) 
#define COM_FORWARD_ICloudNetworkGatewayInfo_TO_OBJ(obj) COM_FORWARD_ICloudNetworkGatewayInfo_TO ((obj)->)
#define COM_FORWARD_ICloudNetworkGatewayInfo_TO_BASE(base) COM_FORWARD_ICloudNetworkGatewayInfo_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0226_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0226_v0_0_s_ifspec;

#ifndef __ICloudNetworkEnvironmentInfo_INTERFACE_DEFINED__
#define __ICloudNetworkEnvironmentInfo_INTERFACE_DEFINED__

/* interface ICloudNetworkEnvironmentInfo */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudNetworkEnvironmentInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("181dfb55-394d-44d3-9edb-af2c4472c40a")
    ICloudNetworkEnvironmentInfo : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TunnelNetworkId( 
            /* [retval][out] */ BSTR *aTunnelNetworkId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ICloudNetworkEnvironmentInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ICloudNetworkEnvironmentInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ICloudNetworkEnvironmentInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ICloudNetworkEnvironmentInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ICloudNetworkEnvironmentInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ICloudNetworkEnvironmentInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ICloudNetworkEnvironmentInfo( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudNetworkEnvironmentInfoVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudNetworkEnvironmentInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudNetworkEnvironmentInfo * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ICloudNetworkEnvironmentInfo, get_TunnelNetworkId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TunnelNetworkId )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [retval][out] */ BSTR *aTunnelNetworkId);
        
        DECLSPEC_XFGVIRT(ICloudNetworkEnvironmentInfo, get_InternalAndReservedAttribute1ICloudNetworkEnvironmentInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ICloudNetworkEnvironmentInfo )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetworkEnvironmentInfo, get_InternalAndReservedAttribute2ICloudNetworkEnvironmentInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ICloudNetworkEnvironmentInfo )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetworkEnvironmentInfo, get_InternalAndReservedAttribute3ICloudNetworkEnvironmentInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ICloudNetworkEnvironmentInfo )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetworkEnvironmentInfo, get_InternalAndReservedAttribute4ICloudNetworkEnvironmentInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ICloudNetworkEnvironmentInfo )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetworkEnvironmentInfo, get_InternalAndReservedAttribute5ICloudNetworkEnvironmentInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ICloudNetworkEnvironmentInfo )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetworkEnvironmentInfo, get_InternalAndReservedAttribute6ICloudNetworkEnvironmentInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ICloudNetworkEnvironmentInfo )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudNetworkEnvironmentInfo, get_InternalAndReservedAttribute7ICloudNetworkEnvironmentInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ICloudNetworkEnvironmentInfo )( 
            ICloudNetworkEnvironmentInfo * This,
            /* [retval][out] */ ULONG *aReserved);
        
        END_INTERFACE
    } ICloudNetworkEnvironmentInfoVtbl;

    interface ICloudNetworkEnvironmentInfo
    {
        CONST_VTBL struct ICloudNetworkEnvironmentInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudNetworkEnvironmentInfo_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudNetworkEnvironmentInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudNetworkEnvironmentInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudNetworkEnvironmentInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudNetworkEnvironmentInfo_get_TunnelNetworkId(This,aTunnelNetworkId)	\
    ( (This)->lpVtbl -> get_TunnelNetworkId(This,aTunnelNetworkId) ) 

#define ICloudNetworkEnvironmentInfo_get_InternalAndReservedAttribute1ICloudNetworkEnvironmentInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ICloudNetworkEnvironmentInfo(This,aReserved) ) 

#define ICloudNetworkEnvironmentInfo_get_InternalAndReservedAttribute2ICloudNetworkEnvironmentInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ICloudNetworkEnvironmentInfo(This,aReserved) ) 

#define ICloudNetworkEnvironmentInfo_get_InternalAndReservedAttribute3ICloudNetworkEnvironmentInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ICloudNetworkEnvironmentInfo(This,aReserved) ) 

#define ICloudNetworkEnvironmentInfo_get_InternalAndReservedAttribute4ICloudNetworkEnvironmentInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ICloudNetworkEnvironmentInfo(This,aReserved) ) 

#define ICloudNetworkEnvironmentInfo_get_InternalAndReservedAttribute5ICloudNetworkEnvironmentInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ICloudNetworkEnvironmentInfo(This,aReserved) ) 

#define ICloudNetworkEnvironmentInfo_get_InternalAndReservedAttribute6ICloudNetworkEnvironmentInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ICloudNetworkEnvironmentInfo(This,aReserved) ) 

#define ICloudNetworkEnvironmentInfo_get_InternalAndReservedAttribute7ICloudNetworkEnvironmentInfo(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ICloudNetworkEnvironmentInfo(This,aReserved) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudNetworkEnvironmentInfo_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0227 */
/* [local] */ 

#define COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO(smth) HRESULT STDMETHODCALLTYPE get_TunnelNetworkId (BSTR * aTunnelNetworkId) { return smth get_TunnelNetworkId (aTunnelNetworkId); }
#define COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO_OBJ(obj) COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO ((obj)->)
#define COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO_BASE(base) COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO (base::)
#define COM_FORWARD_ICloudNetworkEnvironmentInfo_TO(smth) COM_FORWARD_ICloudNetworkEnvironmentInfo_GETTER_TunnelNetworkId_TO (smth) 
#define COM_FORWARD_ICloudNetworkEnvironmentInfo_TO_OBJ(obj) COM_FORWARD_ICloudNetworkEnvironmentInfo_TO ((obj)->)
#define COM_FORWARD_ICloudNetworkEnvironmentInfo_TO_BASE(base) COM_FORWARD_ICloudNetworkEnvironmentInfo_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0227_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0227_v0_0_s_ifspec;

#ifndef __ICloudMachine_INTERFACE_DEFINED__
#define __ICloudMachine_INTERFACE_DEFINED__

/* interface ICloudMachine */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudMachine;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("147816c8-17e0-11eb-81fa-87cea6263e1a")
    ICloudMachine : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CloudId( 
            /* [retval][out] */ BSTR *aCloudId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Accessible( 
            /* [retval][out] */ BOOL *aAccessible) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AccessError( 
            /* [retval][out] */ IVirtualBoxErrorInfo **aAccessError) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OSTypeId( 
            /* [retval][out] */ BSTR *aOSTypeId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ CloudMachineState *aState) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ConsoleConnectionFingerprint( 
            /* [retval][out] */ BSTR *aConsoleConnectionFingerprint) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SerialConsoleCommand( 
            /* [retval][out] */ BSTR *aSerialConsoleCommand) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SerialConsoleCommandWindows( 
            /* [retval][out] */ BSTR *aSerialConsoleCommandWindows) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VNCConsoleCommand( 
            /* [retval][out] */ BSTR *aVNCConsoleCommand) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VNCConsoleCommandWindows( 
            /* [retval][out] */ BSTR *aVNCConsoleCommandWindows) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ICloudMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ICloudMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ICloudMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ICloudMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ICloudMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ICloudMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ICloudMachine( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Refresh( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDetailsForm( 
            /* [retval][out] */ IForm **aForm) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSettingsForm( 
            /* [out] */ IForm **aForm,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PowerUp( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Reboot( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Reset( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Shutdown( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PowerDown( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Terminate( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Unregister( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Remove( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetConsoleHistory( 
            /* [out] */ IDataStream **aStream,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateConsoleConnection( 
            /* [in] */ BSTR aSshPublicKey,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteConsoleConnection( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ListMetricNames( 
            /* [out] */ IStringArray **aMetricNames,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnumerateMetricData( 
            /* [in] */ MetricType aMetricType,
            /* [in] */ ULONG aPointsNumber,
            /* [out] */ IStringArray **aValues,
            /* [out] */ IStringArray **aTimestamps,
            /* [out] */ IStringArray **aUnit,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod9ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod10ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod11ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod12ICloudMachine( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod13ICloudMachine( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudMachineVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudMachine * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudMachine * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudMachine * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudMachine * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudMachine * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            ICloudMachine * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_CloudId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CloudId )( 
            ICloudMachine * This,
            /* [retval][out] */ BSTR *aCloudId);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_Accessible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Accessible )( 
            ICloudMachine * This,
            /* [retval][out] */ BOOL *aAccessible);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_AccessError)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AccessError )( 
            ICloudMachine * This,
            /* [retval][out] */ IVirtualBoxErrorInfo **aAccessError);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICloudMachine * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_OSTypeId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OSTypeId )( 
            ICloudMachine * This,
            /* [retval][out] */ BSTR *aOSTypeId);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            ICloudMachine * This,
            /* [retval][out] */ CloudMachineState *aState);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_ConsoleConnectionFingerprint)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConsoleConnectionFingerprint )( 
            ICloudMachine * This,
            /* [retval][out] */ BSTR *aConsoleConnectionFingerprint);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_SerialConsoleCommand)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialConsoleCommand )( 
            ICloudMachine * This,
            /* [retval][out] */ BSTR *aSerialConsoleCommand);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_SerialConsoleCommandWindows)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SerialConsoleCommandWindows )( 
            ICloudMachine * This,
            /* [retval][out] */ BSTR *aSerialConsoleCommandWindows);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_VNCConsoleCommand)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VNCConsoleCommand )( 
            ICloudMachine * This,
            /* [retval][out] */ BSTR *aVNCConsoleCommand);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_VNCConsoleCommandWindows)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VNCConsoleCommandWindows )( 
            ICloudMachine * This,
            /* [retval][out] */ BSTR *aVNCConsoleCommandWindows);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_InternalAndReservedAttribute1ICloudMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ICloudMachine )( 
            ICloudMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_InternalAndReservedAttribute2ICloudMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ICloudMachine )( 
            ICloudMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_InternalAndReservedAttribute3ICloudMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ICloudMachine )( 
            ICloudMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_InternalAndReservedAttribute4ICloudMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ICloudMachine )( 
            ICloudMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_InternalAndReservedAttribute5ICloudMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ICloudMachine )( 
            ICloudMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_InternalAndReservedAttribute6ICloudMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ICloudMachine )( 
            ICloudMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudMachine, get_InternalAndReservedAttribute7ICloudMachine)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ICloudMachine )( 
            ICloudMachine * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudMachine, Refresh)
        HRESULT ( STDMETHODCALLTYPE *Refresh )( 
            ICloudMachine * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, GetDetailsForm)
        HRESULT ( STDMETHODCALLTYPE *GetDetailsForm )( 
            ICloudMachine * This,
            /* [retval][out] */ IForm **aForm);
        
        DECLSPEC_XFGVIRT(ICloudMachine, GetSettingsForm)
        HRESULT ( STDMETHODCALLTYPE *GetSettingsForm )( 
            ICloudMachine * This,
            /* [out] */ IForm **aForm,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, PowerUp)
        HRESULT ( STDMETHODCALLTYPE *PowerUp )( 
            ICloudMachine * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, Reboot)
        HRESULT ( STDMETHODCALLTYPE *Reboot )( 
            ICloudMachine * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, Reset)
        HRESULT ( STDMETHODCALLTYPE *Reset )( 
            ICloudMachine * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, Shutdown)
        HRESULT ( STDMETHODCALLTYPE *Shutdown )( 
            ICloudMachine * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, PowerDown)
        HRESULT ( STDMETHODCALLTYPE *PowerDown )( 
            ICloudMachine * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, Terminate)
        HRESULT ( STDMETHODCALLTYPE *Terminate )( 
            ICloudMachine * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, Unregister)
        HRESULT ( STDMETHODCALLTYPE *Unregister )( 
            ICloudMachine * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, Remove)
        HRESULT ( STDMETHODCALLTYPE *Remove )( 
            ICloudMachine * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, GetConsoleHistory)
        HRESULT ( STDMETHODCALLTYPE *GetConsoleHistory )( 
            ICloudMachine * This,
            /* [out] */ IDataStream **aStream,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, CreateConsoleConnection)
        HRESULT ( STDMETHODCALLTYPE *CreateConsoleConnection )( 
            ICloudMachine * This,
            /* [in] */ BSTR aSshPublicKey,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, DeleteConsoleConnection)
        HRESULT ( STDMETHODCALLTYPE *DeleteConsoleConnection )( 
            ICloudMachine * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, ListMetricNames)
        HRESULT ( STDMETHODCALLTYPE *ListMetricNames )( 
            ICloudMachine * This,
            /* [out] */ IStringArray **aMetricNames,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, EnumerateMetricData)
        HRESULT ( STDMETHODCALLTYPE *EnumerateMetricData )( 
            ICloudMachine * This,
            /* [in] */ MetricType aMetricType,
            /* [in] */ ULONG aPointsNumber,
            /* [out] */ IStringArray **aValues,
            /* [out] */ IStringArray **aTimestamps,
            /* [out] */ IStringArray **aUnit,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod1ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod2ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod3ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod4ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod5ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod6ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod7ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod8ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod9ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod9ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod10ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod10ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod11ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod11ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod12ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod12ICloudMachine )( 
            ICloudMachine * This);
        
        DECLSPEC_XFGVIRT(ICloudMachine, InternalAndReservedMethod13ICloudMachine)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod13ICloudMachine )( 
            ICloudMachine * This);
        
        END_INTERFACE
    } ICloudMachineVtbl;

    interface ICloudMachine
    {
        CONST_VTBL struct ICloudMachineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudMachine_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudMachine_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudMachine_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudMachine_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudMachine_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define ICloudMachine_get_CloudId(This,aCloudId)	\
    ( (This)->lpVtbl -> get_CloudId(This,aCloudId) ) 

#define ICloudMachine_get_Accessible(This,aAccessible)	\
    ( (This)->lpVtbl -> get_Accessible(This,aAccessible) ) 

#define ICloudMachine_get_AccessError(This,aAccessError)	\
    ( (This)->lpVtbl -> get_AccessError(This,aAccessError) ) 

#define ICloudMachine_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define ICloudMachine_get_OSTypeId(This,aOSTypeId)	\
    ( (This)->lpVtbl -> get_OSTypeId(This,aOSTypeId) ) 

#define ICloudMachine_get_State(This,aState)	\
    ( (This)->lpVtbl -> get_State(This,aState) ) 

#define ICloudMachine_get_ConsoleConnectionFingerprint(This,aConsoleConnectionFingerprint)	\
    ( (This)->lpVtbl -> get_ConsoleConnectionFingerprint(This,aConsoleConnectionFingerprint) ) 

#define ICloudMachine_get_SerialConsoleCommand(This,aSerialConsoleCommand)	\
    ( (This)->lpVtbl -> get_SerialConsoleCommand(This,aSerialConsoleCommand) ) 

#define ICloudMachine_get_SerialConsoleCommandWindows(This,aSerialConsoleCommandWindows)	\
    ( (This)->lpVtbl -> get_SerialConsoleCommandWindows(This,aSerialConsoleCommandWindows) ) 

#define ICloudMachine_get_VNCConsoleCommand(This,aVNCConsoleCommand)	\
    ( (This)->lpVtbl -> get_VNCConsoleCommand(This,aVNCConsoleCommand) ) 

#define ICloudMachine_get_VNCConsoleCommandWindows(This,aVNCConsoleCommandWindows)	\
    ( (This)->lpVtbl -> get_VNCConsoleCommandWindows(This,aVNCConsoleCommandWindows) ) 

#define ICloudMachine_get_InternalAndReservedAttribute1ICloudMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ICloudMachine(This,aReserved) ) 

#define ICloudMachine_get_InternalAndReservedAttribute2ICloudMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ICloudMachine(This,aReserved) ) 

#define ICloudMachine_get_InternalAndReservedAttribute3ICloudMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ICloudMachine(This,aReserved) ) 

#define ICloudMachine_get_InternalAndReservedAttribute4ICloudMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ICloudMachine(This,aReserved) ) 

#define ICloudMachine_get_InternalAndReservedAttribute5ICloudMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ICloudMachine(This,aReserved) ) 

#define ICloudMachine_get_InternalAndReservedAttribute6ICloudMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ICloudMachine(This,aReserved) ) 

#define ICloudMachine_get_InternalAndReservedAttribute7ICloudMachine(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ICloudMachine(This,aReserved) ) 

#define ICloudMachine_Refresh(This,aProgress)	\
    ( (This)->lpVtbl -> Refresh(This,aProgress) ) 

#define ICloudMachine_GetDetailsForm(This,aForm)	\
    ( (This)->lpVtbl -> GetDetailsForm(This,aForm) ) 

#define ICloudMachine_GetSettingsForm(This,aForm,aProgress)	\
    ( (This)->lpVtbl -> GetSettingsForm(This,aForm,aProgress) ) 

#define ICloudMachine_PowerUp(This,aProgress)	\
    ( (This)->lpVtbl -> PowerUp(This,aProgress) ) 

#define ICloudMachine_Reboot(This,aProgress)	\
    ( (This)->lpVtbl -> Reboot(This,aProgress) ) 

#define ICloudMachine_Reset(This,aProgress)	\
    ( (This)->lpVtbl -> Reset(This,aProgress) ) 

#define ICloudMachine_Shutdown(This,aProgress)	\
    ( (This)->lpVtbl -> Shutdown(This,aProgress) ) 

#define ICloudMachine_PowerDown(This,aProgress)	\
    ( (This)->lpVtbl -> PowerDown(This,aProgress) ) 

#define ICloudMachine_Terminate(This,aProgress)	\
    ( (This)->lpVtbl -> Terminate(This,aProgress) ) 

#define ICloudMachine_Unregister(This,aProgress)	\
    ( (This)->lpVtbl -> Unregister(This,aProgress) ) 

#define ICloudMachine_Remove(This,aProgress)	\
    ( (This)->lpVtbl -> Remove(This,aProgress) ) 

#define ICloudMachine_GetConsoleHistory(This,aStream,aProgress)	\
    ( (This)->lpVtbl -> GetConsoleHistory(This,aStream,aProgress) ) 

#define ICloudMachine_CreateConsoleConnection(This,aSshPublicKey,aProgress)	\
    ( (This)->lpVtbl -> CreateConsoleConnection(This,aSshPublicKey,aProgress) ) 

#define ICloudMachine_DeleteConsoleConnection(This,aProgress)	\
    ( (This)->lpVtbl -> DeleteConsoleConnection(This,aProgress) ) 

#define ICloudMachine_ListMetricNames(This,aMetricNames,aProgress)	\
    ( (This)->lpVtbl -> ListMetricNames(This,aMetricNames,aProgress) ) 

#define ICloudMachine_EnumerateMetricData(This,aMetricType,aPointsNumber,aValues,aTimestamps,aUnit,aProgress)	\
    ( (This)->lpVtbl -> EnumerateMetricData(This,aMetricType,aPointsNumber,aValues,aTimestamps,aUnit,aProgress) ) 

#define ICloudMachine_InternalAndReservedMethod1ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod2ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod3ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod4ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod5ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod6ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod7ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod8ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod9ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod9ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod10ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod10ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod11ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod11ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod12ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod12ICloudMachine(This) ) 

#define ICloudMachine_InternalAndReservedMethod13ICloudMachine(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod13ICloudMachine(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudMachine_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0228 */
/* [local] */ 

#define COM_FORWARD_ICloudMachine_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_ICloudMachine_GETTER_Id_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_Id_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_Id_TO (base::)
#define COM_FORWARD_ICloudMachine_GETTER_CloudId_TO(smth) HRESULT STDMETHODCALLTYPE get_CloudId (BSTR * aCloudId) { return smth get_CloudId (aCloudId); }
#define COM_FORWARD_ICloudMachine_GETTER_CloudId_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_CloudId_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_CloudId_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_CloudId_TO (base::)
#define COM_FORWARD_ICloudMachine_GETTER_Accessible_TO(smth) HRESULT STDMETHODCALLTYPE get_Accessible (BOOL * aAccessible) { return smth get_Accessible (aAccessible); }
#define COM_FORWARD_ICloudMachine_GETTER_Accessible_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_Accessible_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_Accessible_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_Accessible_TO (base::)
#define COM_FORWARD_ICloudMachine_GETTER_AccessError_TO(smth) HRESULT STDMETHODCALLTYPE get_AccessError (IVirtualBoxErrorInfo * * aAccessError) { return smth get_AccessError (aAccessError); }
#define COM_FORWARD_ICloudMachine_GETTER_AccessError_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_AccessError_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_AccessError_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_AccessError_TO (base::)
#define COM_FORWARD_ICloudMachine_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_ICloudMachine_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_Name_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_Name_TO (base::)
#define COM_FORWARD_ICloudMachine_GETTER_OSTypeId_TO(smth) HRESULT STDMETHODCALLTYPE get_OSTypeId (BSTR * aOSTypeId) { return smth get_OSTypeId (aOSTypeId); }
#define COM_FORWARD_ICloudMachine_GETTER_OSTypeId_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_OSTypeId_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_OSTypeId_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_OSTypeId_TO (base::)
#define COM_FORWARD_ICloudMachine_GETTER_State_TO(smth) HRESULT STDMETHODCALLTYPE get_State (CloudMachineState * aState) { return smth get_State (aState); }
#define COM_FORWARD_ICloudMachine_GETTER_State_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_State_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_State_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_State_TO (base::)
#define COM_FORWARD_ICloudMachine_GETTER_ConsoleConnectionFingerprint_TO(smth) HRESULT STDMETHODCALLTYPE get_ConsoleConnectionFingerprint (BSTR * aConsoleConnectionFingerprint) { return smth get_ConsoleConnectionFingerprint (aConsoleConnectionFingerprint); }
#define COM_FORWARD_ICloudMachine_GETTER_ConsoleConnectionFingerprint_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_ConsoleConnectionFingerprint_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_ConsoleConnectionFingerprint_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_ConsoleConnectionFingerprint_TO (base::)
#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommand_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialConsoleCommand (BSTR * aSerialConsoleCommand) { return smth get_SerialConsoleCommand (aSerialConsoleCommand); }
#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommand_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommand_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommand_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommand_TO (base::)
#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommandWindows_TO(smth) HRESULT STDMETHODCALLTYPE get_SerialConsoleCommandWindows (BSTR * aSerialConsoleCommandWindows) { return smth get_SerialConsoleCommandWindows (aSerialConsoleCommandWindows); }
#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommandWindows_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommandWindows_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommandWindows_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommandWindows_TO (base::)
#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommand_TO(smth) HRESULT STDMETHODCALLTYPE get_VNCConsoleCommand (BSTR * aVNCConsoleCommand) { return smth get_VNCConsoleCommand (aVNCConsoleCommand); }
#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommand_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommand_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommand_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommand_TO (base::)
#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommandWindows_TO(smth) HRESULT STDMETHODCALLTYPE get_VNCConsoleCommandWindows (BSTR * aVNCConsoleCommandWindows) { return smth get_VNCConsoleCommandWindows (aVNCConsoleCommandWindows); }
#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommandWindows_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommandWindows_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommandWindows_TO_BASE(base) COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommandWindows_TO (base::)
#define COM_FORWARD_ICloudMachine_Refresh_TO(smth) HRESULT STDMETHODCALLTYPE Refresh (IProgress * * aProgress) { return smth Refresh (aProgress); }
#define COM_FORWARD_ICloudMachine_Refresh_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Refresh_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_Refresh_TO_BASE(base) COM_FORWARD_ICloudMachine_Refresh_TO (base::)
#define COM_FORWARD_ICloudMachine_GetDetailsForm_TO(smth) HRESULT STDMETHODCALLTYPE GetDetailsForm (IForm * * aForm) { return smth GetDetailsForm (aForm); }
#define COM_FORWARD_ICloudMachine_GetDetailsForm_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GetDetailsForm_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GetDetailsForm_TO_BASE(base) COM_FORWARD_ICloudMachine_GetDetailsForm_TO (base::)
#define COM_FORWARD_ICloudMachine_GetSettingsForm_TO(smth) HRESULT STDMETHODCALLTYPE GetSettingsForm (IForm * * aForm, IProgress * * aProgress) { return smth GetSettingsForm (aForm, aProgress); }
#define COM_FORWARD_ICloudMachine_GetSettingsForm_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GetSettingsForm_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GetSettingsForm_TO_BASE(base) COM_FORWARD_ICloudMachine_GetSettingsForm_TO (base::)
#define COM_FORWARD_ICloudMachine_PowerUp_TO(smth) HRESULT STDMETHODCALLTYPE PowerUp (IProgress * * aProgress) { return smth PowerUp (aProgress); }
#define COM_FORWARD_ICloudMachine_PowerUp_TO_OBJ(obj) COM_FORWARD_ICloudMachine_PowerUp_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_PowerUp_TO_BASE(base) COM_FORWARD_ICloudMachine_PowerUp_TO (base::)
#define COM_FORWARD_ICloudMachine_Reboot_TO(smth) HRESULT STDMETHODCALLTYPE Reboot (IProgress * * aProgress) { return smth Reboot (aProgress); }
#define COM_FORWARD_ICloudMachine_Reboot_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Reboot_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_Reboot_TO_BASE(base) COM_FORWARD_ICloudMachine_Reboot_TO (base::)
#define COM_FORWARD_ICloudMachine_Reset_TO(smth) HRESULT STDMETHODCALLTYPE Reset (IProgress * * aProgress) { return smth Reset (aProgress); }
#define COM_FORWARD_ICloudMachine_Reset_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Reset_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_Reset_TO_BASE(base) COM_FORWARD_ICloudMachine_Reset_TO (base::)
#define COM_FORWARD_ICloudMachine_Shutdown_TO(smth) HRESULT STDMETHODCALLTYPE Shutdown (IProgress * * aProgress) { return smth Shutdown (aProgress); }
#define COM_FORWARD_ICloudMachine_Shutdown_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Shutdown_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_Shutdown_TO_BASE(base) COM_FORWARD_ICloudMachine_Shutdown_TO (base::)
#define COM_FORWARD_ICloudMachine_PowerDown_TO(smth) HRESULT STDMETHODCALLTYPE PowerDown (IProgress * * aProgress) { return smth PowerDown (aProgress); }
#define COM_FORWARD_ICloudMachine_PowerDown_TO_OBJ(obj) COM_FORWARD_ICloudMachine_PowerDown_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_PowerDown_TO_BASE(base) COM_FORWARD_ICloudMachine_PowerDown_TO (base::)
#define COM_FORWARD_ICloudMachine_Terminate_TO(smth) HRESULT STDMETHODCALLTYPE Terminate (IProgress * * aProgress) { return smth Terminate (aProgress); }
#define COM_FORWARD_ICloudMachine_Terminate_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Terminate_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_Terminate_TO_BASE(base) COM_FORWARD_ICloudMachine_Terminate_TO (base::)
#define COM_FORWARD_ICloudMachine_Unregister_TO(smth) HRESULT STDMETHODCALLTYPE Unregister (IProgress * * aProgress) { return smth Unregister (aProgress); }
#define COM_FORWARD_ICloudMachine_Unregister_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Unregister_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_Unregister_TO_BASE(base) COM_FORWARD_ICloudMachine_Unregister_TO (base::)
#define COM_FORWARD_ICloudMachine_Remove_TO(smth) HRESULT STDMETHODCALLTYPE Remove (IProgress * * aProgress) { return smth Remove (aProgress); }
#define COM_FORWARD_ICloudMachine_Remove_TO_OBJ(obj) COM_FORWARD_ICloudMachine_Remove_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_Remove_TO_BASE(base) COM_FORWARD_ICloudMachine_Remove_TO (base::)
#define COM_FORWARD_ICloudMachine_GetConsoleHistory_TO(smth) HRESULT STDMETHODCALLTYPE GetConsoleHistory (IDataStream * * aStream, IProgress * * aProgress) { return smth GetConsoleHistory (aStream, aProgress); }
#define COM_FORWARD_ICloudMachine_GetConsoleHistory_TO_OBJ(obj) COM_FORWARD_ICloudMachine_GetConsoleHistory_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_GetConsoleHistory_TO_BASE(base) COM_FORWARD_ICloudMachine_GetConsoleHistory_TO (base::)
#define COM_FORWARD_ICloudMachine_CreateConsoleConnection_TO(smth) HRESULT STDMETHODCALLTYPE CreateConsoleConnection (BSTR aSshPublicKey, IProgress * * aProgress) { return smth CreateConsoleConnection (aSshPublicKey, aProgress); }
#define COM_FORWARD_ICloudMachine_CreateConsoleConnection_TO_OBJ(obj) COM_FORWARD_ICloudMachine_CreateConsoleConnection_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_CreateConsoleConnection_TO_BASE(base) COM_FORWARD_ICloudMachine_CreateConsoleConnection_TO (base::)
#define COM_FORWARD_ICloudMachine_DeleteConsoleConnection_TO(smth) HRESULT STDMETHODCALLTYPE DeleteConsoleConnection (IProgress * * aProgress) { return smth DeleteConsoleConnection (aProgress); }
#define COM_FORWARD_ICloudMachine_DeleteConsoleConnection_TO_OBJ(obj) COM_FORWARD_ICloudMachine_DeleteConsoleConnection_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_DeleteConsoleConnection_TO_BASE(base) COM_FORWARD_ICloudMachine_DeleteConsoleConnection_TO (base::)
#define COM_FORWARD_ICloudMachine_ListMetricNames_TO(smth) HRESULT STDMETHODCALLTYPE ListMetricNames (IStringArray * * aMetricNames, IProgress * * aProgress) { return smth ListMetricNames (aMetricNames, aProgress); }
#define COM_FORWARD_ICloudMachine_ListMetricNames_TO_OBJ(obj) COM_FORWARD_ICloudMachine_ListMetricNames_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_ListMetricNames_TO_BASE(base) COM_FORWARD_ICloudMachine_ListMetricNames_TO (base::)
#define COM_FORWARD_ICloudMachine_EnumerateMetricData_TO(smth) HRESULT STDMETHODCALLTYPE EnumerateMetricData (MetricType aMetricType, ULONG aPointsNumber, IStringArray * * aValues, IStringArray * * aTimestamps, IStringArray * * aUnit, IProgress * * aProgress) { return smth EnumerateMetricData (aMetricType, aPointsNumber, aValues, aTimestamps, aUnit, aProgress); }
#define COM_FORWARD_ICloudMachine_EnumerateMetricData_TO_OBJ(obj) COM_FORWARD_ICloudMachine_EnumerateMetricData_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_EnumerateMetricData_TO_BASE(base) COM_FORWARD_ICloudMachine_EnumerateMetricData_TO (base::)
#define COM_FORWARD_ICloudMachine_TO(smth) COM_FORWARD_ICloudMachine_GETTER_Id_TO (smth) COM_FORWARD_ICloudMachine_GETTER_CloudId_TO (smth) COM_FORWARD_ICloudMachine_GETTER_Accessible_TO (smth) COM_FORWARD_ICloudMachine_GETTER_AccessError_TO (smth) COM_FORWARD_ICloudMachine_GETTER_Name_TO (smth) COM_FORWARD_ICloudMachine_GETTER_OSTypeId_TO (smth) COM_FORWARD_ICloudMachine_GETTER_State_TO (smth) COM_FORWARD_ICloudMachine_GETTER_ConsoleConnectionFingerprint_TO (smth) COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommand_TO (smth) COM_FORWARD_ICloudMachine_GETTER_SerialConsoleCommandWindows_TO (smth) COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommand_TO (smth) COM_FORWARD_ICloudMachine_GETTER_VNCConsoleCommandWindows_TO (smth) COM_FORWARD_ICloudMachine_Refresh_TO (smth) COM_FORWARD_ICloudMachine_GetDetailsForm_TO (smth) COM_FORWARD_ICloudMachine_GetSettingsForm_TO (smth) COM_FORWARD_ICloudMachine_PowerUp_TO (smth) COM_FORWARD_ICloudMachine_Reboot_TO (smth) COM_FORWARD_ICloudMachine_Reset_TO (smth) COM_FORWARD_ICloudMachine_Shutdown_TO (smth) COM_FORWARD_ICloudMachine_PowerDown_TO (smth) COM_FORWARD_ICloudMachine_Terminate_TO (smth) COM_FORWARD_ICloudMachine_Unregister_TO (smth) COM_FORWARD_ICloudMachine_Remove_TO (smth) COM_FORWARD_ICloudMachine_GetConsoleHistory_TO (smth) COM_FORWARD_ICloudMachine_CreateConsoleConnection_TO (smth) COM_FORWARD_ICloudMachine_DeleteConsoleConnection_TO (smth) COM_FORWARD_ICloudMachine_ListMetricNames_TO (smth) COM_FORWARD_ICloudMachine_EnumerateMetricData_TO (smth) 
#define COM_FORWARD_ICloudMachine_TO_OBJ(obj) COM_FORWARD_ICloudMachine_TO ((obj)->)
#define COM_FORWARD_ICloudMachine_TO_BASE(base) COM_FORWARD_ICloudMachine_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0228_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0228_v0_0_s_ifspec;

#ifndef __ICloudClient_INTERFACE_DEFINED__
#define __ICloudClient_INTERFACE_DEFINED__

/* interface ICloudClient */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudClient;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c2db178a-7485-11ec-aec4-2fbf90681a84")
    ICloudClient : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CloudMachineList( 
            /* [retval][out] */ SAFEARRAY * *aCloudMachineList) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CloudMachineStubList( 
            /* [retval][out] */ SAFEARRAY * *aCloudMachineStubList) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ICloudClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ICloudClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ICloudClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ICloudClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ICloudClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ICloudClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ICloudClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ICloudClient( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetExportDescriptionForm( 
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [out] */ IVirtualSystemDescriptionForm **aForm,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ExportVM( 
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [in] */ IProgress *aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetLaunchDescriptionForm( 
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [out] */ IVirtualSystemDescriptionForm **aForm,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LaunchVM( 
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetImportDescriptionForm( 
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [out] */ IVirtualSystemDescriptionForm **aForm,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportInstance( 
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [in] */ IProgress *aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCloudMachine( 
            /* [in] */ BSTR aId,
            /* [retval][out] */ ICloudMachine **aMachine) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReadCloudMachineList( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReadCloudMachineStubList( 
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddCloudMachine( 
            /* [in] */ BSTR aInstanceId,
            /* [out] */ ICloudMachine **aMachine,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateCloudMachine( 
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [out] */ ICloudMachine **aMachine,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ListInstances( 
            /* [in] */ SAFEARRAY * aMachineState,
            /* [out] */ IStringArray **aReturnNames,
            /* [out] */ IStringArray **aReturnIds,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ListSourceInstances( 
            /* [out] */ IStringArray **aReturnNames,
            /* [out] */ IStringArray **aReturnIds,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ListImages( 
            /* [in] */ SAFEARRAY * aImageState,
            /* [out] */ IStringArray **aReturnNames,
            /* [out] */ IStringArray **aReturnIds,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ListBootVolumes( 
            /* [out] */ IStringArray **aReturnNames,
            /* [out] */ IStringArray **aReturnIds,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ListSourceBootVolumes( 
            /* [out] */ IStringArray **aReturnNames,
            /* [out] */ IStringArray **aReturnIds,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ListVnicAttachments( 
            /* [in] */ SAFEARRAY * aParameters,
            /* [out] */ IStringArray **aReturnVnicAttachmentIds,
            /* [out] */ IStringArray **aReturnVnicIds,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetInstanceInfo( 
            /* [in] */ BSTR aUid,
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE StartInstance( 
            /* [in] */ BSTR aUid,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PauseInstance( 
            /* [in] */ BSTR aUid,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TerminateInstance( 
            /* [in] */ BSTR aUid,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ResetInstance( 
            /* [in] */ BSTR aUid,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CloneInstance( 
            /* [in] */ BSTR aUid,
            /* [in] */ BSTR aNewName,
            /* [out] */ ICloudMachine **aClone,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateImage( 
            /* [in] */ SAFEARRAY * aParameters,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ExportImage( 
            /* [in] */ IMedium *aImage,
            /* [in] */ SAFEARRAY * aParameters,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportImage( 
            /* [in] */ BSTR aUid,
            /* [in] */ SAFEARRAY * aParameters,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteImage( 
            /* [in] */ BSTR aUid,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetImageInfo( 
            /* [in] */ BSTR aUid,
            /* [out] */ IStringArray **aInfoArray,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE StartCloudNetworkGateway( 
            /* [in] */ ICloudNetwork *aNetwork,
            /* [in] */ BSTR aSshPublicKey,
            /* [out] */ ICloudNetworkGatewayInfo **aGatewayInfo,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetupCloudNetworkEnvironment( 
            /* [in] */ BSTR aTunnelNetworkName,
            /* [in] */ BSTR aTunnelNetworkRange,
            /* [in] */ BSTR aGatewayOsName,
            /* [in] */ BSTR aGatewayOsVersion,
            /* [in] */ BSTR aGatewayShape,
            /* [out] */ ICloudNetworkEnvironmentInfo **aNetworkEnvironmentInfo,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVnicInfo( 
            /* [in] */ BSTR aUid,
            /* [out] */ IStringArray **aInfoArray,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSubnetSelectionForm( 
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [out] */ IVirtualSystemDescriptionForm **aForm,
            /* [retval][out] */ IProgress **aProgress) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMetricTypeByName( 
            /* [in] */ BSTR aMetricName,
            /* [retval][out] */ MetricType *aMetricType) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod9ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod10ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod11ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod12ICloudClient( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod13ICloudClient( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudClientVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudClient * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudClient * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudClient * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudClient * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudClient * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ICloudClient, get_CloudMachineList)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CloudMachineList )( 
            ICloudClient * This,
            /* [retval][out] */ SAFEARRAY * *aCloudMachineList);
        
        DECLSPEC_XFGVIRT(ICloudClient, get_CloudMachineStubList)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CloudMachineStubList )( 
            ICloudClient * This,
            /* [retval][out] */ SAFEARRAY * *aCloudMachineStubList);
        
        DECLSPEC_XFGVIRT(ICloudClient, get_InternalAndReservedAttribute1ICloudClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ICloudClient )( 
            ICloudClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudClient, get_InternalAndReservedAttribute2ICloudClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ICloudClient )( 
            ICloudClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudClient, get_InternalAndReservedAttribute3ICloudClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ICloudClient )( 
            ICloudClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudClient, get_InternalAndReservedAttribute4ICloudClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ICloudClient )( 
            ICloudClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudClient, get_InternalAndReservedAttribute5ICloudClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ICloudClient )( 
            ICloudClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudClient, get_InternalAndReservedAttribute6ICloudClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ICloudClient )( 
            ICloudClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudClient, get_InternalAndReservedAttribute7ICloudClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ICloudClient )( 
            ICloudClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudClient, get_InternalAndReservedAttribute8ICloudClient)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ICloudClient )( 
            ICloudClient * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudClient, GetExportDescriptionForm)
        HRESULT ( STDMETHODCALLTYPE *GetExportDescriptionForm )( 
            ICloudClient * This,
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [out] */ IVirtualSystemDescriptionForm **aForm,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ExportVM)
        HRESULT ( STDMETHODCALLTYPE *ExportVM )( 
            ICloudClient * This,
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [in] */ IProgress *aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, GetLaunchDescriptionForm)
        HRESULT ( STDMETHODCALLTYPE *GetLaunchDescriptionForm )( 
            ICloudClient * This,
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [out] */ IVirtualSystemDescriptionForm **aForm,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, LaunchVM)
        HRESULT ( STDMETHODCALLTYPE *LaunchVM )( 
            ICloudClient * This,
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, GetImportDescriptionForm)
        HRESULT ( STDMETHODCALLTYPE *GetImportDescriptionForm )( 
            ICloudClient * This,
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [out] */ IVirtualSystemDescriptionForm **aForm,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ImportInstance)
        HRESULT ( STDMETHODCALLTYPE *ImportInstance )( 
            ICloudClient * This,
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [in] */ IProgress *aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, GetCloudMachine)
        HRESULT ( STDMETHODCALLTYPE *GetCloudMachine )( 
            ICloudClient * This,
            /* [in] */ BSTR aId,
            /* [retval][out] */ ICloudMachine **aMachine);
        
        DECLSPEC_XFGVIRT(ICloudClient, ReadCloudMachineList)
        HRESULT ( STDMETHODCALLTYPE *ReadCloudMachineList )( 
            ICloudClient * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ReadCloudMachineStubList)
        HRESULT ( STDMETHODCALLTYPE *ReadCloudMachineStubList )( 
            ICloudClient * This,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, AddCloudMachine)
        HRESULT ( STDMETHODCALLTYPE *AddCloudMachine )( 
            ICloudClient * This,
            /* [in] */ BSTR aInstanceId,
            /* [out] */ ICloudMachine **aMachine,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, CreateCloudMachine)
        HRESULT ( STDMETHODCALLTYPE *CreateCloudMachine )( 
            ICloudClient * This,
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [out] */ ICloudMachine **aMachine,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ListInstances)
        HRESULT ( STDMETHODCALLTYPE *ListInstances )( 
            ICloudClient * This,
            /* [in] */ SAFEARRAY * aMachineState,
            /* [out] */ IStringArray **aReturnNames,
            /* [out] */ IStringArray **aReturnIds,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ListSourceInstances)
        HRESULT ( STDMETHODCALLTYPE *ListSourceInstances )( 
            ICloudClient * This,
            /* [out] */ IStringArray **aReturnNames,
            /* [out] */ IStringArray **aReturnIds,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ListImages)
        HRESULT ( STDMETHODCALLTYPE *ListImages )( 
            ICloudClient * This,
            /* [in] */ SAFEARRAY * aImageState,
            /* [out] */ IStringArray **aReturnNames,
            /* [out] */ IStringArray **aReturnIds,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ListBootVolumes)
        HRESULT ( STDMETHODCALLTYPE *ListBootVolumes )( 
            ICloudClient * This,
            /* [out] */ IStringArray **aReturnNames,
            /* [out] */ IStringArray **aReturnIds,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ListSourceBootVolumes)
        HRESULT ( STDMETHODCALLTYPE *ListSourceBootVolumes )( 
            ICloudClient * This,
            /* [out] */ IStringArray **aReturnNames,
            /* [out] */ IStringArray **aReturnIds,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ListVnicAttachments)
        HRESULT ( STDMETHODCALLTYPE *ListVnicAttachments )( 
            ICloudClient * This,
            /* [in] */ SAFEARRAY * aParameters,
            /* [out] */ IStringArray **aReturnVnicAttachmentIds,
            /* [out] */ IStringArray **aReturnVnicIds,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, GetInstanceInfo)
        HRESULT ( STDMETHODCALLTYPE *GetInstanceInfo )( 
            ICloudClient * This,
            /* [in] */ BSTR aUid,
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, StartInstance)
        HRESULT ( STDMETHODCALLTYPE *StartInstance )( 
            ICloudClient * This,
            /* [in] */ BSTR aUid,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, PauseInstance)
        HRESULT ( STDMETHODCALLTYPE *PauseInstance )( 
            ICloudClient * This,
            /* [in] */ BSTR aUid,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, TerminateInstance)
        HRESULT ( STDMETHODCALLTYPE *TerminateInstance )( 
            ICloudClient * This,
            /* [in] */ BSTR aUid,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ResetInstance)
        HRESULT ( STDMETHODCALLTYPE *ResetInstance )( 
            ICloudClient * This,
            /* [in] */ BSTR aUid,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, CloneInstance)
        HRESULT ( STDMETHODCALLTYPE *CloneInstance )( 
            ICloudClient * This,
            /* [in] */ BSTR aUid,
            /* [in] */ BSTR aNewName,
            /* [out] */ ICloudMachine **aClone,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, CreateImage)
        HRESULT ( STDMETHODCALLTYPE *CreateImage )( 
            ICloudClient * This,
            /* [in] */ SAFEARRAY * aParameters,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ExportImage)
        HRESULT ( STDMETHODCALLTYPE *ExportImage )( 
            ICloudClient * This,
            /* [in] */ IMedium *aImage,
            /* [in] */ SAFEARRAY * aParameters,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, ImportImage)
        HRESULT ( STDMETHODCALLTYPE *ImportImage )( 
            ICloudClient * This,
            /* [in] */ BSTR aUid,
            /* [in] */ SAFEARRAY * aParameters,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, DeleteImage)
        HRESULT ( STDMETHODCALLTYPE *DeleteImage )( 
            ICloudClient * This,
            /* [in] */ BSTR aUid,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, GetImageInfo)
        HRESULT ( STDMETHODCALLTYPE *GetImageInfo )( 
            ICloudClient * This,
            /* [in] */ BSTR aUid,
            /* [out] */ IStringArray **aInfoArray,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, StartCloudNetworkGateway)
        HRESULT ( STDMETHODCALLTYPE *StartCloudNetworkGateway )( 
            ICloudClient * This,
            /* [in] */ ICloudNetwork *aNetwork,
            /* [in] */ BSTR aSshPublicKey,
            /* [out] */ ICloudNetworkGatewayInfo **aGatewayInfo,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, SetupCloudNetworkEnvironment)
        HRESULT ( STDMETHODCALLTYPE *SetupCloudNetworkEnvironment )( 
            ICloudClient * This,
            /* [in] */ BSTR aTunnelNetworkName,
            /* [in] */ BSTR aTunnelNetworkRange,
            /* [in] */ BSTR aGatewayOsName,
            /* [in] */ BSTR aGatewayOsVersion,
            /* [in] */ BSTR aGatewayShape,
            /* [out] */ ICloudNetworkEnvironmentInfo **aNetworkEnvironmentInfo,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, GetVnicInfo)
        HRESULT ( STDMETHODCALLTYPE *GetVnicInfo )( 
            ICloudClient * This,
            /* [in] */ BSTR aUid,
            /* [out] */ IStringArray **aInfoArray,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, GetSubnetSelectionForm)
        HRESULT ( STDMETHODCALLTYPE *GetSubnetSelectionForm )( 
            ICloudClient * This,
            /* [in] */ IVirtualSystemDescription *aDescription,
            /* [out] */ IVirtualSystemDescriptionForm **aForm,
            /* [retval][out] */ IProgress **aProgress);
        
        DECLSPEC_XFGVIRT(ICloudClient, GetMetricTypeByName)
        HRESULT ( STDMETHODCALLTYPE *GetMetricTypeByName )( 
            ICloudClient * This,
            /* [in] */ BSTR aMetricName,
            /* [retval][out] */ MetricType *aMetricType);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod1ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod2ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod3ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod4ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod5ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod6ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod7ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod8ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod9ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod9ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod10ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod10ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod11ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod11ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod12ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod12ICloudClient )( 
            ICloudClient * This);
        
        DECLSPEC_XFGVIRT(ICloudClient, InternalAndReservedMethod13ICloudClient)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod13ICloudClient )( 
            ICloudClient * This);
        
        END_INTERFACE
    } ICloudClientVtbl;

    interface ICloudClient
    {
        CONST_VTBL struct ICloudClientVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudClient_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudClient_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudClient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudClient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudClient_get_CloudMachineList(This,aCloudMachineList)	\
    ( (This)->lpVtbl -> get_CloudMachineList(This,aCloudMachineList) ) 

#define ICloudClient_get_CloudMachineStubList(This,aCloudMachineStubList)	\
    ( (This)->lpVtbl -> get_CloudMachineStubList(This,aCloudMachineStubList) ) 

#define ICloudClient_get_InternalAndReservedAttribute1ICloudClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ICloudClient(This,aReserved) ) 

#define ICloudClient_get_InternalAndReservedAttribute2ICloudClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ICloudClient(This,aReserved) ) 

#define ICloudClient_get_InternalAndReservedAttribute3ICloudClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ICloudClient(This,aReserved) ) 

#define ICloudClient_get_InternalAndReservedAttribute4ICloudClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ICloudClient(This,aReserved) ) 

#define ICloudClient_get_InternalAndReservedAttribute5ICloudClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ICloudClient(This,aReserved) ) 

#define ICloudClient_get_InternalAndReservedAttribute6ICloudClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ICloudClient(This,aReserved) ) 

#define ICloudClient_get_InternalAndReservedAttribute7ICloudClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ICloudClient(This,aReserved) ) 

#define ICloudClient_get_InternalAndReservedAttribute8ICloudClient(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ICloudClient(This,aReserved) ) 

#define ICloudClient_GetExportDescriptionForm(This,aDescription,aForm,aProgress)	\
    ( (This)->lpVtbl -> GetExportDescriptionForm(This,aDescription,aForm,aProgress) ) 

#define ICloudClient_ExportVM(This,aDescription,aProgress)	\
    ( (This)->lpVtbl -> ExportVM(This,aDescription,aProgress) ) 

#define ICloudClient_GetLaunchDescriptionForm(This,aDescription,aForm,aProgress)	\
    ( (This)->lpVtbl -> GetLaunchDescriptionForm(This,aDescription,aForm,aProgress) ) 

#define ICloudClient_LaunchVM(This,aDescription,aProgress)	\
    ( (This)->lpVtbl -> LaunchVM(This,aDescription,aProgress) ) 

#define ICloudClient_GetImportDescriptionForm(This,aDescription,aForm,aProgress)	\
    ( (This)->lpVtbl -> GetImportDescriptionForm(This,aDescription,aForm,aProgress) ) 

#define ICloudClient_ImportInstance(This,aDescription,aProgress)	\
    ( (This)->lpVtbl -> ImportInstance(This,aDescription,aProgress) ) 

#define ICloudClient_GetCloudMachine(This,aId,aMachine)	\
    ( (This)->lpVtbl -> GetCloudMachine(This,aId,aMachine) ) 

#define ICloudClient_ReadCloudMachineList(This,aProgress)	\
    ( (This)->lpVtbl -> ReadCloudMachineList(This,aProgress) ) 

#define ICloudClient_ReadCloudMachineStubList(This,aProgress)	\
    ( (This)->lpVtbl -> ReadCloudMachineStubList(This,aProgress) ) 

#define ICloudClient_AddCloudMachine(This,aInstanceId,aMachine,aProgress)	\
    ( (This)->lpVtbl -> AddCloudMachine(This,aInstanceId,aMachine,aProgress) ) 

#define ICloudClient_CreateCloudMachine(This,aDescription,aMachine,aProgress)	\
    ( (This)->lpVtbl -> CreateCloudMachine(This,aDescription,aMachine,aProgress) ) 

#define ICloudClient_ListInstances(This,aMachineState,aReturnNames,aReturnIds,aProgress)	\
    ( (This)->lpVtbl -> ListInstances(This,aMachineState,aReturnNames,aReturnIds,aProgress) ) 

#define ICloudClient_ListSourceInstances(This,aReturnNames,aReturnIds,aProgress)	\
    ( (This)->lpVtbl -> ListSourceInstances(This,aReturnNames,aReturnIds,aProgress) ) 

#define ICloudClient_ListImages(This,aImageState,aReturnNames,aReturnIds,aProgress)	\
    ( (This)->lpVtbl -> ListImages(This,aImageState,aReturnNames,aReturnIds,aProgress) ) 

#define ICloudClient_ListBootVolumes(This,aReturnNames,aReturnIds,aProgress)	\
    ( (This)->lpVtbl -> ListBootVolumes(This,aReturnNames,aReturnIds,aProgress) ) 

#define ICloudClient_ListSourceBootVolumes(This,aReturnNames,aReturnIds,aProgress)	\
    ( (This)->lpVtbl -> ListSourceBootVolumes(This,aReturnNames,aReturnIds,aProgress) ) 

#define ICloudClient_ListVnicAttachments(This,aParameters,aReturnVnicAttachmentIds,aReturnVnicIds,aProgress)	\
    ( (This)->lpVtbl -> ListVnicAttachments(This,aParameters,aReturnVnicAttachmentIds,aReturnVnicIds,aProgress) ) 

#define ICloudClient_GetInstanceInfo(This,aUid,aDescription,aProgress)	\
    ( (This)->lpVtbl -> GetInstanceInfo(This,aUid,aDescription,aProgress) ) 

#define ICloudClient_StartInstance(This,aUid,aProgress)	\
    ( (This)->lpVtbl -> StartInstance(This,aUid,aProgress) ) 

#define ICloudClient_PauseInstance(This,aUid,aProgress)	\
    ( (This)->lpVtbl -> PauseInstance(This,aUid,aProgress) ) 

#define ICloudClient_TerminateInstance(This,aUid,aProgress)	\
    ( (This)->lpVtbl -> TerminateInstance(This,aUid,aProgress) ) 

#define ICloudClient_ResetInstance(This,aUid,aProgress)	\
    ( (This)->lpVtbl -> ResetInstance(This,aUid,aProgress) ) 

#define ICloudClient_CloneInstance(This,aUid,aNewName,aClone,aProgress)	\
    ( (This)->lpVtbl -> CloneInstance(This,aUid,aNewName,aClone,aProgress) ) 

#define ICloudClient_CreateImage(This,aParameters,aProgress)	\
    ( (This)->lpVtbl -> CreateImage(This,aParameters,aProgress) ) 

#define ICloudClient_ExportImage(This,aImage,aParameters,aProgress)	\
    ( (This)->lpVtbl -> ExportImage(This,aImage,aParameters,aProgress) ) 

#define ICloudClient_ImportImage(This,aUid,aParameters,aProgress)	\
    ( (This)->lpVtbl -> ImportImage(This,aUid,aParameters,aProgress) ) 

#define ICloudClient_DeleteImage(This,aUid,aProgress)	\
    ( (This)->lpVtbl -> DeleteImage(This,aUid,aProgress) ) 

#define ICloudClient_GetImageInfo(This,aUid,aInfoArray,aProgress)	\
    ( (This)->lpVtbl -> GetImageInfo(This,aUid,aInfoArray,aProgress) ) 

#define ICloudClient_StartCloudNetworkGateway(This,aNetwork,aSshPublicKey,aGatewayInfo,aProgress)	\
    ( (This)->lpVtbl -> StartCloudNetworkGateway(This,aNetwork,aSshPublicKey,aGatewayInfo,aProgress) ) 

#define ICloudClient_SetupCloudNetworkEnvironment(This,aTunnelNetworkName,aTunnelNetworkRange,aGatewayOsName,aGatewayOsVersion,aGatewayShape,aNetworkEnvironmentInfo,aProgress)	\
    ( (This)->lpVtbl -> SetupCloudNetworkEnvironment(This,aTunnelNetworkName,aTunnelNetworkRange,aGatewayOsName,aGatewayOsVersion,aGatewayShape,aNetworkEnvironmentInfo,aProgress) ) 

#define ICloudClient_GetVnicInfo(This,aUid,aInfoArray,aProgress)	\
    ( (This)->lpVtbl -> GetVnicInfo(This,aUid,aInfoArray,aProgress) ) 

#define ICloudClient_GetSubnetSelectionForm(This,aDescription,aForm,aProgress)	\
    ( (This)->lpVtbl -> GetSubnetSelectionForm(This,aDescription,aForm,aProgress) ) 

#define ICloudClient_GetMetricTypeByName(This,aMetricName,aMetricType)	\
    ( (This)->lpVtbl -> GetMetricTypeByName(This,aMetricName,aMetricType) ) 

#define ICloudClient_InternalAndReservedMethod1ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod2ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod3ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod4ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod5ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod6ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod7ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod8ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod9ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod9ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod10ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod10ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod11ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod11ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod12ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod12ICloudClient(This) ) 

#define ICloudClient_InternalAndReservedMethod13ICloudClient(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod13ICloudClient(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudClient_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0229 */
/* [local] */ 

#define COM_FORWARD_ICloudClient_GETTER_CloudMachineList_TO(smth) HRESULT STDMETHODCALLTYPE get_CloudMachineList (SAFEARRAY * * aCloudMachineList) { return smth get_CloudMachineList (aCloudMachineList); }
#define COM_FORWARD_ICloudClient_GETTER_CloudMachineList_TO_OBJ(obj) COM_FORWARD_ICloudClient_GETTER_CloudMachineList_TO ((obj)->)
#define COM_FORWARD_ICloudClient_GETTER_CloudMachineList_TO_BASE(base) COM_FORWARD_ICloudClient_GETTER_CloudMachineList_TO (base::)
#define COM_FORWARD_ICloudClient_GETTER_CloudMachineStubList_TO(smth) HRESULT STDMETHODCALLTYPE get_CloudMachineStubList (SAFEARRAY * * aCloudMachineStubList) { return smth get_CloudMachineStubList (aCloudMachineStubList); }
#define COM_FORWARD_ICloudClient_GETTER_CloudMachineStubList_TO_OBJ(obj) COM_FORWARD_ICloudClient_GETTER_CloudMachineStubList_TO ((obj)->)
#define COM_FORWARD_ICloudClient_GETTER_CloudMachineStubList_TO_BASE(base) COM_FORWARD_ICloudClient_GETTER_CloudMachineStubList_TO (base::)
#define COM_FORWARD_ICloudClient_GetExportDescriptionForm_TO(smth) HRESULT STDMETHODCALLTYPE GetExportDescriptionForm (IVirtualSystemDescription * aDescription, IVirtualSystemDescriptionForm * * aForm, IProgress * * aProgress) { return smth GetExportDescriptionForm (aDescription, aForm, aProgress); }
#define COM_FORWARD_ICloudClient_GetExportDescriptionForm_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetExportDescriptionForm_TO ((obj)->)
#define COM_FORWARD_ICloudClient_GetExportDescriptionForm_TO_BASE(base) COM_FORWARD_ICloudClient_GetExportDescriptionForm_TO (base::)
#define COM_FORWARD_ICloudClient_ExportVM_TO(smth) HRESULT STDMETHODCALLTYPE ExportVM (IVirtualSystemDescription * aDescription, IProgress * aProgress) { return smth ExportVM (aDescription, aProgress); }
#define COM_FORWARD_ICloudClient_ExportVM_TO_OBJ(obj) COM_FORWARD_ICloudClient_ExportVM_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ExportVM_TO_BASE(base) COM_FORWARD_ICloudClient_ExportVM_TO (base::)
#define COM_FORWARD_ICloudClient_GetLaunchDescriptionForm_TO(smth) HRESULT STDMETHODCALLTYPE GetLaunchDescriptionForm (IVirtualSystemDescription * aDescription, IVirtualSystemDescriptionForm * * aForm, IProgress * * aProgress) { return smth GetLaunchDescriptionForm (aDescription, aForm, aProgress); }
#define COM_FORWARD_ICloudClient_GetLaunchDescriptionForm_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetLaunchDescriptionForm_TO ((obj)->)
#define COM_FORWARD_ICloudClient_GetLaunchDescriptionForm_TO_BASE(base) COM_FORWARD_ICloudClient_GetLaunchDescriptionForm_TO (base::)
#define COM_FORWARD_ICloudClient_LaunchVM_TO(smth) HRESULT STDMETHODCALLTYPE LaunchVM (IVirtualSystemDescription * aDescription, IProgress * * aProgress) { return smth LaunchVM (aDescription, aProgress); }
#define COM_FORWARD_ICloudClient_LaunchVM_TO_OBJ(obj) COM_FORWARD_ICloudClient_LaunchVM_TO ((obj)->)
#define COM_FORWARD_ICloudClient_LaunchVM_TO_BASE(base) COM_FORWARD_ICloudClient_LaunchVM_TO (base::)
#define COM_FORWARD_ICloudClient_GetImportDescriptionForm_TO(smth) HRESULT STDMETHODCALLTYPE GetImportDescriptionForm (IVirtualSystemDescription * aDescription, IVirtualSystemDescriptionForm * * aForm, IProgress * * aProgress) { return smth GetImportDescriptionForm (aDescription, aForm, aProgress); }
#define COM_FORWARD_ICloudClient_GetImportDescriptionForm_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetImportDescriptionForm_TO ((obj)->)
#define COM_FORWARD_ICloudClient_GetImportDescriptionForm_TO_BASE(base) COM_FORWARD_ICloudClient_GetImportDescriptionForm_TO (base::)
#define COM_FORWARD_ICloudClient_ImportInstance_TO(smth) HRESULT STDMETHODCALLTYPE ImportInstance (IVirtualSystemDescription * aDescription, IProgress * aProgress) { return smth ImportInstance (aDescription, aProgress); }
#define COM_FORWARD_ICloudClient_ImportInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_ImportInstance_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ImportInstance_TO_BASE(base) COM_FORWARD_ICloudClient_ImportInstance_TO (base::)
#define COM_FORWARD_ICloudClient_GetCloudMachine_TO(smth) HRESULT STDMETHODCALLTYPE GetCloudMachine (BSTR aId, ICloudMachine * * aMachine) { return smth GetCloudMachine (aId, aMachine); }
#define COM_FORWARD_ICloudClient_GetCloudMachine_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetCloudMachine_TO ((obj)->)
#define COM_FORWARD_ICloudClient_GetCloudMachine_TO_BASE(base) COM_FORWARD_ICloudClient_GetCloudMachine_TO (base::)
#define COM_FORWARD_ICloudClient_ReadCloudMachineList_TO(smth) HRESULT STDMETHODCALLTYPE ReadCloudMachineList (IProgress * * aProgress) { return smth ReadCloudMachineList (aProgress); }
#define COM_FORWARD_ICloudClient_ReadCloudMachineList_TO_OBJ(obj) COM_FORWARD_ICloudClient_ReadCloudMachineList_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ReadCloudMachineList_TO_BASE(base) COM_FORWARD_ICloudClient_ReadCloudMachineList_TO (base::)
#define COM_FORWARD_ICloudClient_ReadCloudMachineStubList_TO(smth) HRESULT STDMETHODCALLTYPE ReadCloudMachineStubList (IProgress * * aProgress) { return smth ReadCloudMachineStubList (aProgress); }
#define COM_FORWARD_ICloudClient_ReadCloudMachineStubList_TO_OBJ(obj) COM_FORWARD_ICloudClient_ReadCloudMachineStubList_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ReadCloudMachineStubList_TO_BASE(base) COM_FORWARD_ICloudClient_ReadCloudMachineStubList_TO (base::)
#define COM_FORWARD_ICloudClient_AddCloudMachine_TO(smth) HRESULT STDMETHODCALLTYPE AddCloudMachine (BSTR aInstanceId, ICloudMachine * * aMachine, IProgress * * aProgress) { return smth AddCloudMachine (aInstanceId, aMachine, aProgress); }
#define COM_FORWARD_ICloudClient_AddCloudMachine_TO_OBJ(obj) COM_FORWARD_ICloudClient_AddCloudMachine_TO ((obj)->)
#define COM_FORWARD_ICloudClient_AddCloudMachine_TO_BASE(base) COM_FORWARD_ICloudClient_AddCloudMachine_TO (base::)
#define COM_FORWARD_ICloudClient_CreateCloudMachine_TO(smth) HRESULT STDMETHODCALLTYPE CreateCloudMachine (IVirtualSystemDescription * aDescription, ICloudMachine * * aMachine, IProgress * * aProgress) { return smth CreateCloudMachine (aDescription, aMachine, aProgress); }
#define COM_FORWARD_ICloudClient_CreateCloudMachine_TO_OBJ(obj) COM_FORWARD_ICloudClient_CreateCloudMachine_TO ((obj)->)
#define COM_FORWARD_ICloudClient_CreateCloudMachine_TO_BASE(base) COM_FORWARD_ICloudClient_CreateCloudMachine_TO (base::)
#define COM_FORWARD_ICloudClient_ListInstances_TO(smth) HRESULT STDMETHODCALLTYPE ListInstances (SAFEARRAY * * aMachineState, IStringArray * * aReturnNames, IStringArray * * aReturnIds, IProgress * * aProgress) { return smth ListInstances (aMachineState, aReturnNames, aReturnIds, aProgress); }
#define COM_FORWARD_ICloudClient_ListInstances_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListInstances_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ListInstances_TO_BASE(base) COM_FORWARD_ICloudClient_ListInstances_TO (base::)
#define COM_FORWARD_ICloudClient_ListSourceInstances_TO(smth) HRESULT STDMETHODCALLTYPE ListSourceInstances (IStringArray * * aReturnNames, IStringArray * * aReturnIds, IProgress * * aProgress) { return smth ListSourceInstances (aReturnNames, aReturnIds, aProgress); }
#define COM_FORWARD_ICloudClient_ListSourceInstances_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListSourceInstances_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ListSourceInstances_TO_BASE(base) COM_FORWARD_ICloudClient_ListSourceInstances_TO (base::)
#define COM_FORWARD_ICloudClient_ListImages_TO(smth) HRESULT STDMETHODCALLTYPE ListImages (SAFEARRAY * * aImageState, IStringArray * * aReturnNames, IStringArray * * aReturnIds, IProgress * * aProgress) { return smth ListImages (aImageState, aReturnNames, aReturnIds, aProgress); }
#define COM_FORWARD_ICloudClient_ListImages_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListImages_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ListImages_TO_BASE(base) COM_FORWARD_ICloudClient_ListImages_TO (base::)
#define COM_FORWARD_ICloudClient_ListBootVolumes_TO(smth) HRESULT STDMETHODCALLTYPE ListBootVolumes (IStringArray * * aReturnNames, IStringArray * * aReturnIds, IProgress * * aProgress) { return smth ListBootVolumes (aReturnNames, aReturnIds, aProgress); }
#define COM_FORWARD_ICloudClient_ListBootVolumes_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListBootVolumes_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ListBootVolumes_TO_BASE(base) COM_FORWARD_ICloudClient_ListBootVolumes_TO (base::)
#define COM_FORWARD_ICloudClient_ListSourceBootVolumes_TO(smth) HRESULT STDMETHODCALLTYPE ListSourceBootVolumes (IStringArray * * aReturnNames, IStringArray * * aReturnIds, IProgress * * aProgress) { return smth ListSourceBootVolumes (aReturnNames, aReturnIds, aProgress); }
#define COM_FORWARD_ICloudClient_ListSourceBootVolumes_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListSourceBootVolumes_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ListSourceBootVolumes_TO_BASE(base) COM_FORWARD_ICloudClient_ListSourceBootVolumes_TO (base::)
#define COM_FORWARD_ICloudClient_ListVnicAttachments_TO(smth) HRESULT STDMETHODCALLTYPE ListVnicAttachments (SAFEARRAY * * aParameters, IStringArray * * aReturnVnicAttachmentIds, IStringArray * * aReturnVnicIds, IProgress * * aProgress) { return smth ListVnicAttachments (aParameters, aReturnVnicAttachmentIds, aReturnVnicIds, aProgress); }
#define COM_FORWARD_ICloudClient_ListVnicAttachments_TO_OBJ(obj) COM_FORWARD_ICloudClient_ListVnicAttachments_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ListVnicAttachments_TO_BASE(base) COM_FORWARD_ICloudClient_ListVnicAttachments_TO (base::)
#define COM_FORWARD_ICloudClient_GetInstanceInfo_TO(smth) HRESULT STDMETHODCALLTYPE GetInstanceInfo (BSTR aUid, IVirtualSystemDescription * aDescription, IProgress * * aProgress) { return smth GetInstanceInfo (aUid, aDescription, aProgress); }
#define COM_FORWARD_ICloudClient_GetInstanceInfo_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetInstanceInfo_TO ((obj)->)
#define COM_FORWARD_ICloudClient_GetInstanceInfo_TO_BASE(base) COM_FORWARD_ICloudClient_GetInstanceInfo_TO (base::)
#define COM_FORWARD_ICloudClient_StartInstance_TO(smth) HRESULT STDMETHODCALLTYPE StartInstance (BSTR aUid, IProgress * * aProgress) { return smth StartInstance (aUid, aProgress); }
#define COM_FORWARD_ICloudClient_StartInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_StartInstance_TO ((obj)->)
#define COM_FORWARD_ICloudClient_StartInstance_TO_BASE(base) COM_FORWARD_ICloudClient_StartInstance_TO (base::)
#define COM_FORWARD_ICloudClient_PauseInstance_TO(smth) HRESULT STDMETHODCALLTYPE PauseInstance (BSTR aUid, IProgress * * aProgress) { return smth PauseInstance (aUid, aProgress); }
#define COM_FORWARD_ICloudClient_PauseInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_PauseInstance_TO ((obj)->)
#define COM_FORWARD_ICloudClient_PauseInstance_TO_BASE(base) COM_FORWARD_ICloudClient_PauseInstance_TO (base::)
#define COM_FORWARD_ICloudClient_TerminateInstance_TO(smth) HRESULT STDMETHODCALLTYPE TerminateInstance (BSTR aUid, IProgress * * aProgress) { return smth TerminateInstance (aUid, aProgress); }
#define COM_FORWARD_ICloudClient_TerminateInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_TerminateInstance_TO ((obj)->)
#define COM_FORWARD_ICloudClient_TerminateInstance_TO_BASE(base) COM_FORWARD_ICloudClient_TerminateInstance_TO (base::)
#define COM_FORWARD_ICloudClient_ResetInstance_TO(smth) HRESULT STDMETHODCALLTYPE ResetInstance (BSTR aUid, IProgress * * aProgress) { return smth ResetInstance (aUid, aProgress); }
#define COM_FORWARD_ICloudClient_ResetInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_ResetInstance_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ResetInstance_TO_BASE(base) COM_FORWARD_ICloudClient_ResetInstance_TO (base::)
#define COM_FORWARD_ICloudClient_CloneInstance_TO(smth) HRESULT STDMETHODCALLTYPE CloneInstance (BSTR aUid, BSTR aNewName, ICloudMachine * * aClone, IProgress * * aProgress) { return smth CloneInstance (aUid, aNewName, aClone, aProgress); }
#define COM_FORWARD_ICloudClient_CloneInstance_TO_OBJ(obj) COM_FORWARD_ICloudClient_CloneInstance_TO ((obj)->)
#define COM_FORWARD_ICloudClient_CloneInstance_TO_BASE(base) COM_FORWARD_ICloudClient_CloneInstance_TO (base::)
#define COM_FORWARD_ICloudClient_CreateImage_TO(smth) HRESULT STDMETHODCALLTYPE CreateImage (SAFEARRAY * * aParameters, IProgress * * aProgress) { return smth CreateImage (aParameters, aProgress); }
#define COM_FORWARD_ICloudClient_CreateImage_TO_OBJ(obj) COM_FORWARD_ICloudClient_CreateImage_TO ((obj)->)
#define COM_FORWARD_ICloudClient_CreateImage_TO_BASE(base) COM_FORWARD_ICloudClient_CreateImage_TO (base::)
#define COM_FORWARD_ICloudClient_ExportImage_TO(smth) HRESULT STDMETHODCALLTYPE ExportImage (IMedium * aImage, SAFEARRAY * * aParameters, IProgress * * aProgress) { return smth ExportImage (aImage, aParameters, aProgress); }
#define COM_FORWARD_ICloudClient_ExportImage_TO_OBJ(obj) COM_FORWARD_ICloudClient_ExportImage_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ExportImage_TO_BASE(base) COM_FORWARD_ICloudClient_ExportImage_TO (base::)
#define COM_FORWARD_ICloudClient_ImportImage_TO(smth) HRESULT STDMETHODCALLTYPE ImportImage (BSTR aUid, SAFEARRAY * * aParameters, IProgress * * aProgress) { return smth ImportImage (aUid, aParameters, aProgress); }
#define COM_FORWARD_ICloudClient_ImportImage_TO_OBJ(obj) COM_FORWARD_ICloudClient_ImportImage_TO ((obj)->)
#define COM_FORWARD_ICloudClient_ImportImage_TO_BASE(base) COM_FORWARD_ICloudClient_ImportImage_TO (base::)
#define COM_FORWARD_ICloudClient_DeleteImage_TO(smth) HRESULT STDMETHODCALLTYPE DeleteImage (BSTR aUid, IProgress * * aProgress) { return smth DeleteImage (aUid, aProgress); }
#define COM_FORWARD_ICloudClient_DeleteImage_TO_OBJ(obj) COM_FORWARD_ICloudClient_DeleteImage_TO ((obj)->)
#define COM_FORWARD_ICloudClient_DeleteImage_TO_BASE(base) COM_FORWARD_ICloudClient_DeleteImage_TO (base::)
#define COM_FORWARD_ICloudClient_GetImageInfo_TO(smth) HRESULT STDMETHODCALLTYPE GetImageInfo (BSTR aUid, IStringArray * * aInfoArray, IProgress * * aProgress) { return smth GetImageInfo (aUid, aInfoArray, aProgress); }
#define COM_FORWARD_ICloudClient_GetImageInfo_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetImageInfo_TO ((obj)->)
#define COM_FORWARD_ICloudClient_GetImageInfo_TO_BASE(base) COM_FORWARD_ICloudClient_GetImageInfo_TO (base::)
#define COM_FORWARD_ICloudClient_StartCloudNetworkGateway_TO(smth) HRESULT STDMETHODCALLTYPE StartCloudNetworkGateway (ICloudNetwork * aNetwork, BSTR aSshPublicKey, ICloudNetworkGatewayInfo * * aGatewayInfo, IProgress * * aProgress) { return smth StartCloudNetworkGateway (aNetwork, aSshPublicKey, aGatewayInfo, aProgress); }
#define COM_FORWARD_ICloudClient_StartCloudNetworkGateway_TO_OBJ(obj) COM_FORWARD_ICloudClient_StartCloudNetworkGateway_TO ((obj)->)
#define COM_FORWARD_ICloudClient_StartCloudNetworkGateway_TO_BASE(base) COM_FORWARD_ICloudClient_StartCloudNetworkGateway_TO (base::)
#define COM_FORWARD_ICloudClient_SetupCloudNetworkEnvironment_TO(smth) HRESULT STDMETHODCALLTYPE SetupCloudNetworkEnvironment (BSTR aTunnelNetworkName, BSTR aTunnelNetworkRange, BSTR aGatewayOsName, BSTR aGatewayOsVersion, BSTR aGatewayShape, ICloudNetworkEnvironmentInfo * * aNetworkEnvironmentInfo, IProgress * * aProgress) { return smth SetupCloudNetworkEnvironment (aTunnelNetworkName, aTunnelNetworkRange, aGatewayOsName, aGatewayOsVersion, aGatewayShape, aNetworkEnvironmentInfo, aProgress); }
#define COM_FORWARD_ICloudClient_SetupCloudNetworkEnvironment_TO_OBJ(obj) COM_FORWARD_ICloudClient_SetupCloudNetworkEnvironment_TO ((obj)->)
#define COM_FORWARD_ICloudClient_SetupCloudNetworkEnvironment_TO_BASE(base) COM_FORWARD_ICloudClient_SetupCloudNetworkEnvironment_TO (base::)
#define COM_FORWARD_ICloudClient_GetVnicInfo_TO(smth) HRESULT STDMETHODCALLTYPE GetVnicInfo (BSTR aUid, IStringArray * * aInfoArray, IProgress * * aProgress) { return smth GetVnicInfo (aUid, aInfoArray, aProgress); }
#define COM_FORWARD_ICloudClient_GetVnicInfo_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetVnicInfo_TO ((obj)->)
#define COM_FORWARD_ICloudClient_GetVnicInfo_TO_BASE(base) COM_FORWARD_ICloudClient_GetVnicInfo_TO (base::)
#define COM_FORWARD_ICloudClient_GetSubnetSelectionForm_TO(smth) HRESULT STDMETHODCALLTYPE GetSubnetSelectionForm (IVirtualSystemDescription * aDescription, IVirtualSystemDescriptionForm * * aForm, IProgress * * aProgress) { return smth GetSubnetSelectionForm (aDescription, aForm, aProgress); }
#define COM_FORWARD_ICloudClient_GetSubnetSelectionForm_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetSubnetSelectionForm_TO ((obj)->)
#define COM_FORWARD_ICloudClient_GetSubnetSelectionForm_TO_BASE(base) COM_FORWARD_ICloudClient_GetSubnetSelectionForm_TO (base::)
#define COM_FORWARD_ICloudClient_GetMetricTypeByName_TO(smth) HRESULT STDMETHODCALLTYPE GetMetricTypeByName (BSTR aMetricName, MetricType * aMetricType) { return smth GetMetricTypeByName (aMetricName, aMetricType); }
#define COM_FORWARD_ICloudClient_GetMetricTypeByName_TO_OBJ(obj) COM_FORWARD_ICloudClient_GetMetricTypeByName_TO ((obj)->)
#define COM_FORWARD_ICloudClient_GetMetricTypeByName_TO_BASE(base) COM_FORWARD_ICloudClient_GetMetricTypeByName_TO (base::)
#define COM_FORWARD_ICloudClient_TO(smth) COM_FORWARD_ICloudClient_GETTER_CloudMachineList_TO (smth) COM_FORWARD_ICloudClient_GETTER_CloudMachineStubList_TO (smth) COM_FORWARD_ICloudClient_GetExportDescriptionForm_TO (smth) COM_FORWARD_ICloudClient_ExportVM_TO (smth) COM_FORWARD_ICloudClient_GetLaunchDescriptionForm_TO (smth) COM_FORWARD_ICloudClient_LaunchVM_TO (smth) COM_FORWARD_ICloudClient_GetImportDescriptionForm_TO (smth) COM_FORWARD_ICloudClient_ImportInstance_TO (smth) COM_FORWARD_ICloudClient_GetCloudMachine_TO (smth) COM_FORWARD_ICloudClient_ReadCloudMachineList_TO (smth) COM_FORWARD_ICloudClient_ReadCloudMachineStubList_TO (smth) COM_FORWARD_ICloudClient_AddCloudMachine_TO (smth) COM_FORWARD_ICloudClient_CreateCloudMachine_TO (smth) COM_FORWARD_ICloudClient_ListInstances_TO (smth) COM_FORWARD_ICloudClient_ListSourceInstances_TO (smth) COM_FORWARD_ICloudClient_ListImages_TO (smth) COM_FORWARD_ICloudClient_ListBootVolumes_TO (smth) COM_FORWARD_ICloudClient_ListSourceBootVolumes_TO (smth) COM_FORWARD_ICloudClient_ListVnicAttachments_TO (smth) COM_FORWARD_ICloudClient_GetInstanceInfo_TO (smth) COM_FORWARD_ICloudClient_StartInstance_TO (smth) COM_FORWARD_ICloudClient_PauseInstance_TO (smth) COM_FORWARD_ICloudClient_TerminateInstance_TO (smth) COM_FORWARD_ICloudClient_ResetInstance_TO (smth) COM_FORWARD_ICloudClient_CloneInstance_TO (smth) COM_FORWARD_ICloudClient_CreateImage_TO (smth) COM_FORWARD_ICloudClient_ExportImage_TO (smth) COM_FORWARD_ICloudClient_ImportImage_TO (smth) COM_FORWARD_ICloudClient_DeleteImage_TO (smth) COM_FORWARD_ICloudClient_GetImageInfo_TO (smth) COM_FORWARD_ICloudClient_StartCloudNetworkGateway_TO (smth) COM_FORWARD_ICloudClient_SetupCloudNetworkEnvironment_TO (smth) COM_FORWARD_ICloudClient_GetVnicInfo_TO (smth) COM_FORWARD_ICloudClient_GetSubnetSelectionForm_TO (smth) COM_FORWARD_ICloudClient_GetMetricTypeByName_TO (smth) 
#define COM_FORWARD_ICloudClient_TO_OBJ(obj) COM_FORWARD_ICloudClient_TO ((obj)->)
#define COM_FORWARD_ICloudClient_TO_BASE(base) COM_FORWARD_ICloudClient_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0229_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0229_v0_0_s_ifspec;

#ifndef __ICloudProfile_INTERFACE_DEFINED__
#define __ICloudProfile_INTERFACE_DEFINED__

/* interface ICloudProfile */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudProfile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b1d978b8-f7b7-4b05-900e-2a9253c00f51")
    ICloudProfile : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderId( 
            /* [retval][out] */ BSTR *aProviderId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ICloudProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ICloudProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ICloudProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ICloudProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ICloudProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ICloudProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ICloudProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ICloudProfile( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProperty( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetProperty( 
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProperties( 
            /* [in] */ BSTR aNames,
            /* [out] */ SAFEARRAY * *aReturnNames,
            /* [retval][out] */ SAFEARRAY * *aReturnValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetProperties( 
            /* [in] */ SAFEARRAY * aNames,
            /* [in] */ SAFEARRAY * aValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Remove( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateCloudClient( 
            /* [retval][out] */ ICloudClient **aCloudClient) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ICloudProfile( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ICloudProfile( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3ICloudProfile( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4ICloudProfile( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudProfileVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudProfile * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudProfile * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudProfile * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudProfile * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudProfile * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudProfile * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudProfile * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ICloudProfile, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICloudProfile * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(ICloudProfile, put_Name)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            ICloudProfile * This,
            /* [in] */ BSTR aName);
        
        DECLSPEC_XFGVIRT(ICloudProfile, get_ProviderId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderId )( 
            ICloudProfile * This,
            /* [retval][out] */ BSTR *aProviderId);
        
        DECLSPEC_XFGVIRT(ICloudProfile, get_InternalAndReservedAttribute1ICloudProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ICloudProfile )( 
            ICloudProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProfile, get_InternalAndReservedAttribute2ICloudProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ICloudProfile )( 
            ICloudProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProfile, get_InternalAndReservedAttribute3ICloudProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ICloudProfile )( 
            ICloudProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProfile, get_InternalAndReservedAttribute4ICloudProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ICloudProfile )( 
            ICloudProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProfile, get_InternalAndReservedAttribute5ICloudProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ICloudProfile )( 
            ICloudProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProfile, get_InternalAndReservedAttribute6ICloudProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ICloudProfile )( 
            ICloudProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProfile, get_InternalAndReservedAttribute7ICloudProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ICloudProfile )( 
            ICloudProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProfile, get_InternalAndReservedAttribute8ICloudProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ICloudProfile )( 
            ICloudProfile * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProfile, GetProperty)
        HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
            ICloudProfile * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aValue);
        
        DECLSPEC_XFGVIRT(ICloudProfile, SetProperty)
        HRESULT ( STDMETHODCALLTYPE *SetProperty )( 
            ICloudProfile * This,
            /* [in] */ BSTR aName,
            /* [in] */ BSTR aValue);
        
        DECLSPEC_XFGVIRT(ICloudProfile, GetProperties)
        HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
            ICloudProfile * This,
            /* [in] */ BSTR aNames,
            /* [out] */ SAFEARRAY * *aReturnNames,
            /* [retval][out] */ SAFEARRAY * *aReturnValues);
        
        DECLSPEC_XFGVIRT(ICloudProfile, SetProperties)
        HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
            ICloudProfile * This,
            /* [in] */ SAFEARRAY * aNames,
            /* [in] */ SAFEARRAY * aValues);
        
        DECLSPEC_XFGVIRT(ICloudProfile, Remove)
        HRESULT ( STDMETHODCALLTYPE *Remove )( 
            ICloudProfile * This);
        
        DECLSPEC_XFGVIRT(ICloudProfile, CreateCloudClient)
        HRESULT ( STDMETHODCALLTYPE *CreateCloudClient )( 
            ICloudProfile * This,
            /* [retval][out] */ ICloudClient **aCloudClient);
        
        DECLSPEC_XFGVIRT(ICloudProfile, InternalAndReservedMethod1ICloudProfile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ICloudProfile )( 
            ICloudProfile * This);
        
        DECLSPEC_XFGVIRT(ICloudProfile, InternalAndReservedMethod2ICloudProfile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ICloudProfile )( 
            ICloudProfile * This);
        
        DECLSPEC_XFGVIRT(ICloudProfile, InternalAndReservedMethod3ICloudProfile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3ICloudProfile )( 
            ICloudProfile * This);
        
        DECLSPEC_XFGVIRT(ICloudProfile, InternalAndReservedMethod4ICloudProfile)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4ICloudProfile )( 
            ICloudProfile * This);
        
        END_INTERFACE
    } ICloudProfileVtbl;

    interface ICloudProfile
    {
        CONST_VTBL struct ICloudProfileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudProfile_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudProfile_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudProfile_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudProfile_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudProfile_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define ICloudProfile_put_Name(This,aName)	\
    ( (This)->lpVtbl -> put_Name(This,aName) ) 

#define ICloudProfile_get_ProviderId(This,aProviderId)	\
    ( (This)->lpVtbl -> get_ProviderId(This,aProviderId) ) 

#define ICloudProfile_get_InternalAndReservedAttribute1ICloudProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ICloudProfile(This,aReserved) ) 

#define ICloudProfile_get_InternalAndReservedAttribute2ICloudProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ICloudProfile(This,aReserved) ) 

#define ICloudProfile_get_InternalAndReservedAttribute3ICloudProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ICloudProfile(This,aReserved) ) 

#define ICloudProfile_get_InternalAndReservedAttribute4ICloudProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ICloudProfile(This,aReserved) ) 

#define ICloudProfile_get_InternalAndReservedAttribute5ICloudProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ICloudProfile(This,aReserved) ) 

#define ICloudProfile_get_InternalAndReservedAttribute6ICloudProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ICloudProfile(This,aReserved) ) 

#define ICloudProfile_get_InternalAndReservedAttribute7ICloudProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ICloudProfile(This,aReserved) ) 

#define ICloudProfile_get_InternalAndReservedAttribute8ICloudProfile(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ICloudProfile(This,aReserved) ) 

#define ICloudProfile_GetProperty(This,aName,aValue)	\
    ( (This)->lpVtbl -> GetProperty(This,aName,aValue) ) 

#define ICloudProfile_SetProperty(This,aName,aValue)	\
    ( (This)->lpVtbl -> SetProperty(This,aName,aValue) ) 

#define ICloudProfile_GetProperties(This,aNames,aReturnNames,aReturnValues)	\
    ( (This)->lpVtbl -> GetProperties(This,aNames,aReturnNames,aReturnValues) ) 

#define ICloudProfile_SetProperties(This,aNames,aValues)	\
    ( (This)->lpVtbl -> SetProperties(This,aNames,aValues) ) 

#define ICloudProfile_Remove(This)	\
    ( (This)->lpVtbl -> Remove(This) ) 

#define ICloudProfile_CreateCloudClient(This,aCloudClient)	\
    ( (This)->lpVtbl -> CreateCloudClient(This,aCloudClient) ) 

#define ICloudProfile_InternalAndReservedMethod1ICloudProfile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ICloudProfile(This) ) 

#define ICloudProfile_InternalAndReservedMethod2ICloudProfile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ICloudProfile(This) ) 

#define ICloudProfile_InternalAndReservedMethod3ICloudProfile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3ICloudProfile(This) ) 

#define ICloudProfile_InternalAndReservedMethod4ICloudProfile(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4ICloudProfile(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudProfile_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0230 */
/* [local] */ 

#define COM_FORWARD_ICloudProfile_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_ICloudProfile_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudProfile_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_ICloudProfile_GETTER_Name_TO_BASE(base) COM_FORWARD_ICloudProfile_GETTER_Name_TO (base::)
#define COM_FORWARD_ICloudProfile_SETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE put_Name (BSTR aName) { return smth put_Name (aName); }
#define COM_FORWARD_ICloudProfile_SETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudProfile_SETTER_Name_TO ((obj)->)
#define COM_FORWARD_ICloudProfile_SETTER_Name_TO_BASE(base) COM_FORWARD_ICloudProfile_SETTER_Name_TO (base::)
#define COM_FORWARD_ICloudProfile_GETTER_ProviderId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProviderId (BSTR * aProviderId) { return smth get_ProviderId (aProviderId); }
#define COM_FORWARD_ICloudProfile_GETTER_ProviderId_TO_OBJ(obj) COM_FORWARD_ICloudProfile_GETTER_ProviderId_TO ((obj)->)
#define COM_FORWARD_ICloudProfile_GETTER_ProviderId_TO_BASE(base) COM_FORWARD_ICloudProfile_GETTER_ProviderId_TO (base::)
#define COM_FORWARD_ICloudProfile_GetProperty_TO(smth) HRESULT STDMETHODCALLTYPE GetProperty (BSTR aName, BSTR * aValue) { return smth GetProperty (aName, aValue); }
#define COM_FORWARD_ICloudProfile_GetProperty_TO_OBJ(obj) COM_FORWARD_ICloudProfile_GetProperty_TO ((obj)->)
#define COM_FORWARD_ICloudProfile_GetProperty_TO_BASE(base) COM_FORWARD_ICloudProfile_GetProperty_TO (base::)
#define COM_FORWARD_ICloudProfile_SetProperty_TO(smth) HRESULT STDMETHODCALLTYPE SetProperty (BSTR aName, BSTR aValue) { return smth SetProperty (aName, aValue); }
#define COM_FORWARD_ICloudProfile_SetProperty_TO_OBJ(obj) COM_FORWARD_ICloudProfile_SetProperty_TO ((obj)->)
#define COM_FORWARD_ICloudProfile_SetProperty_TO_BASE(base) COM_FORWARD_ICloudProfile_SetProperty_TO (base::)
#define COM_FORWARD_ICloudProfile_GetProperties_TO(smth) HRESULT STDMETHODCALLTYPE GetProperties (BSTR aNames, SAFEARRAY * * aReturnNames, SAFEARRAY * * aReturnValues) { return smth GetProperties (aNames, aReturnNames, aReturnValues); }
#define COM_FORWARD_ICloudProfile_GetProperties_TO_OBJ(obj) COM_FORWARD_ICloudProfile_GetProperties_TO ((obj)->)
#define COM_FORWARD_ICloudProfile_GetProperties_TO_BASE(base) COM_FORWARD_ICloudProfile_GetProperties_TO (base::)
#define COM_FORWARD_ICloudProfile_SetProperties_TO(smth) HRESULT STDMETHODCALLTYPE SetProperties (SAFEARRAY * * aNames, SAFEARRAY * * aValues) { return smth SetProperties (aNames, aValues); }
#define COM_FORWARD_ICloudProfile_SetProperties_TO_OBJ(obj) COM_FORWARD_ICloudProfile_SetProperties_TO ((obj)->)
#define COM_FORWARD_ICloudProfile_SetProperties_TO_BASE(base) COM_FORWARD_ICloudProfile_SetProperties_TO (base::)
#define COM_FORWARD_ICloudProfile_Remove_TO(smth) HRESULT STDMETHODCALLTYPE Remove() { return smth Remove(); }
#define COM_FORWARD_ICloudProfile_Remove_TO_OBJ(obj) COM_FORWARD_ICloudProfile_Remove_TO ((obj)->)
#define COM_FORWARD_ICloudProfile_Remove_TO_BASE(base) COM_FORWARD_ICloudProfile_Remove_TO (base::)
#define COM_FORWARD_ICloudProfile_CreateCloudClient_TO(smth) HRESULT STDMETHODCALLTYPE CreateCloudClient (ICloudClient * * aCloudClient) { return smth CreateCloudClient (aCloudClient); }
#define COM_FORWARD_ICloudProfile_CreateCloudClient_TO_OBJ(obj) COM_FORWARD_ICloudProfile_CreateCloudClient_TO ((obj)->)
#define COM_FORWARD_ICloudProfile_CreateCloudClient_TO_BASE(base) COM_FORWARD_ICloudProfile_CreateCloudClient_TO (base::)
#define COM_FORWARD_ICloudProfile_TO(smth) COM_FORWARD_ICloudProfile_GETTER_Name_TO (smth) COM_FORWARD_ICloudProfile_SETTER_Name_TO (smth) COM_FORWARD_ICloudProfile_GETTER_ProviderId_TO (smth) COM_FORWARD_ICloudProfile_GetProperty_TO (smth) COM_FORWARD_ICloudProfile_SetProperty_TO (smth) COM_FORWARD_ICloudProfile_GetProperties_TO (smth) COM_FORWARD_ICloudProfile_SetProperties_TO (smth) COM_FORWARD_ICloudProfile_Remove_TO (smth) COM_FORWARD_ICloudProfile_CreateCloudClient_TO (smth) 
#define COM_FORWARD_ICloudProfile_TO_OBJ(obj) COM_FORWARD_ICloudProfile_TO ((obj)->)
#define COM_FORWARD_ICloudProfile_TO_BASE(base) COM_FORWARD_ICloudProfile_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0230_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0230_v0_0_s_ifspec;

#ifndef __ICloudProvider_INTERFACE_DEFINED__
#define __ICloudProvider_INTERFACE_DEFINED__

/* interface ICloudProvider */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudProvider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("22363cfc-07da-41ec-ac4a-3dd99db35594")
    ICloudProvider : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShortName( 
            /* [retval][out] */ BSTR *aShortName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Profiles( 
            /* [retval][out] */ SAFEARRAY * *aProfiles) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProfileNames( 
            /* [retval][out] */ SAFEARRAY * *aProfileNames) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SupportedPropertyNames( 
            /* [retval][out] */ SAFEARRAY * *aSupportedPropertyNames) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute9ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute10ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute11ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute12ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute13ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute14ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute15ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute16ICloudProvider( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPropertyDescription( 
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aDescription) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateProfile( 
            /* [in] */ BSTR aProfileName,
            /* [in] */ SAFEARRAY * aNames,
            /* [in] */ SAFEARRAY * aValues) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportProfiles( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RestoreProfiles( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SaveProfiles( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProfileByName( 
            /* [in] */ BSTR aProfileName,
            /* [retval][out] */ ICloudProfile **aProfile) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PrepareUninstall( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ICloudProvider( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ICloudProvider( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3ICloudProvider( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4ICloudProvider( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod5ICloudProvider( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod6ICloudProvider( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod7ICloudProvider( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod8ICloudProvider( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudProviderVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudProvider * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudProvider * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudProvider * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudProvider * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudProvider * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICloudProvider * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_ShortName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShortName )( 
            ICloudProvider * This,
            /* [retval][out] */ BSTR *aShortName);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            ICloudProvider * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_Profiles)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profiles )( 
            ICloudProvider * This,
            /* [retval][out] */ SAFEARRAY * *aProfiles);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_ProfileNames)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileNames )( 
            ICloudProvider * This,
            /* [retval][out] */ SAFEARRAY * *aProfileNames);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_SupportedPropertyNames)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedPropertyNames )( 
            ICloudProvider * This,
            /* [retval][out] */ SAFEARRAY * *aSupportedPropertyNames);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute1ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute2ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute3ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute4ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute5ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute6ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute7ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute8ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute9ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute9ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute10ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute10ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute11ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute11ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute12ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute12ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute13ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute13ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute14ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute14ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute15ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute15ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, get_InternalAndReservedAttribute16ICloudProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute16ICloudProvider )( 
            ICloudProvider * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProvider, GetPropertyDescription)
        HRESULT ( STDMETHODCALLTYPE *GetPropertyDescription )( 
            ICloudProvider * This,
            /* [in] */ BSTR aName,
            /* [retval][out] */ BSTR *aDescription);
        
        DECLSPEC_XFGVIRT(ICloudProvider, CreateProfile)
        HRESULT ( STDMETHODCALLTYPE *CreateProfile )( 
            ICloudProvider * This,
            /* [in] */ BSTR aProfileName,
            /* [in] */ SAFEARRAY * aNames,
            /* [in] */ SAFEARRAY * aValues);
        
        DECLSPEC_XFGVIRT(ICloudProvider, ImportProfiles)
        HRESULT ( STDMETHODCALLTYPE *ImportProfiles )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(ICloudProvider, RestoreProfiles)
        HRESULT ( STDMETHODCALLTYPE *RestoreProfiles )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(ICloudProvider, SaveProfiles)
        HRESULT ( STDMETHODCALLTYPE *SaveProfiles )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(ICloudProvider, GetProfileByName)
        HRESULT ( STDMETHODCALLTYPE *GetProfileByName )( 
            ICloudProvider * This,
            /* [in] */ BSTR aProfileName,
            /* [retval][out] */ ICloudProfile **aProfile);
        
        DECLSPEC_XFGVIRT(ICloudProvider, PrepareUninstall)
        HRESULT ( STDMETHODCALLTYPE *PrepareUninstall )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(ICloudProvider, InternalAndReservedMethod1ICloudProvider)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ICloudProvider )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(ICloudProvider, InternalAndReservedMethod2ICloudProvider)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ICloudProvider )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(ICloudProvider, InternalAndReservedMethod3ICloudProvider)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3ICloudProvider )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(ICloudProvider, InternalAndReservedMethod4ICloudProvider)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4ICloudProvider )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(ICloudProvider, InternalAndReservedMethod5ICloudProvider)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod5ICloudProvider )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(ICloudProvider, InternalAndReservedMethod6ICloudProvider)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod6ICloudProvider )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(ICloudProvider, InternalAndReservedMethod7ICloudProvider)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod7ICloudProvider )( 
            ICloudProvider * This);
        
        DECLSPEC_XFGVIRT(ICloudProvider, InternalAndReservedMethod8ICloudProvider)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod8ICloudProvider )( 
            ICloudProvider * This);
        
        END_INTERFACE
    } ICloudProviderVtbl;

    interface ICloudProvider
    {
        CONST_VTBL struct ICloudProviderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudProvider_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudProvider_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudProvider_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudProvider_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudProvider_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define ICloudProvider_get_ShortName(This,aShortName)	\
    ( (This)->lpVtbl -> get_ShortName(This,aShortName) ) 

#define ICloudProvider_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define ICloudProvider_get_Profiles(This,aProfiles)	\
    ( (This)->lpVtbl -> get_Profiles(This,aProfiles) ) 

#define ICloudProvider_get_ProfileNames(This,aProfileNames)	\
    ( (This)->lpVtbl -> get_ProfileNames(This,aProfileNames) ) 

#define ICloudProvider_get_SupportedPropertyNames(This,aSupportedPropertyNames)	\
    ( (This)->lpVtbl -> get_SupportedPropertyNames(This,aSupportedPropertyNames) ) 

#define ICloudProvider_get_InternalAndReservedAttribute1ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute2ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute3ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute4ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute5ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute6ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute7ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute8ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute9ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute9ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute10ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute10ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute11ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute11ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute12ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute12ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute13ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute13ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute14ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute14ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute15ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute15ICloudProvider(This,aReserved) ) 

#define ICloudProvider_get_InternalAndReservedAttribute16ICloudProvider(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute16ICloudProvider(This,aReserved) ) 

#define ICloudProvider_GetPropertyDescription(This,aName,aDescription)	\
    ( (This)->lpVtbl -> GetPropertyDescription(This,aName,aDescription) ) 

#define ICloudProvider_CreateProfile(This,aProfileName,aNames,aValues)	\
    ( (This)->lpVtbl -> CreateProfile(This,aProfileName,aNames,aValues) ) 

#define ICloudProvider_ImportProfiles(This)	\
    ( (This)->lpVtbl -> ImportProfiles(This) ) 

#define ICloudProvider_RestoreProfiles(This)	\
    ( (This)->lpVtbl -> RestoreProfiles(This) ) 

#define ICloudProvider_SaveProfiles(This)	\
    ( (This)->lpVtbl -> SaveProfiles(This) ) 

#define ICloudProvider_GetProfileByName(This,aProfileName,aProfile)	\
    ( (This)->lpVtbl -> GetProfileByName(This,aProfileName,aProfile) ) 

#define ICloudProvider_PrepareUninstall(This)	\
    ( (This)->lpVtbl -> PrepareUninstall(This) ) 

#define ICloudProvider_InternalAndReservedMethod1ICloudProvider(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ICloudProvider(This) ) 

#define ICloudProvider_InternalAndReservedMethod2ICloudProvider(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ICloudProvider(This) ) 

#define ICloudProvider_InternalAndReservedMethod3ICloudProvider(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3ICloudProvider(This) ) 

#define ICloudProvider_InternalAndReservedMethod4ICloudProvider(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4ICloudProvider(This) ) 

#define ICloudProvider_InternalAndReservedMethod5ICloudProvider(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod5ICloudProvider(This) ) 

#define ICloudProvider_InternalAndReservedMethod6ICloudProvider(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod6ICloudProvider(This) ) 

#define ICloudProvider_InternalAndReservedMethod7ICloudProvider(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod7ICloudProvider(This) ) 

#define ICloudProvider_InternalAndReservedMethod8ICloudProvider(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod8ICloudProvider(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudProvider_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0231 */
/* [local] */ 

#define COM_FORWARD_ICloudProvider_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_ICloudProvider_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_GETTER_Name_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_Name_TO (base::)
#define COM_FORWARD_ICloudProvider_GETTER_ShortName_TO(smth) HRESULT STDMETHODCALLTYPE get_ShortName (BSTR * aShortName) { return smth get_ShortName (aShortName); }
#define COM_FORWARD_ICloudProvider_GETTER_ShortName_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_ShortName_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_GETTER_ShortName_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_ShortName_TO (base::)
#define COM_FORWARD_ICloudProvider_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_ICloudProvider_GETTER_Id_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_GETTER_Id_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_Id_TO (base::)
#define COM_FORWARD_ICloudProvider_GETTER_Profiles_TO(smth) HRESULT STDMETHODCALLTYPE get_Profiles (SAFEARRAY * * aProfiles) { return smth get_Profiles (aProfiles); }
#define COM_FORWARD_ICloudProvider_GETTER_Profiles_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_Profiles_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_GETTER_Profiles_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_Profiles_TO (base::)
#define COM_FORWARD_ICloudProvider_GETTER_ProfileNames_TO(smth) HRESULT STDMETHODCALLTYPE get_ProfileNames (SAFEARRAY * * aProfileNames) { return smth get_ProfileNames (aProfileNames); }
#define COM_FORWARD_ICloudProvider_GETTER_ProfileNames_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_ProfileNames_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_GETTER_ProfileNames_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_ProfileNames_TO (base::)
#define COM_FORWARD_ICloudProvider_GETTER_SupportedPropertyNames_TO(smth) HRESULT STDMETHODCALLTYPE get_SupportedPropertyNames (SAFEARRAY * * aSupportedPropertyNames) { return smth get_SupportedPropertyNames (aSupportedPropertyNames); }
#define COM_FORWARD_ICloudProvider_GETTER_SupportedPropertyNames_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GETTER_SupportedPropertyNames_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_GETTER_SupportedPropertyNames_TO_BASE(base) COM_FORWARD_ICloudProvider_GETTER_SupportedPropertyNames_TO (base::)
#define COM_FORWARD_ICloudProvider_GetPropertyDescription_TO(smth) HRESULT STDMETHODCALLTYPE GetPropertyDescription (BSTR aName, BSTR * aDescription) { return smth GetPropertyDescription (aName, aDescription); }
#define COM_FORWARD_ICloudProvider_GetPropertyDescription_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GetPropertyDescription_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_GetPropertyDescription_TO_BASE(base) COM_FORWARD_ICloudProvider_GetPropertyDescription_TO (base::)
#define COM_FORWARD_ICloudProvider_CreateProfile_TO(smth) HRESULT STDMETHODCALLTYPE CreateProfile (BSTR aProfileName, SAFEARRAY * * aNames, SAFEARRAY * * aValues) { return smth CreateProfile (aProfileName, aNames, aValues); }
#define COM_FORWARD_ICloudProvider_CreateProfile_TO_OBJ(obj) COM_FORWARD_ICloudProvider_CreateProfile_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_CreateProfile_TO_BASE(base) COM_FORWARD_ICloudProvider_CreateProfile_TO (base::)
#define COM_FORWARD_ICloudProvider_ImportProfiles_TO(smth) HRESULT STDMETHODCALLTYPE ImportProfiles() { return smth ImportProfiles(); }
#define COM_FORWARD_ICloudProvider_ImportProfiles_TO_OBJ(obj) COM_FORWARD_ICloudProvider_ImportProfiles_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_ImportProfiles_TO_BASE(base) COM_FORWARD_ICloudProvider_ImportProfiles_TO (base::)
#define COM_FORWARD_ICloudProvider_RestoreProfiles_TO(smth) HRESULT STDMETHODCALLTYPE RestoreProfiles() { return smth RestoreProfiles(); }
#define COM_FORWARD_ICloudProvider_RestoreProfiles_TO_OBJ(obj) COM_FORWARD_ICloudProvider_RestoreProfiles_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_RestoreProfiles_TO_BASE(base) COM_FORWARD_ICloudProvider_RestoreProfiles_TO (base::)
#define COM_FORWARD_ICloudProvider_SaveProfiles_TO(smth) HRESULT STDMETHODCALLTYPE SaveProfiles() { return smth SaveProfiles(); }
#define COM_FORWARD_ICloudProvider_SaveProfiles_TO_OBJ(obj) COM_FORWARD_ICloudProvider_SaveProfiles_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_SaveProfiles_TO_BASE(base) COM_FORWARD_ICloudProvider_SaveProfiles_TO (base::)
#define COM_FORWARD_ICloudProvider_GetProfileByName_TO(smth) HRESULT STDMETHODCALLTYPE GetProfileByName (BSTR aProfileName, ICloudProfile * * aProfile) { return smth GetProfileByName (aProfileName, aProfile); }
#define COM_FORWARD_ICloudProvider_GetProfileByName_TO_OBJ(obj) COM_FORWARD_ICloudProvider_GetProfileByName_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_GetProfileByName_TO_BASE(base) COM_FORWARD_ICloudProvider_GetProfileByName_TO (base::)
#define COM_FORWARD_ICloudProvider_PrepareUninstall_TO(smth) HRESULT STDMETHODCALLTYPE PrepareUninstall() { return smth PrepareUninstall(); }
#define COM_FORWARD_ICloudProvider_PrepareUninstall_TO_OBJ(obj) COM_FORWARD_ICloudProvider_PrepareUninstall_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_PrepareUninstall_TO_BASE(base) COM_FORWARD_ICloudProvider_PrepareUninstall_TO (base::)
#define COM_FORWARD_ICloudProvider_TO(smth) COM_FORWARD_ICloudProvider_GETTER_Name_TO (smth) COM_FORWARD_ICloudProvider_GETTER_ShortName_TO (smth) COM_FORWARD_ICloudProvider_GETTER_Id_TO (smth) COM_FORWARD_ICloudProvider_GETTER_Profiles_TO (smth) COM_FORWARD_ICloudProvider_GETTER_ProfileNames_TO (smth) COM_FORWARD_ICloudProvider_GETTER_SupportedPropertyNames_TO (smth) COM_FORWARD_ICloudProvider_GetPropertyDescription_TO (smth) COM_FORWARD_ICloudProvider_CreateProfile_TO (smth) COM_FORWARD_ICloudProvider_ImportProfiles_TO (smth) COM_FORWARD_ICloudProvider_RestoreProfiles_TO (smth) COM_FORWARD_ICloudProvider_SaveProfiles_TO (smth) COM_FORWARD_ICloudProvider_GetProfileByName_TO (smth) COM_FORWARD_ICloudProvider_PrepareUninstall_TO (smth) 
#define COM_FORWARD_ICloudProvider_TO_OBJ(obj) COM_FORWARD_ICloudProvider_TO ((obj)->)
#define COM_FORWARD_ICloudProvider_TO_BASE(base) COM_FORWARD_ICloudProvider_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0231_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0231_v0_0_s_ifspec;

#ifndef __ICloudProviderManager_INTERFACE_DEFINED__
#define __ICloudProviderManager_INTERFACE_DEFINED__

/* interface ICloudProviderManager */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudProviderManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9128800f-762e-4120-871c-a2014234a607")
    ICloudProviderManager : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Providers( 
            /* [retval][out] */ SAFEARRAY * *aProviders) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute1ICloudProviderManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute2ICloudProviderManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute3ICloudProviderManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute4ICloudProviderManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute5ICloudProviderManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute6ICloudProviderManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute7ICloudProviderManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InternalAndReservedAttribute8ICloudProviderManager( 
            /* [retval][out] */ ULONG *aReserved) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProviderById( 
            /* [in] */ BSTR aProviderId,
            /* [retval][out] */ ICloudProvider **aProvider) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProviderByShortName( 
            /* [in] */ BSTR aProviderName,
            /* [retval][out] */ ICloudProvider **aProvider) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetProviderByName( 
            /* [in] */ BSTR aProviderName,
            /* [retval][out] */ ICloudProvider **aProvider) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod1ICloudProviderManager( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod2ICloudProviderManager( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod3ICloudProviderManager( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InternalAndReservedMethod4ICloudProviderManager( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudProviderManagerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudProviderManager * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudProviderManager * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudProviderManager * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudProviderManager * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudProviderManager * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudProviderManager * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudProviderManager * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, get_Providers)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Providers )( 
            ICloudProviderManager * This,
            /* [retval][out] */ SAFEARRAY * *aProviders);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, get_InternalAndReservedAttribute1ICloudProviderManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute1ICloudProviderManager )( 
            ICloudProviderManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, get_InternalAndReservedAttribute2ICloudProviderManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute2ICloudProviderManager )( 
            ICloudProviderManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, get_InternalAndReservedAttribute3ICloudProviderManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute3ICloudProviderManager )( 
            ICloudProviderManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, get_InternalAndReservedAttribute4ICloudProviderManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute4ICloudProviderManager )( 
            ICloudProviderManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, get_InternalAndReservedAttribute5ICloudProviderManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute5ICloudProviderManager )( 
            ICloudProviderManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, get_InternalAndReservedAttribute6ICloudProviderManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute6ICloudProviderManager )( 
            ICloudProviderManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, get_InternalAndReservedAttribute7ICloudProviderManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute7ICloudProviderManager )( 
            ICloudProviderManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, get_InternalAndReservedAttribute8ICloudProviderManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalAndReservedAttribute8ICloudProviderManager )( 
            ICloudProviderManager * This,
            /* [retval][out] */ ULONG *aReserved);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, GetProviderById)
        HRESULT ( STDMETHODCALLTYPE *GetProviderById )( 
            ICloudProviderManager * This,
            /* [in] */ BSTR aProviderId,
            /* [retval][out] */ ICloudProvider **aProvider);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, GetProviderByShortName)
        HRESULT ( STDMETHODCALLTYPE *GetProviderByShortName )( 
            ICloudProviderManager * This,
            /* [in] */ BSTR aProviderName,
            /* [retval][out] */ ICloudProvider **aProvider);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, GetProviderByName)
        HRESULT ( STDMETHODCALLTYPE *GetProviderByName )( 
            ICloudProviderManager * This,
            /* [in] */ BSTR aProviderName,
            /* [retval][out] */ ICloudProvider **aProvider);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, InternalAndReservedMethod1ICloudProviderManager)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod1ICloudProviderManager )( 
            ICloudProviderManager * This);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, InternalAndReservedMethod2ICloudProviderManager)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod2ICloudProviderManager )( 
            ICloudProviderManager * This);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, InternalAndReservedMethod3ICloudProviderManager)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod3ICloudProviderManager )( 
            ICloudProviderManager * This);
        
        DECLSPEC_XFGVIRT(ICloudProviderManager, InternalAndReservedMethod4ICloudProviderManager)
        HRESULT ( STDMETHODCALLTYPE *InternalAndReservedMethod4ICloudProviderManager )( 
            ICloudProviderManager * This);
        
        END_INTERFACE
    } ICloudProviderManagerVtbl;

    interface ICloudProviderManager
    {
        CONST_VTBL struct ICloudProviderManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudProviderManager_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudProviderManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudProviderManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudProviderManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudProviderManager_get_Providers(This,aProviders)	\
    ( (This)->lpVtbl -> get_Providers(This,aProviders) ) 

#define ICloudProviderManager_get_InternalAndReservedAttribute1ICloudProviderManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute1ICloudProviderManager(This,aReserved) ) 

#define ICloudProviderManager_get_InternalAndReservedAttribute2ICloudProviderManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute2ICloudProviderManager(This,aReserved) ) 

#define ICloudProviderManager_get_InternalAndReservedAttribute3ICloudProviderManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute3ICloudProviderManager(This,aReserved) ) 

#define ICloudProviderManager_get_InternalAndReservedAttribute4ICloudProviderManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute4ICloudProviderManager(This,aReserved) ) 

#define ICloudProviderManager_get_InternalAndReservedAttribute5ICloudProviderManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute5ICloudProviderManager(This,aReserved) ) 

#define ICloudProviderManager_get_InternalAndReservedAttribute6ICloudProviderManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute6ICloudProviderManager(This,aReserved) ) 

#define ICloudProviderManager_get_InternalAndReservedAttribute7ICloudProviderManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute7ICloudProviderManager(This,aReserved) ) 

#define ICloudProviderManager_get_InternalAndReservedAttribute8ICloudProviderManager(This,aReserved)	\
    ( (This)->lpVtbl -> get_InternalAndReservedAttribute8ICloudProviderManager(This,aReserved) ) 

#define ICloudProviderManager_GetProviderById(This,aProviderId,aProvider)	\
    ( (This)->lpVtbl -> GetProviderById(This,aProviderId,aProvider) ) 

#define ICloudProviderManager_GetProviderByShortName(This,aProviderName,aProvider)	\
    ( (This)->lpVtbl -> GetProviderByShortName(This,aProviderName,aProvider) ) 

#define ICloudProviderManager_GetProviderByName(This,aProviderName,aProvider)	\
    ( (This)->lpVtbl -> GetProviderByName(This,aProviderName,aProvider) ) 

#define ICloudProviderManager_InternalAndReservedMethod1ICloudProviderManager(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod1ICloudProviderManager(This) ) 

#define ICloudProviderManager_InternalAndReservedMethod2ICloudProviderManager(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod2ICloudProviderManager(This) ) 

#define ICloudProviderManager_InternalAndReservedMethod3ICloudProviderManager(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod3ICloudProviderManager(This) ) 

#define ICloudProviderManager_InternalAndReservedMethod4ICloudProviderManager(This)	\
    ( (This)->lpVtbl -> InternalAndReservedMethod4ICloudProviderManager(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudProviderManager_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0232 */
/* [local] */ 

#define COM_FORWARD_ICloudProviderManager_GETTER_Providers_TO(smth) HRESULT STDMETHODCALLTYPE get_Providers (SAFEARRAY * * aProviders) { return smth get_Providers (aProviders); }
#define COM_FORWARD_ICloudProviderManager_GETTER_Providers_TO_OBJ(obj) COM_FORWARD_ICloudProviderManager_GETTER_Providers_TO ((obj)->)
#define COM_FORWARD_ICloudProviderManager_GETTER_Providers_TO_BASE(base) COM_FORWARD_ICloudProviderManager_GETTER_Providers_TO (base::)
#define COM_FORWARD_ICloudProviderManager_GetProviderById_TO(smth) HRESULT STDMETHODCALLTYPE GetProviderById (BSTR aProviderId, ICloudProvider * * aProvider) { return smth GetProviderById (aProviderId, aProvider); }
#define COM_FORWARD_ICloudProviderManager_GetProviderById_TO_OBJ(obj) COM_FORWARD_ICloudProviderManager_GetProviderById_TO ((obj)->)
#define COM_FORWARD_ICloudProviderManager_GetProviderById_TO_BASE(base) COM_FORWARD_ICloudProviderManager_GetProviderById_TO (base::)
#define COM_FORWARD_ICloudProviderManager_GetProviderByShortName_TO(smth) HRESULT STDMETHODCALLTYPE GetProviderByShortName (BSTR aProviderName, ICloudProvider * * aProvider) { return smth GetProviderByShortName (aProviderName, aProvider); }
#define COM_FORWARD_ICloudProviderManager_GetProviderByShortName_TO_OBJ(obj) COM_FORWARD_ICloudProviderManager_GetProviderByShortName_TO ((obj)->)
#define COM_FORWARD_ICloudProviderManager_GetProviderByShortName_TO_BASE(base) COM_FORWARD_ICloudProviderManager_GetProviderByShortName_TO (base::)
#define COM_FORWARD_ICloudProviderManager_GetProviderByName_TO(smth) HRESULT STDMETHODCALLTYPE GetProviderByName (BSTR aProviderName, ICloudProvider * * aProvider) { return smth GetProviderByName (aProviderName, aProvider); }
#define COM_FORWARD_ICloudProviderManager_GetProviderByName_TO_OBJ(obj) COM_FORWARD_ICloudProviderManager_GetProviderByName_TO ((obj)->)
#define COM_FORWARD_ICloudProviderManager_GetProviderByName_TO_BASE(base) COM_FORWARD_ICloudProviderManager_GetProviderByName_TO (base::)
#define COM_FORWARD_ICloudProviderManager_TO(smth) COM_FORWARD_ICloudProviderManager_GETTER_Providers_TO (smth) COM_FORWARD_ICloudProviderManager_GetProviderById_TO (smth) COM_FORWARD_ICloudProviderManager_GetProviderByShortName_TO (smth) COM_FORWARD_ICloudProviderManager_GetProviderByName_TO (smth) 
#define COM_FORWARD_ICloudProviderManager_TO_OBJ(obj) COM_FORWARD_ICloudProviderManager_TO ((obj)->)
#define COM_FORWARD_ICloudProviderManager_TO_BASE(base) COM_FORWARD_ICloudProviderManager_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0232_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0232_v0_0_s_ifspec;

#ifndef __ICloudProviderListChangedEvent_INTERFACE_DEFINED__
#define __ICloudProviderListChangedEvent_INTERFACE_DEFINED__

/* interface ICloudProviderListChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudProviderListChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a54d9cca-f23f-11ea-9755-efd0f1f792d9")
    ICloudProviderListChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Registered( 
            /* [retval][out] */ BOOL *aRegistered) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudProviderListChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudProviderListChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudProviderListChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudProviderListChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudProviderListChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudProviderListChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudProviderListChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudProviderListChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICloudProviderListChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICloudProviderListChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ICloudProviderListChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ICloudProviderListChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ICloudProviderListChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ICloudProviderListChangedEvent, get_Registered)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Registered )( 
            ICloudProviderListChangedEvent * This,
            /* [retval][out] */ BOOL *aRegistered);
        
        END_INTERFACE
    } ICloudProviderListChangedEventVtbl;

    interface ICloudProviderListChangedEvent
    {
        CONST_VTBL struct ICloudProviderListChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudProviderListChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudProviderListChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudProviderListChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudProviderListChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudProviderListChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ICloudProviderListChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ICloudProviderListChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ICloudProviderListChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ICloudProviderListChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ICloudProviderListChangedEvent_get_Registered(This,aRegistered)	\
    ( (This)->lpVtbl -> get_Registered(This,aRegistered) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudProviderListChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0233 */
/* [local] */ 

#define COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }
#define COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO ((obj)->)
#define COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO (base::)
#define COM_FORWARD_ICloudProviderListChangedEvent_TO(smth) COM_FORWARD_ICloudProviderListChangedEvent_GETTER_Registered_TO (smth) 
#define COM_FORWARD_ICloudProviderListChangedEvent_TO_OBJ(obj) COM_FORWARD_ICloudProviderListChangedEvent_TO ((obj)->)
#define COM_FORWARD_ICloudProviderListChangedEvent_TO_BASE(base) COM_FORWARD_ICloudProviderListChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0233_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0233_v0_0_s_ifspec;

#ifndef __ICloudProviderRegisteredEvent_INTERFACE_DEFINED__
#define __ICloudProviderRegisteredEvent_INTERFACE_DEFINED__

/* interface ICloudProviderRegisteredEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudProviderRegisteredEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e28e227a-f231-11ea-9641-9b500c6d5365")
    ICloudProviderRegisteredEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Registered( 
            /* [retval][out] */ BOOL *aRegistered) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudProviderRegisteredEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudProviderRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudProviderRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudProviderRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudProviderRegisteredEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudProviderRegisteredEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudProviderRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudProviderRegisteredEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICloudProviderRegisteredEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICloudProviderRegisteredEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ICloudProviderRegisteredEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ICloudProviderRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ICloudProviderRegisteredEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ICloudProviderRegisteredEvent, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            ICloudProviderRegisteredEvent * This,
            /* [retval][out] */ BSTR *aId);
        
        DECLSPEC_XFGVIRT(ICloudProviderRegisteredEvent, get_Registered)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Registered )( 
            ICloudProviderRegisteredEvent * This,
            /* [retval][out] */ BOOL *aRegistered);
        
        END_INTERFACE
    } ICloudProviderRegisteredEventVtbl;

    interface ICloudProviderRegisteredEvent
    {
        CONST_VTBL struct ICloudProviderRegisteredEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudProviderRegisteredEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudProviderRegisteredEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudProviderRegisteredEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudProviderRegisteredEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudProviderRegisteredEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ICloudProviderRegisteredEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ICloudProviderRegisteredEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ICloudProviderRegisteredEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ICloudProviderRegisteredEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ICloudProviderRegisteredEvent_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#define ICloudProviderRegisteredEvent_get_Registered(This,aRegistered)	\
    ( (This)->lpVtbl -> get_Registered(This,aRegistered) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudProviderRegisteredEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0234 */
/* [local] */ 

#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO_OBJ(obj) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO_BASE(base) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO (base::)
#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }
#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO ((obj)->)
#define COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO (base::)
#define COM_FORWARD_ICloudProviderRegisteredEvent_TO(smth) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Id_TO (smth) COM_FORWARD_ICloudProviderRegisteredEvent_GETTER_Registered_TO (smth) 
#define COM_FORWARD_ICloudProviderRegisteredEvent_TO_OBJ(obj) COM_FORWARD_ICloudProviderRegisteredEvent_TO ((obj)->)
#define COM_FORWARD_ICloudProviderRegisteredEvent_TO_BASE(base) COM_FORWARD_ICloudProviderRegisteredEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0234_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0234_v0_0_s_ifspec;

#ifndef __ICloudProviderUninstallEvent_INTERFACE_DEFINED__
#define __ICloudProviderUninstallEvent_INTERFACE_DEFINED__

/* interface ICloudProviderUninstallEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudProviderUninstallEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f01f1066-f231-11ea-8eee-33bb2afb0b6e")
    ICloudProviderUninstallEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *aId) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudProviderUninstallEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudProviderUninstallEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudProviderUninstallEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudProviderUninstallEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudProviderUninstallEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudProviderUninstallEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudProviderUninstallEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudProviderUninstallEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICloudProviderUninstallEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICloudProviderUninstallEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ICloudProviderUninstallEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ICloudProviderUninstallEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ICloudProviderUninstallEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ICloudProviderUninstallEvent, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            ICloudProviderUninstallEvent * This,
            /* [retval][out] */ BSTR *aId);
        
        END_INTERFACE
    } ICloudProviderUninstallEventVtbl;

    interface ICloudProviderUninstallEvent
    {
        CONST_VTBL struct ICloudProviderUninstallEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudProviderUninstallEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudProviderUninstallEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudProviderUninstallEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudProviderUninstallEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudProviderUninstallEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ICloudProviderUninstallEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ICloudProviderUninstallEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ICloudProviderUninstallEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ICloudProviderUninstallEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ICloudProviderUninstallEvent_get_Id(This,aId)	\
    ( (This)->lpVtbl -> get_Id(This,aId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudProviderUninstallEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0235 */
/* [local] */ 

#define COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO(smth) HRESULT STDMETHODCALLTYPE get_Id (BSTR * aId) { return smth get_Id (aId); }
#define COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO_OBJ(obj) COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO ((obj)->)
#define COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO_BASE(base) COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO (base::)
#define COM_FORWARD_ICloudProviderUninstallEvent_TO(smth) COM_FORWARD_ICloudProviderUninstallEvent_GETTER_Id_TO (smth) 
#define COM_FORWARD_ICloudProviderUninstallEvent_TO_OBJ(obj) COM_FORWARD_ICloudProviderUninstallEvent_TO ((obj)->)
#define COM_FORWARD_ICloudProviderUninstallEvent_TO_BASE(base) COM_FORWARD_ICloudProviderUninstallEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0235_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0235_v0_0_s_ifspec;

#ifndef __ICloudProfileRegisteredEvent_INTERFACE_DEFINED__
#define __ICloudProfileRegisteredEvent_INTERFACE_DEFINED__

/* interface ICloudProfileRegisteredEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudProfileRegisteredEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6a5e65ba-eeb9-11ea-ae38-73242bc0f172")
    ICloudProfileRegisteredEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderId( 
            /* [retval][out] */ BSTR *aProviderId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Registered( 
            /* [retval][out] */ BOOL *aRegistered) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudProfileRegisteredEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudProfileRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudProfileRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudProfileRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudProfileRegisteredEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudProfileRegisteredEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudProfileRegisteredEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudProfileRegisteredEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICloudProfileRegisteredEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICloudProfileRegisteredEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ICloudProfileRegisteredEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ICloudProfileRegisteredEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ICloudProfileRegisteredEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ICloudProfileRegisteredEvent, get_ProviderId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderId )( 
            ICloudProfileRegisteredEvent * This,
            /* [retval][out] */ BSTR *aProviderId);
        
        DECLSPEC_XFGVIRT(ICloudProfileRegisteredEvent, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICloudProfileRegisteredEvent * This,
            /* [retval][out] */ BSTR *aName);
        
        DECLSPEC_XFGVIRT(ICloudProfileRegisteredEvent, get_Registered)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Registered )( 
            ICloudProfileRegisteredEvent * This,
            /* [retval][out] */ BOOL *aRegistered);
        
        END_INTERFACE
    } ICloudProfileRegisteredEventVtbl;

    interface ICloudProfileRegisteredEvent
    {
        CONST_VTBL struct ICloudProfileRegisteredEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudProfileRegisteredEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudProfileRegisteredEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudProfileRegisteredEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudProfileRegisteredEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudProfileRegisteredEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ICloudProfileRegisteredEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ICloudProfileRegisteredEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ICloudProfileRegisteredEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ICloudProfileRegisteredEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ICloudProfileRegisteredEvent_get_ProviderId(This,aProviderId)	\
    ( (This)->lpVtbl -> get_ProviderId(This,aProviderId) ) 

#define ICloudProfileRegisteredEvent_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#define ICloudProfileRegisteredEvent_get_Registered(This,aRegistered)	\
    ( (This)->lpVtbl -> get_Registered(This,aRegistered) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudProfileRegisteredEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0236 */
/* [local] */ 

#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_ProviderId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProviderId (BSTR * aProviderId) { return smth get_ProviderId (aProviderId); }
#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_ProviderId_TO_OBJ(obj) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_ProviderId_TO ((obj)->)
#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_ProviderId_TO_BASE(base) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_ProviderId_TO (base::)
#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Name_TO (base::)
#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Registered_TO(smth) HRESULT STDMETHODCALLTYPE get_Registered (BOOL * aRegistered) { return smth get_Registered (aRegistered); }
#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Registered_TO_OBJ(obj) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Registered_TO ((obj)->)
#define COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Registered_TO_BASE(base) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Registered_TO (base::)
#define COM_FORWARD_ICloudProfileRegisteredEvent_TO(smth) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_ProviderId_TO (smth) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Name_TO (smth) COM_FORWARD_ICloudProfileRegisteredEvent_GETTER_Registered_TO (smth) 
#define COM_FORWARD_ICloudProfileRegisteredEvent_TO_OBJ(obj) COM_FORWARD_ICloudProfileRegisteredEvent_TO ((obj)->)
#define COM_FORWARD_ICloudProfileRegisteredEvent_TO_BASE(base) COM_FORWARD_ICloudProfileRegisteredEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0236_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0236_v0_0_s_ifspec;

#ifndef __ICloudProfileChangedEvent_INTERFACE_DEFINED__
#define __ICloudProfileChangedEvent_INTERFACE_DEFINED__

/* interface ICloudProfileChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ICloudProfileChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83795a4c-fce1-11ea-8a17-636028ae0be2")
    ICloudProfileChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProviderId( 
            /* [retval][out] */ BSTR *aProviderId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *aName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICloudProfileChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICloudProfileChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICloudProfileChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICloudProfileChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICloudProfileChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICloudProfileChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICloudProfileChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICloudProfileChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ICloudProfileChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICloudProfileChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ICloudProfileChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ICloudProfileChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ICloudProfileChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ICloudProfileChangedEvent, get_ProviderId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderId )( 
            ICloudProfileChangedEvent * This,
            /* [retval][out] */ BSTR *aProviderId);
        
        DECLSPEC_XFGVIRT(ICloudProfileChangedEvent, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICloudProfileChangedEvent * This,
            /* [retval][out] */ BSTR *aName);
        
        END_INTERFACE
    } ICloudProfileChangedEventVtbl;

    interface ICloudProfileChangedEvent
    {
        CONST_VTBL struct ICloudProfileChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICloudProfileChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICloudProfileChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICloudProfileChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICloudProfileChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICloudProfileChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ICloudProfileChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ICloudProfileChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ICloudProfileChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ICloudProfileChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ICloudProfileChangedEvent_get_ProviderId(This,aProviderId)	\
    ( (This)->lpVtbl -> get_ProviderId(This,aProviderId) ) 

#define ICloudProfileChangedEvent_get_Name(This,aName)	\
    ( (This)->lpVtbl -> get_Name(This,aName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICloudProfileChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0237 */
/* [local] */ 

#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO(smth) HRESULT STDMETHODCALLTYPE get_ProviderId (BSTR * aProviderId) { return smth get_ProviderId (aProviderId); }
#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO_OBJ(obj) COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO ((obj)->)
#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO_BASE(base) COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO (base::)
#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO(smth) HRESULT STDMETHODCALLTYPE get_Name (BSTR * aName) { return smth get_Name (aName); }
#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO_OBJ(obj) COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO ((obj)->)
#define COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO_BASE(base) COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO (base::)
#define COM_FORWARD_ICloudProfileChangedEvent_TO(smth) COM_FORWARD_ICloudProfileChangedEvent_GETTER_ProviderId_TO (smth) COM_FORWARD_ICloudProfileChangedEvent_GETTER_Name_TO (smth) 
#define COM_FORWARD_ICloudProfileChangedEvent_TO_OBJ(obj) COM_FORWARD_ICloudProfileChangedEvent_TO ((obj)->)
#define COM_FORWARD_ICloudProfileChangedEvent_TO_BASE(base) COM_FORWARD_ICloudProfileChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0237_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0237_v0_0_s_ifspec;

#ifndef __ILanguageChangedEvent_INTERFACE_DEFINED__
#define __ILanguageChangedEvent_INTERFACE_DEFINED__

/* interface ILanguageChangedEvent */
/* [proxy][oleautomation][dual][object][uuid] */ 


EXTERN_C const IID IID_ILanguageChangedEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("28935887-782b-4c94-8410-ce557b9cfe44")
    ILanguageChangedEvent : public IEvent
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LanguageId( 
            /* [retval][out] */ BSTR *aLanguageId) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ILanguageChangedEventVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ILanguageChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ILanguageChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ILanguageChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ILanguageChangedEvent * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ILanguageChangedEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ILanguageChangedEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ILanguageChangedEvent * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(IEvent, get_Type)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ILanguageChangedEvent * This,
            /* [retval][out] */ VBoxEventType *aType);
        
        DECLSPEC_XFGVIRT(IEvent, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ILanguageChangedEvent * This,
            /* [retval][out] */ IEventSource **aSource);
        
        DECLSPEC_XFGVIRT(IEvent, get_Waitable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waitable )( 
            ILanguageChangedEvent * This,
            /* [retval][out] */ BOOL *aWaitable);
        
        DECLSPEC_XFGVIRT(IEvent, SetProcessed)
        HRESULT ( STDMETHODCALLTYPE *SetProcessed )( 
            ILanguageChangedEvent * This);
        
        DECLSPEC_XFGVIRT(IEvent, WaitProcessed)
        HRESULT ( STDMETHODCALLTYPE *WaitProcessed )( 
            ILanguageChangedEvent * This,
            /* [in] */ LONG aTimeout,
            /* [retval][out] */ BOOL *aResult);
        
        DECLSPEC_XFGVIRT(ILanguageChangedEvent, get_LanguageId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LanguageId )( 
            ILanguageChangedEvent * This,
            /* [retval][out] */ BSTR *aLanguageId);
        
        END_INTERFACE
    } ILanguageChangedEventVtbl;

    interface ILanguageChangedEvent
    {
        CONST_VTBL struct ILanguageChangedEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ILanguageChangedEvent_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ILanguageChangedEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ILanguageChangedEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ILanguageChangedEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ILanguageChangedEvent_get_Type(This,aType)	\
    ( (This)->lpVtbl -> get_Type(This,aType) ) 

#define ILanguageChangedEvent_get_Source(This,aSource)	\
    ( (This)->lpVtbl -> get_Source(This,aSource) ) 

#define ILanguageChangedEvent_get_Waitable(This,aWaitable)	\
    ( (This)->lpVtbl -> get_Waitable(This,aWaitable) ) 

#define ILanguageChangedEvent_SetProcessed(This)	\
    ( (This)->lpVtbl -> SetProcessed(This) ) 

#define ILanguageChangedEvent_WaitProcessed(This,aTimeout,aResult)	\
    ( (This)->lpVtbl -> WaitProcessed(This,aTimeout,aResult) ) 


#define ILanguageChangedEvent_get_LanguageId(This,aLanguageId)	\
    ( (This)->lpVtbl -> get_LanguageId(This,aLanguageId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ILanguageChangedEvent_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0238 */
/* [local] */ 

#define COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO(smth) HRESULT STDMETHODCALLTYPE get_LanguageId (BSTR * aLanguageId) { return smth get_LanguageId (aLanguageId); }
#define COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO_OBJ(obj) COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO ((obj)->)
#define COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO_BASE(base) COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO (base::)
#define COM_FORWARD_ILanguageChangedEvent_TO(smth) COM_FORWARD_ILanguageChangedEvent_GETTER_LanguageId_TO (smth) 
#define COM_FORWARD_ILanguageChangedEvent_TO_OBJ(obj) COM_FORWARD_ILanguageChangedEvent_TO ((obj)->)
#define COM_FORWARD_ILanguageChangedEvent_TO_BASE(base) COM_FORWARD_ILanguageChangedEvent_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0238_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0238_v0_0_s_ifspec;

#ifndef __IVBoxSVCRegistration_INTERFACE_DEFINED__
#define __IVBoxSVCRegistration_INTERFACE_DEFINED__

/* interface IVBoxSVCRegistration */
/* [proxy][oleautomation][object][uuid] */ 


EXTERN_C const IID IID_IVBoxSVCRegistration;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9e106366-4521-44cc-df95-186e4d057c83")
    IVBoxSVCRegistration : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetVirtualBox( 
            /* [retval][out] */ IUnknown **aResult) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVBoxSVCRegistrationVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVBoxSVCRegistration * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVBoxSVCRegistration * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVBoxSVCRegistration * This);
        
        DECLSPEC_XFGVIRT(IVBoxSVCRegistration, GetVirtualBox)
        HRESULT ( STDMETHODCALLTYPE *GetVirtualBox )( 
            IVBoxSVCRegistration * This,
            /* [retval][out] */ IUnknown **aResult);
        
        END_INTERFACE
    } IVBoxSVCRegistrationVtbl;

    interface IVBoxSVCRegistration
    {
        CONST_VTBL struct IVBoxSVCRegistrationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVBoxSVCRegistration_GetVirtualBox(This,aResult)	\
    ( (This)->lpVtbl -> GetVirtualBox(This,aResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVBoxSVCRegistration_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0239 */
/* [local] */ 

#define COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO(smth) HRESULT STDMETHODCALLTYPE GetVirtualBox (IUnknown * * aResult) { return smth GetVirtualBox (aResult); }
#define COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO_OBJ(obj) COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO ((obj)->)
#define COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO_BASE(base) COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO (base::)
#define COM_FORWARD_IVBoxSVCRegistration_TO(smth) COM_FORWARD_IVBoxSVCRegistration_GetVirtualBox_TO (smth) 
#define COM_FORWARD_IVBoxSVCRegistration_TO_OBJ(obj) COM_FORWARD_IVBoxSVCRegistration_TO ((obj)->)
#define COM_FORWARD_IVBoxSVCRegistration_TO_BASE(base) COM_FORWARD_IVBoxSVCRegistration_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0239_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0239_v0_0_s_ifspec;

#ifndef __IVirtualBoxSDS_INTERFACE_DEFINED__
#define __IVirtualBoxSDS_INTERFACE_DEFINED__

/* interface IVirtualBoxSDS */
/* [proxy][oleautomation][object][uuid] */ 


EXTERN_C const IID IID_IVirtualBoxSDS;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("890ed3dc-cc19-43fa-8ebf-baecb6b9ec87")
    IVirtualBoxSDS : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE RegisterVBoxSVC( 
            /* [in] */ IVBoxSVCRegistration *aVboxSVC,
            /* [in] */ LONG aPid,
            /* [retval][out] */ IUnknown **aExistingVirtualBox) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeregisterVBoxSVC( 
            /* [in] */ IVBoxSVCRegistration *aVboxSVC,
            /* [in] */ LONG aPid) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LaunchVMProcess( 
            /* [in] */ BSTR aMachine,
            /* [in] */ BSTR aComment,
            /* [in] */ BSTR aFrontend,
            /* [in] */ SAFEARRAY * aEnvironmentChanges,
            /* [in] */ BSTR aCmdOptions,
            /* [in] */ ULONG aSessionId,
            /* [retval][out] */ ULONG *aPid) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVirtualBoxSDSVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVirtualBoxSDS * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVirtualBoxSDS * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVirtualBoxSDS * This);
        
        DECLSPEC_XFGVIRT(IVirtualBoxSDS, RegisterVBoxSVC)
        HRESULT ( STDMETHODCALLTYPE *RegisterVBoxSVC )( 
            IVirtualBoxSDS * This,
            /* [in] */ IVBoxSVCRegistration *aVboxSVC,
            /* [in] */ LONG aPid,
            /* [retval][out] */ IUnknown **aExistingVirtualBox);
        
        DECLSPEC_XFGVIRT(IVirtualBoxSDS, DeregisterVBoxSVC)
        HRESULT ( STDMETHODCALLTYPE *DeregisterVBoxSVC )( 
            IVirtualBoxSDS * This,
            /* [in] */ IVBoxSVCRegistration *aVboxSVC,
            /* [in] */ LONG aPid);
        
        DECLSPEC_XFGVIRT(IVirtualBoxSDS, LaunchVMProcess)
        HRESULT ( STDMETHODCALLTYPE *LaunchVMProcess )( 
            IVirtualBoxSDS * This,
            /* [in] */ BSTR aMachine,
            /* [in] */ BSTR aComment,
            /* [in] */ BSTR aFrontend,
            /* [in] */ SAFEARRAY * aEnvironmentChanges,
            /* [in] */ BSTR aCmdOptions,
            /* [in] */ ULONG aSessionId,
            /* [retval][out] */ ULONG *aPid);
        
        END_INTERFACE
    } IVirtualBoxSDSVtbl;

    interface IVirtualBoxSDS
    {
        CONST_VTBL struct IVirtualBoxSDSVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVirtualBoxSDS_RegisterVBoxSVC(This,aVboxSVC,aPid,aExistingVirtualBox)	\
    ( (This)->lpVtbl -> RegisterVBoxSVC(This,aVboxSVC,aPid,aExistingVirtualBox) ) 

#define IVirtualBoxSDS_DeregisterVBoxSVC(This,aVboxSVC,aPid)	\
    ( (This)->lpVtbl -> DeregisterVBoxSVC(This,aVboxSVC,aPid) ) 

#define IVirtualBoxSDS_LaunchVMProcess(This,aMachine,aComment,aFrontend,aEnvironmentChanges,aCmdOptions,aSessionId,aPid)	\
    ( (This)->lpVtbl -> LaunchVMProcess(This,aMachine,aComment,aFrontend,aEnvironmentChanges,aCmdOptions,aSessionId,aPid) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVirtualBoxSDS_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_VirtualBox_0000_0240 */
/* [local] */ 

#define COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO(smth) HRESULT STDMETHODCALLTYPE RegisterVBoxSVC (IVBoxSVCRegistration * aVboxSVC, LONG aPid, IUnknown * * aExistingVirtualBox) { return smth RegisterVBoxSVC (aVboxSVC, aPid, aExistingVirtualBox); }
#define COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO_OBJ(obj) COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO_BASE(base) COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO (base::)
#define COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO(smth) HRESULT STDMETHODCALLTYPE DeregisterVBoxSVC (IVBoxSVCRegistration * aVboxSVC, LONG aPid) { return smth DeregisterVBoxSVC (aVboxSVC, aPid); }
#define COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO_OBJ(obj) COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO_BASE(base) COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO (base::)
#define COM_FORWARD_IVirtualBoxSDS_LaunchVMProcess_TO(smth) HRESULT STDMETHODCALLTYPE LaunchVMProcess (BSTR aMachine, BSTR aComment, BSTR aFrontend, SAFEARRAY * * aEnvironmentChanges, BSTR aCmdOptions, ULONG aSessionId, ULONG * aPid) { return smth LaunchVMProcess (aMachine, aComment, aFrontend, aEnvironmentChanges, aCmdOptions, aSessionId, aPid); }
#define COM_FORWARD_IVirtualBoxSDS_LaunchVMProcess_TO_OBJ(obj) COM_FORWARD_IVirtualBoxSDS_LaunchVMProcess_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxSDS_LaunchVMProcess_TO_BASE(base) COM_FORWARD_IVirtualBoxSDS_LaunchVMProcess_TO (base::)
#define COM_FORWARD_IVirtualBoxSDS_TO(smth) COM_FORWARD_IVirtualBoxSDS_RegisterVBoxSVC_TO (smth) COM_FORWARD_IVirtualBoxSDS_DeregisterVBoxSVC_TO (smth) COM_FORWARD_IVirtualBoxSDS_LaunchVMProcess_TO (smth) 
#define COM_FORWARD_IVirtualBoxSDS_TO_OBJ(obj) COM_FORWARD_IVirtualBoxSDS_TO ((obj)->)
#define COM_FORWARD_IVirtualBoxSDS_TO_BASE(base) COM_FORWARD_IVirtualBoxSDS_TO (base::)


extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0240_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_VirtualBox_0000_0240_v0_0_s_ifspec;


#ifndef __VirtualBox_LIBRARY_DEFINED__
#define __VirtualBox_LIBRARY_DEFINED__

/* library VirtualBox */
/* [helpstring][version][uuid] */ 

#define VBOX_E_OBJECT_NOT_FOUND ((HRESULT)0x80BB0001)
#define VBOX_E_INVALID_VM_STATE ((HRESULT)0x80BB0002)
#define VBOX_E_VM_ERROR ((HRESULT)0x80BB0003)
#define VBOX_E_FILE_ERROR ((HRESULT)0x80BB0004)
#define VBOX_E_IPRT_ERROR ((HRESULT)0x80BB0005)
#define VBOX_E_PDM_ERROR ((HRESULT)0x80BB0006)
#define VBOX_E_INVALID_OBJECT_STATE ((HRESULT)0x80BB0007)
#define VBOX_E_HOST_ERROR ((HRESULT)0x80BB0008)
#define VBOX_E_NOT_SUPPORTED ((HRESULT)0x80BB0009)
#define VBOX_E_XML_ERROR ((HRESULT)0x80BB000A)
#define VBOX_E_INVALID_SESSION_STATE ((HRESULT)0x80BB000B)
#define VBOX_E_OBJECT_IN_USE ((HRESULT)0x80BB000C)
#define VBOX_E_PASSWORD_INCORRECT ((HRESULT)0x80BB000D)
#define VBOX_E_MAXIMUM_REACHED ((HRESULT)0x80BB000E)
#define VBOX_E_GSTCTL_GUEST_ERROR ((HRESULT)0x80BB000F)
#define VBOX_E_TIMEOUT ((HRESULT)0x80BB0010)
#define VBOX_E_DND_ERROR ((HRESULT)0x80BB0011)
#define VBOX_E_PLATFORM_ARCH_NOT_SUPPORTED ((HRESULT)0x80BB0012)
#define VBOX_E_RECORDING_ERROR ((HRESULT)0x80BB0013)

































































































































































































































































































































































































EXTERN_C const IID LIBID_VirtualBox;

EXTERN_C const CLSID CLSID_VirtualBox;

#ifdef __cplusplus

class DECLSPEC_UUID("B1A7A4F2-47B9-4A1E-82B2-07CCD5323C3F")
VirtualBox;
#endif

EXTERN_C const CLSID CLSID_VirtualBoxClient;

#ifdef __cplusplus

class DECLSPEC_UUID("dd3fc71d-26c0-4fe1-bf6f-67f633265bba")
VirtualBoxClient;
#endif

EXTERN_C const CLSID CLSID_Session;

#ifdef __cplusplus

class DECLSPEC_UUID("3C02F46D-C9D2-4F11-A384-53F0CF917214")
Session;
#endif

EXTERN_C const CLSID CLSID_VirtualBoxSDS;

#ifdef __cplusplus

class DECLSPEC_UUID("74ab5ffe-8726-4435-aa7e-876d705bcba5")
VirtualBoxSDS;
#endif
#endif /* __VirtualBox_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  LPSAFEARRAY_UserSize(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
void                      __RPC_USER  LPSAFEARRAY_UserFree(     unsigned long *, LPSAFEARRAY * ); 

unsigned long             __RPC_USER  BSTR_UserSize64(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal64(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal64(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree64(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  LPSAFEARRAY_UserSize64(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal64(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal64(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
void                      __RPC_USER  LPSAFEARRAY_UserFree64(     unsigned long *, LPSAFEARRAY * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif



#pragma warning(pop)

